View a markdown version of this page

Amazon Bedrock エージェントと を使用して Amazon EC2 コンプライアンス管理を合理化する AWS Config - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Bedrock エージェントと を使用して Amazon EC2 コンプライアンス管理を合理化する AWS Config

Anand Bukkapatnam Tirumala (Amazon Web Services)

概要

このパターンでは、Amazon Bedrock を AWS Config ルールと統合して、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのコンプライアンス管理を容易にする方法について説明します。このアプローチでは、高度な生成 AI 機能を使用して、AWS Well-Architected フレームワークに沿った、カスタマイズされた推奨事項を提供することで、インスタンスタイプの選択とシステム効率を最適化できるようにします。このパターンの主な特徴は以下のとおりです。

  • 自動コンプライアンスモニタリング: AWS Config ルールは、必要なインスタンスタイプの事前定義された基準に照らして EC2 インスタンスを継続的に評価します。

  • AI 主導の推奨事項: Amazon Bedrock の生成 AI モデルはインフラストラクチャパターンを分析します。これらのモデルは、 AWS Well-Architected フレームワークで概説されているベストプラクティスに基づいて、改善のためのインテリジェントな提案を提供します。

  • 修復: Amazon Bedrock アクショングループを使用すると、非準拠インスタンスに迅速に対処し、パフォーマンスやコストの潜在的な非効率性を最小限に抑える自動修復手順が可能になります。

  • スケーラビリティと適応性: このソリューションは、インフラストラクチャに合わせてスケールし、クラウドアーキテクチャのニーズの変化に適応するように設計されています。

  • セキュリティに関する推奨事項の強化: AWS Well-Architected の原則への準拠は、セキュリティ体制とシステムパフォーマンスの向上に役立ちます。

このパターンをブループリントとして使用し、必要に応じて DevOps プラクティスを使用することで、独自の生成 AI ベースのインフラストラクチャを最小限の変更で複数の環境にデプロイできます。

前提条件と制限

前提条件

  • アクティブ AWS アカウント。

  • Amazon Simple Storage Service AWS Identity and Access Management (Amazon S3) バケット、 AWS Lambda 関数、Amazon Bedrock AWS Config、IAM、Amazon CloudWatch Logs、および Amazon EC2 でリソースを作成および管理するためのアクセス許可を持つ (IAM) ロール。

  • 非準拠としてフラグ付けする EC2 インスタンス。このインスタンスには t2.small タイプを使用しないでください。

  • で有効になっている Amazon Titan Text Embeddings V2 および Anthropic Claude 3 Haiku モデル AWS アカウント。ソリューションをデプロイ AWS リージョン する のモデルアクセスを有効にするには、Amazon Bedrock ドキュメントの「Amazon Bedrock 基盤モデルへのアクセスを追加または削除する」を参照してください。

  • インストールされ、設定されている Terraform

  • デプロイ環境にインストールされ、設定されている AWS Command Line Interface (AWS CLI) v2。

  • Amazon Responsible AI ポリシーのレビューが完了していること。

制限事項

  • 一部の AWS のサービス は では使用できません AWS リージョン。利用可能なリージョンについては、「AWS のサービス (リージョン別)」を参照してください。特定のエンドポイントについては、「サービスエンドポイントとクォータ」を参照して、サービスのリンクを選択してください。

  • このソリューションは、Amazon Titan Text Embeddings V2 および Claude 3 Haiku モデルを使用してテストされました。他のモデルを使用する場合は、Terraform コードをカスタマイズできます。このコードは、簡単に変更できるようにパラメータ化されています。

  • このソリューションにはチャット履歴機能がないため、チャットは保存されません。

アーキテクチャ

次の図表は、このパターンのアプリケーションのワークフローとアーキテクチャコンポーネントを示しています。

Amazon Bedrock エージェントによって Amazon EC2 コンプライアンス管理を合理化するためのアーキテクチャとワークフロー。

ワークフローは以下のステップで構成されます。

  1. ユーザーは、Amazon Bedrock チャットコンソールを介してモデルと対話します。ユーザーは次のような質問をします。

    • What can you help me with?

    • List non-complaint resources

    • Suggest security best practices

  2. モデルが事前トレーニング済みの場合は、既存の知識から直接プロンプトに応答します。そうでない場合、プロンプトは Amazon Bedrock アクショングループに移動します。

  3. アクショングループは、安全なサービス通信のために AWS PrivateLink を使用して VPC エンドポイントに到達します。

  4. リクエストは、Amazon Bedrock サービスの VPC エンドポイントを経由して Lambda 関数に到達します。

  5. Lambda 関数は、プライマリ実行エンジンです。この関数は、リクエストに基づいて API を呼び出し、 AWS のサービスに対してアクションを実行します。また、オペレーションのルーティングと実行も処理します。

  6. Lambda 関数は AWS Config を呼び出して、非苦情リソース (前提条件として作成した非準拠の EC2 インスタンス) を決定します。

  7. AWS Config は、苦情以外のリソースにフラグを付けます。このパターンは、理想的な EC2 AWS Config desired-instance-typeルールをデプロイします。

  8. AWS Config は、インスタンスを一時停止または修復するようにユーザーに促し、EC2 インスタンスに対してそれに応じてアクションを実行します。Amazon Bedrock は、この戻りペイロードを認識します。

  9. ユーザーは、Amazon Bedrock チャットコンソールでレスポンスを受け取ります。

