Amazon Bedrock AgentCore を使用した AI 駆動の AWS サポートコンパニオンの構築
この記事では、Amazon Bedrock AgentCore を使用して AWS サポートコンパニオンを構築する方法を説明します。エージェントは Strands Agents をオーケストレーションフレームワークとして使用し、モデルコンテキストプロトコル (MCP) を介して AWS サービスに接続します。最終的に、CloudWatch ログの分析、AWS ドキュメントの検索、AWS re:Post からのコミュニティ知識のクエリ、サポートケースの作成をすべて単一の会話インターフェースから行えるエージェントが完成します。ソリューションは AWS CloudFormation を使用した単一のスクリプトでデプロイされ、AWS Amplify 上に構築された Web フロントエンドが含まれます。
AWS インフラストラクチャの管理では、エンジニアは複数のコンソールを行き来し、ドキュメントを検索し、手動でサポートケースを作成する必要があります。インシデントごとに、エンジニアは AWS マネジメントコンソールを開き、Amazon CloudWatch を確認し、AWS ドキュメントを検索し、コミュニティの投稿を確認し、サポートケースを提出します。このコンテキストスイッチングにより、解決作業を開始する前に調査ごとに 30 ~ 45 分かかります。
この記事では、Amazon Bedrock AgentCore を使用して AWS サポートコンパニオンを構築します。エージェントは Strands Agents をオーケストレーションフレームワークとして使用し、モデルコンテキストプロトコル (MCP) を介して AWS サービスに接続します。最終的に、CloudWatch ログの分析、AWS ドキュメントの検索、AWS re:Post からのコミュニティ知識のクエリ、サポートケースの作成をすべて単一の会話インターフェースから行えるエージェントが完成します。ソリューションは AWS CloudFormation を使用した単一のスクリプトでデプロイされ、AWS Amplify 上に構築された Web フロントエンドが含まれます。
インシデント調査のボトルネック
AWS のサポートおよび運用チームは、インシデントごとに同じパターンを繰り返します。
- AWS マネジメントコンソールを開き、影響を受けるサービスに移動。
- CloudWatch ログとメトリクスを確認してエラーパターンを特定。
- AWS ドキュメントを検索して関連するトラブルシューティングガイダンスを取得。
- AWS re:Post のコミュニティ投稿を確認して類似の問題を調査。
- 調査結果をまとめ、適切な重大度でサポートケースを作成。
- ケースに証拠とコンテキストを添付。
各ステップには異なるツールとインターフェースが必要です。手動調査ではチームの対応速度が制限され、あるツールで収集したコンテキストは次のツールに引き継がれません。
ソリューション概要
このソリューションは、これらのステップを Amazon Bedrock AgentCore にデプロイされた単一の会話エージェントに統合します。AgentCore は、運用中の AI エージェントの複雑さ(セッション分離、自動スケーリング、セキュリティ、可観測性)を処理するため、エージェントの実行方法ではなく、エージェントの機能に集中できます。
エージェントは以下のコンポーネントに接続します。
- エージェントランタイム: Strands Agents を使用した Python アプリケーションで、Docker コンテナとしてパッケージ化され、AgentCore Runtime にデプロイされます。エージェントは、入力に基づいて基礎モデル (FM)(Amazon Bedrock 経由の Amazon Nova Pro)とツールへの呼び出しを調整します。エージェントコードを変更せずに、サポートされているモデルに切り替えることができます。
- MCP サーバー: 3 つの MCP サーバーにより、エージェントは AWS ドキュメント (aws-documentation-mcp-server)、AWS サポート API (aws-support-mcp-server)、AWS サービス API (aws-api-mcp-server) にアクセスできます。MCP は、AI エージェントが外部ツールからコンテキストを受け取るための標準プロトコルを提供します。
- AgentCore Gateway: ツールを再利用可能で安全なエンドポイントに集中化します。ゲートウェイは、AWS Lambda バッキングターゲットと Amazon Cognito JSON Web トークン (JWT) 認証を介して、AWS re:Post のコミュニティ知識へのアクセスを提供します。
- AgentCore Memory: 短期の会話コンテキストを維持し、エージェントがセッション内の以前のトラブルシューティング手順に基づいて構築できるようにします。
- API とフロントエンドレイヤー: Cognito 認証、AWS WAF レート制限、リクエスト検証を備えた Amazon API Gateway が、AgentCore Runtime を呼び出す Lambda 関数の前面に配置されます。AWS Amplify でホストされた React アプリケーションがユーザーインターフェースを提供し、Cognito 認証によるサインアップとサインインをサポートします。
- Guardrails: Amazon Bedrock Guardrails 設定により、有害なコンテンツをフィルタリングし、プロンプトインジェクション攻撃をブロックし、個人を特定できる情報 (PII)(AWS キー、クレジットカード、社会保障番号など)を編集し、エージェントを AWS サポートトピックに制限します。
- インフラストラクチャ: 単一の CloudFormation テンプレートが、AWS Identity and Access Management (IAM) ロール、Cognito ユーザープール、AWS Key Management Service (AWS KMS) キー、AWS Secrets Manager シークレット、AWS Systems Manager Parameter Store パラメーターを含むすべてのリソースをデプロイします。
デプロイ手順
デプロイは単一のスクリプトで行われ、すべてのインフラストラクチャをプロビジョニングし、コンテナをビルドし、必要な設定値を出力します。まずリポジトリをクローンし、AWS 認証情報を設定し、デプロイスクリプトを実行します。デプロイスクリプトには、デプロイ前のセキュリティ検証、ECR リポジトリの作成、Docker イメージのビルド、CloudFormation スタックのデプロイが含まれます。完了後、スクリプトはフロントエンドに必要な設定値を出力します。
次に、Amplify フロントエンドをデプロイします。AWS Amplify コンソールに移動し、サポートエージェントフロントエンドアプリを選択し、更新をデプロイしてフロントエンド ZIP ファイルをアップロードします。次に、CloudFormation の出力値を使用してフロントエンドを設定し、ユーザーアカウントを作成してログインすると、エージェントと対話できるようになります。
エージェントコードは BedrockAgentCoreApp フレームワークを使用し、コールドスタート時間を短縮するための並列 MCP 初期化、適切なタイムアウトを備えたメモリ管理、自動ゲートウェイトークンリフレッシュなどの主要なパターンを実装しています。
セキュリティに関する考慮事項
このソリューションは、デフォルトで複数のセキュリティレイヤーを備えてデプロイされます。認証には Amazon Cognito を使用し、パスワードポリシーは NIST SP 800-63B に準拠しています。AWS WAF はレート制限とマネージドルールセットで API Gateway を保護します。各コンポーネントには最小権限の IAM ロールがあり、エージェント呼び出し元 Lambda は応答をユーザーに返す前に資格情報パターンを編集します。Amazon Bedrock Guardrails は有害なコンテンツをフィルタリングし、プロンプトインジェクションをブロックし、PII を編集し、エージェントを AWS サポートトピックに制限します。API Gateway アクセスログは Amazon CloudWatch に送信され 90 日間保持され、AWS CloudTrail が API 呼び出しをキャプチャします。
クリーンアップ
継続的な料金を回避するには、次の順序でリソースを削除します。Amplify アプリを削除し、CloudFormation スタックを削除し、ECR リポジトリを削除し、CloudFormation テンプレート用の S3 バケットを削除します。
まとめ
この記事では、Amazon Bedrock AgentCore を使用して AI 駆動の AWS サポートコンパニオンを構築しました。エージェントは、基礎モデルの推論と、MCP および AgentCore Gateway を介した AWS ドキュメント、サポート API、コミュニティ知識へのリアルタイムアクセスを組み合わせています。ソリューションは単一のスクリプトでデプロイされ、認証、レート制限、暗号化、ガードレール、監査ログが含まれています。エージェントは複数の調査ツールを単一の会話インターフェースに統合するため、エンジニアはコンソールを切り替えることなく、問題の特定からサポートケースの作成までを移行できます。サンプルリポジトリには、ネットワーク分離、マルチアカウントデプロイ、可観測性、人間によるエスカレーションしきい値、シークレットローテーションに関する追加のガイダンスが含まれています。完全マネージド型のインシデント調査サービスが必要な場合は、AWS DevOps Agent を参照してください。