Upgrade to Pro — share decks privately, control downloads, hide ads and more …

社内勉強会 Amazon Q Developerを使った業務効率化

Avatar for Cold-Airflow Cold-Airflow
October 08, 2025
190

社内勉強会 Amazon Q Developerを使った業務効率化

Avatar for Cold-Airflow

Cold-Airflow

October 08, 2025
Tweet

Transcript

  1. © NHN Techorus Corp. 自己紹介 2 名前:辻 気流(@Tsuji.Kiryu) 所属:マーケティング本部 CloudLead

    チーム 経歴 • 情報系の専門学校 卒業 • 2021/04 NHN テコラス 新卒入社(今年 5年目) Tech Blog
  2. © NHN Techorus Corp. Amazon Q Developer の簡単な概要 4 概要

    CL Account AWS IAM Identity Center AWS account Amazon Q 実行環境 Team Account Management account • AWS 提供の生成AI 搭載開発者向けAIアシスタント • IDE プラグイン / CLI / AWS コンソールとの連携に 対応し、日常のコーディングや運用タスクに自然言語 で指示可能 • MCP と連携することで質問に対し、関連ドキュメン ト・AWSアカウントのリソース状況を踏まえた回答や 手順を自動生成 組織 インスタンス AWS IAM Identity Center メンバー インスタンス ローカルPC 料金 • Q Developer 無料利用枠 • IDE や CLI でのコード補完セキュリティスキャン などの基本機能が利用可能 • 高度な機能の利用には制限あり • Q Developer Pro • 19USD/ユーザー • アプリ機能の自動構築、コード変換・移行の自動 化、データ統合・モデル構築支援などの高度な機 能が無制限で利用可能
  3. © NHN Techorus Corp. 活用ユースケース 3選 6 ユースケース 1. 設計書の作成(AWS

    Cloud Control API MCP Server) 2. 手順書の作成(AWS Documentation MCP Server) 3. 障害調査(CloudWatch MCP サーバー) MCP サーバー モデルコンテキストプロトコル(MCP)は、LLMアプリケーションと外部データソースおよびツールとのシームレスな 統合を可能にするオープンプロトコルです。 AWS Cloud Control API MCP Server AWS Cloud Control API と、Infrastructure as Code のベストプラクティスを備えた IaC ジェネレーターを使用して、 LLM が自然言語で 1,100 を超える AWS リソースを直接作成および管理できるようにします。 AWS Documentation MCP Server AWS ドキュメントにアクセスし、コンテンツを検索し、推奨事項を取得するためのツールを提供します。 CloudWatch MCP Server CloudWatch 向けのトラブルシューティングエージェントが CloudWatch データを使用して AI を活用した根本原因分 析を行い、推奨事項を提供できるようにします。
  4. © NHN Techorus Corp. 活用ユースケース 1:設計書作成(1/3) 7 課題 • 既存環境の設計書が不明で、現状把握に時間がかかる

    • 新規構築ではなく、運用中の不明な現環境を明らかにする必要がある • 環境複製時に必要な設定情報の整理が手作業で煩雑 ユースケースの概要 既存AWSリソースからの設計書自動生成 活用法 • 段階的な設計書作成 • 実装可能な成果物の生成 • 複製手順書の作成 • CloudFormation テンプレートの自動生成 • 検証環境構築用の IaC コード提供 効果 • 現状把握の効率化:複数のAWSリソースを横断して自動調査・文書化 • 実装までの一気通貫:設計書→手順書 評価:◦
  5. © NHN Techorus Corp. 活用ユースケース 1:設計書作成(2/3) 8 インプット アウトプット 以下に関連するリソース群の設計書を作成してください。

    • ALB:arn:aws:elasticloadbalancing:us-east- 1:148761661473:loadbalancer/app/tuji-waf-alb- ALB/914b714b1decf25f • EC2:i-07abe117faa094e25 • WAF:arn:aws:wafv2:us-east- 1:148761661473:regional/webacl/tuji-waf-alb- acl/6260d1b7-2409-4b99-9630-f7ac595a2cb6
  6. © NHN Techorus Corp. 活用ユースケース 1:設計書作成(3/3) 9 # AWS インフラストラクチャ設計書

    ## 概要 本設計書は、ALB、EC2、WAF で構成される Web アプリケーション基盤の設計を記載します。 ## アーキテクチャ図 Internet ↓ [WAF v2] ↓ [ALB] → [EC2 Instance] ## リソース構成 ### 1. Application Load Balancer (ALB) - **名前**: tuji-waf-alb-ALB - **ARN**: arn:aws:elasticloadbalancing:us-east-1:148761661473:loadbalancer/app/tuji-waf-alb- ALB/914b714b1decf25f - **DNS 名**: tuji-waf-alb-ALB-1013184334.us-east-1.elb.amazonaws.com - **スキーム**: internet-facing - **IP アドレスタイプ**: IPv4 - **サブネット**: - subnet-0d931c2f9f2e4c505 - subnet-0ca1b670c760e58c3 - **セキュリティグループ**: sg-08624922bf862ab39 - **主要設定**: - クロスゾーン負荷分散: 有効 - HTTP/2: 有効 - アイドルタイムアウト: 60 秒 - WAF fail open: 無効(セキュリティ重視) ### 2. EC2 Instance - **インスタンス ID**: i-07abe117faa094e25 - **名前**: tuji-fso-wp - **インスタンスタイプ**: t3.micro - **AMI**: ami-0e95a5e2743ec9ec9 - **アベイラビリティゾーン**: us-east-1c - **VPC**: vpc-0cc2be2ffe541de4a - **サブネット**: subnet-0ca1b670c760e58c3 - **プライベート IP**: 10.0.1.11 - **パブリック IP**: 13.219.27.63 - **セキュリティグループ**: sg-08ff797b1a5c72ad2 - **IAM ロール**: tuji-waf-alb-MyInstanceProfile - **ストレージ**: 8GB gp2 EBS - **ユーザーデータ**: Apache HTTPD のインストールと設定 ### 3. WAF v2 Web ACL - **名前**: tuji-waf-alb-acl - **ARN**: arn:aws:wafv2:us-east-1:148761661473:regional/webacl/tuji-waf-alb-acl/6260d1b7-2409-4b99-9630-f7ac595a2cb6 - **スコープ**: Regional (ALB 用) - **関連付け**: ALB に関連付け済み ## セキュリティ設計 ### ネットワークセキュリティ - WAF による悪意のあるトラフィックのフィルタリング - ALB セキュリティグループによるアクセス制御 - EC2 セキュリティグループによる内部通信制御 ### アクセス制御 - インターネット → WAF → ALB → EC2 の順でトラフィック制御 - EC2 インスタンスはプライベートサブネット配置推奨 ## 可用性設計 - ALB は複数のアベイラビリティゾーンに配置 - クロスゾーン負荷分散により高可用性を確保 - 現在は EC2 インスタンス 1 台構成(単一障害点) ## 運用・監視 - ALB アクセスログ: 現在無効 - CloudWatch メトリクス監視 - WAF ログ監視 ## 改善提案 ### 高可用性 1. EC2 インスタンスの複数 AZ 配置 2. Auto Scaling Group の導入 3. RDS マルチ AZ 構成の検討 ### セキュリティ 1. ALB アクセスログの有効化 2. WAF ログの有効化と CloudWatch Logs への送信 3. EC2 インスタンスのプライベートサブネット配置 ### 監視・運用 1. CloudWatch Alarms の設定 2. AWS Config による設定変更監視 3. AWS Systems Manager Session Manager の活用 ## タグ戦略 - owner: tuji - Name: 各リソースに適切な命名 - 環境タグ(dev/staging/prod)の追加推奨 ## コスト最適化 - t3.micro インスタンスの適切なサイジング確認 - 不要なリソースの定期的な見直し - Reserved Instances の検討(本番環境)
  7. © NHN Techorus Corp. 活用ユースケース 2:手順書の作成(1/2) 10 課題 • 手順書作成が手間で効率化したい

    • 顧客や社内向けの技術手順書を作成する際の工数削減が必要 ユースケースの概要 AWS IAMスイッチロール設定手順書の自動生成 活用法 • AWS CLI 版手順書の生成 • Q Developer に具体的な要件(アカウントID、ロール名、ポリシー)を入力 • 技術的な手順を自動生成 • コンソール操作版手順書の生成 • CLI 版だけでは使いづらい場合に、GUI 操作手順も追加生成 • より実用的な手順書として活用 効果 • 手順書作成の効率化:従来手動で作成していた技術手順書を自動生成 • 実用性の向上:CLI 版とコンソール版の両方を提供可能 • カスタマイズ性:実際の環境やリソースを元にした具体的な手順書作成が可能 • 品質向上:細かい考慮事項なども含めた包括的な手順書が期待できる Tech Blogで公開した記事が あるのでこれで検証 評価:◦
  8. © NHN Techorus Corp. 活用ユースケース 2:手順書の作成(2/2) 11 インプット アウトプット ①

    ② ③ 「148761661473」のアカウントから「727646478419」へ スイッチロールを作成する手順を作ってください。 要件は以下の通りです。 ロール名:SwitchRole ポリシー:ReadOnlyAccess
  9. © NHN Techorus Corp. 活用ユースケース 3:障害調査(1/2) 12 課題 • 従来の手動調査では情報収集と分析に多くの工数が必要

    ユースケースの概要 AWS Lambda 障害の自動調査・原因分析 活用法 • 段階的な障害調査の自動化 • AWS 認証情報の確認 • EC2 インスタンスと Lambda 関数の状態確認 • CloudWatch ログの自動取得・分析 • エラーメッセージの特定と根本原因分析 効果 • 調査スピードの向上:必要な情報収集を自動化 • 包括的な分析:複数の AWS サービス(Lambda、CloudWatch、EC2)を横断した調査 • エラーログの自動抽出:大量のログから関連するエラーメッセージを特定 評価:△
  10. © NHN Techorus Corp. 活用ユースケース 3:障害調査(2/2) 13 インプット アウトプット ##

    根本原因の分析結果 調査結果から、MCP Lambda関数の接続エラーの根本原因が特定できました: ### **主要な問題** 1. **MCPクライアント初期化の失敗** - `MCPClientInitializationError: background thread did not start in 30 seconds` - `MCPClientInitializationError: the client initialization failed` - `mcp.shared.exceptions.McpError: Connection closed` 2. **ファイルシステムの制約** - `Read-only file system: '/home/sbx_user1051'` - S3 Tables MCPサーバーがログファイルを作成できない 3. **実行時間の問題** - 最大実行時間: 71,784ms (約72秒) - Lambda関数のタイムアウト設定: 900秒(15分) ### **根本原因** 1. **MCPサーバーの初期化タイムアウト**: MCPクライアントが30秒以内にバックグラウンドスレッドを開始できない 2. **ファイルシステム権限**: Lambda実行環境でMCPサーバーがログディレクトリに書き込めない 3. **接続の不安定性**: MCP接続が予期せず閉じられる ### **推奨対策** 1. **環境変数の設定**: MCP_LOG_LEVEL=ERROR MCP_LOG_DIR=/tmp 2. **タイムアウト設定の調整**: - MCPクライアントの初期化タイムアウトを60秒に延長 3. **リトライ機構の実装**: - MCP接続失敗時の自動リトライ 4. **ヘルスチェック機能の追加**: - MCP接続状態の定期的な監視 これらの対策により、MCP接続の安定性が大幅に改善されるはずです。 MCP Lambda関数で接続エラーが発生しています。根本原因の調 査をお願いします。 症状: GenU の MCP が「MCP サーバーと接続しています。時間がかか る場合があります。そのまま待機してください...」と表示され応答 なし 発生時刻: 2025年8月20日 11:00 ~ 11:30 JST 環境: Lambda関数名: GenerativeAiUseCasesStack- McpApiMcpFunction38B7E85-jgT76ZJTLc05 AWS Account: 148761661473, Region: us-east-1 EC2: i-016d770ca6268f48a でCDKデプロイ実行中 調査方針: まずLambda関数の現在の設定とリソース制限を確認 CloudWatchログで具体的なエラーメッセージとタイミングを特 定 MCP接続プロセスのボトルネックを分析 環境固有の制約要因を調査
  11. © NHN Techorus Corp. まとめ • MSP 領域の作業でも Q Developer

    は活躍できる • うまく刺さるユースケースがあれば作業短縮は期待できる 効果的なユースケース 検討が必要なユースケース • 大量に何かをやらせるケース • 人手だと時間がかかること • MCP サーバーで用意されている操作 • https://awslabs.github.io/mcp/ • コンテキスト量が多い内容 • CloudTrail MCP を使った調査 • 推移的なことをさせたい場合 • 推移先の情報も渡す必要がある まずは社内の検証環境で利用をはじめてみてはいかがでしょうか。
  12. n h n - t e c h o r

    u s . c o m 16