自動化とスケール

このソリューションでは、Terraform をコードとしてのインフラストラクチャ (IaC) ツールとして使用して、 へのデプロイ AWS アカウント と、複数のアカウントにわたるスタンドアロンユーティリティとして機能します。このアプローチにより、管理が簡単になり、デプロイの一貫性が向上します。

ツール

AWS のサービス

  • AWS Config では、コンプライアンスと必要な設定について、 AWS リソースの設定を評価、監査、評価できます。

  • Amazon Bedrock は、統合 API を通じて多くの高性能基盤モデルへのアクセスを提供するフルマネージド型の AI サービスです。

  • AWS Identity and Access Management (IAM) は、AWS リソースの使用を認証および認可されたユーザーを制御することで、AWS リソースへのアクセスを安全に管理するのに役立ちます。

  • AWS Lambda は、サーバーのプロビジョニングや管理を行うことなくコードを実行できるコンピューティングサービスです。必要に応じてコードを実行し、自動的にスケーリングするため、課金は実際に使用したコンピューティング時間に対してのみ発生します。

その他のツール

  • Git はオープンソースの分散バージョンの管理システムです。

  • Terraform」は、HashiCorp の infrastructure as code (IaC) ツールで、クラウドとオンプレミスのリソースの作成と管理を支援します。

コードリポジトリ

このパターンのコードは、GitHub 内の sample-awsconfig-bedrock-compliance-manager リポジトリで入手できます。

ベストプラクティス

エピック

タスク説明必要なスキル

リポジトリのクローン作成

このパターンの GitHub リポジトリをクローンするには、以下のコマンドを使用します。

git clone "git@github.com:aws-samples/sample-awsconfig-bedrock-compliance-manager.git"
AWS DevOps、ビルドリード、DevOps エンジニア、クラウド管理者

環境変数を編集します。

ローカルマシンのクローンされたリポジトリのルートディレクトリで、terraform.tfvars ファイルを編集します。[XXXXX] でマークされているプレースホルダーを確認し、環境に基づいて編集します。

AWS システム管理者、AWS DevOps、DevOps エンジニア、AWS 管理者

インフラストラクチャを作成します。

  1. このソリューションのインフラストラクチャを作成するには、以下のコマンドを実行します。

    terraform init terraform plan
  2. 実行計画を確認してから、以下のコマンドを実行します。

    terraform apply --auto-approve
AWS DevOps、DevOps エンジニア、AWS システム管理者、クラウド管理者
タスク説明必要なスキル

エージェントとチャットします。

前のステップでソリューションをデプロイすると、security-bot-agent がデプロイされます。これは、チャットコンソールを備えた Amazon Bedrock エージェントです。

エージェントを使用するには:

  1. Amazon Bedrock コンソールを使用するアクセス許可を持つ IAM ID AWS マネジメントコンソール を使用して にサインインします。次に、Amazon Bedrock コンソールを開きます。

  2. ナビゲーションペインで、[ビルド][エージェント] を選択します。security-bot-agent を選択します。

  3. エージェントとの会話を開始します。例えば、次のようになります。

    List non-complaint EC2 instances

    Replace these non-complaint EC2 instances with compliant instances
AWS DevOps、DevOps エンジニア、AWS システム管理者、クラウド管理者
タスク説明必要なスキル

インフラストラクチャとリソースを削除します。

このソリューションでの作業が完了したら、以下のコマンドを実行することで、このパターンによって作成されたインフラストラクチャを削除できます。

terraform destroy --auto-approve
AWS DevOps、DevOps エンジニア、AWS システム管理者、クラウド管理者

トラブルシューティング

問題ソリューション

エージェントの動作の問題

トラブルシューティング情報については、Amazon Bedrock ドキュメントの「エージェントの動作のテストとトラブルシューティング」を参照してください。

AWS Lambda ネットワークの問題

詳細については、Lambda ドキュメントの「Lambda でのネットワークの問題のトラブルシューティング」を参照してください。

IAM アクセス許可

詳細については、IAM ドキュメントの「IAM のトラブルシューティング」を参照してください。

関連リソース