翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Bedrock を使用して AWS インフラストラクチャオペレーションを自動化する
Amazon Web Services、Ishwar Chauthaiwale、Anand Bukkapatnam Tirumala
概要
クラウドネイティブなソリューションでは、一般的なインフラストラクチャオペレーションの自動化は、効率性と費用対効果の高い安全な環境を維持する上で重要な役割を果たします。オペレーションの手動処理は時間を要し、人為的ミスが発生しやすくなります。さらに、さまざまなレベルの AWS 専門知識を持つチームメンバーは、セキュリティプロトコルへの準拠を確保しながら、これらのタスクを実行する必要があります。このパターンは、Amazon Bedrock を使用して自然言語処理 (NLP) を通じて一般的な AWS インフラストラクチャオペレーションを自動化する方法を示しています。
本パターンは、複数の環境に生成 AI ベースのインフラストラクチャをデプロイする、再利用可能なモジュール式の安全なコードを開発するのに役立ちます。Infrastructure as Code (IaC) と自動化に重点を置くことで、バージョン管理、一貫したデプロイ、エラーの削減、プロビジョニングの高速化、コラボレーションの改善など、DevOps の主な利点を活用できるようになります。
このパターンは、以下 AWS のサービス を含むキーに関連するオペレーションをチームが管理できるようにする安全なアーキテクチャを実装しています。
Amazon Simple Storage Service (Amazon S3) バケットのバージョニングを設定する
Amazon Relational Database Service (Amazon RDS) のスナップショット作成
Amazon Elastic Compute Cloud (Amazon EC2) のインスタンス管理
このアーキテクチャは、安全な通信のために Amazon Virtual Private Cloud (Amazon VPC) エンドポイントとプライベートネットワークを採用し、 AWS Lambda プライベートサブネット内のタスクエグゼキュターとして機能します。Amazon S3 はデータ管理を提供し、包括的な AWS Identity and Access Management (IAM) ロールとアクセス許可を実装して、適切なアクセスコントロールを確保します。このソリューションにはチャット履歴機能がないため、チャットは保存されません。
前提条件と制限事項
アクティブ AWS アカウント。
アクセスをセキュリティで保護および制御するには、適切なアクセスコントロール対策を講じる必要があります。アクセスコントロールの例としては AWS Systems Manager、 の使用、基盤モデルアクセス、デプロイ用の IAM ロール、サービスベースのロール、Amazon S3 バケットへのパブリックアクセスの無効化、デッドレターキューの設定などがあります。
AWS Key Management Service (AWS KMS) カスタマーマネージドキー。
AWS Command Line Interface (AWS CLI) バージョン 2 以降、デプロイ環境にインストールおよび設定されています。
Terraform AWS Provider バージョン 4 以降がインストールされ
、設定されています。 Terraform バージョン 1.5.7 以降がインストールされ、設定されている
こと。 不正アクセスからの保護とデータ整合性の維持のため、Amazon Bedrock でエージェントのアクショングループの OpenAPI スキーマを確認して定義します。
必要な Amazon Titan Text Embeddings v2 と Claude 3.5 Sonnet または Claude 3 Haiku 基盤モデルのいずれか AWS アカウント に対して で有効になっているアクセス。 https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.htmlデプロイの失敗を回避するには、ターゲットデプロイ AWS リージョン が必要なモデルをサポートしていることを確認します。
AWS Well Architected Framework のベストプラクティスに従って設定された仮想プライベートクラウド (VPC)。
Amazon Responsible AI ポリシー
のレビューが完了していること。
製品バージョン
Amazon Titan Text Embeddings V2
Anthropic Claude 3.5 Sonnet or Claude 3 Haiku
Terraform AWS プロバイダーバージョン 4 以降
Terraform バージョン 1.5.7 以降
アーキテクチャ
次の図表は、このパターンのアプリケーションのワークフローとアーキテクチャコンポーネントを示しています。

ソリューションアーキテクチャは、自然言語リクエストを処理し、対応する AWS オペレーションを実行するために連携する複数のレイヤーで構成されています。
ユーザーは、Amazon Bedrock のチャットコンソールからオペレーションリクエストを行います。
チャットボットはリクエスト処理に Amazon Bedrock ナレッジベースを使用します。こちらは自然言語処理用の Amazon Titan Text Embeddings v2 モデルを実装しています。
ユーザープロンプトにアクションリクエストが含まれている場合、Amazon Bedrock アクショングループは、実行ロジックに Anthropic Claude 3 Haiku または Claude 3.5 Sonnet モデル (ユーザーの選択による) のいずれかを使用し、OpenAPI スキーマを介してオペレーションを定義します。
アクショングループは、安全なサービス通信 AWS PrivateLink のために を使用して Amazon VPC エンドポイントに到達します。
AWS Lambda 関数は、Amazon Bedrock サービスの Amazon VPC エンドポイントを介して到達します。
Lambda 関数は主要な実行エンジンです。Lambda 関数は、リクエストに基づいて API を呼び出し、 AWS のサービスに対してアクションを実行します。また、Lambda 関数はオペレーションのルーティングと実行も処理します。
Lambda 関数からの API リクエスト AWS のサービス の取得と、対応するオペレーションが実行されます。
Lambda 関数は、Amazon Bedrock によって理解される出力ペイロードを計算します。
このペイロードは、安全なサービス通信を行うため、PrivateLink を使用して Amazon Bedrock に送信されます。Amazon Bedrock で使用される大規模言語モデル (LLM) は、このペイロードを解釈し、人間が理解できる形式に変換します。
その後、出力は Amazon Bedrock チャットコンソール上でユーザーに対して表示されます。
このソリューションでは、次の主要なオペレーションを有効にします。
Amazon S3 – バージョン管理のためにバケットのバージョニングを有効にします。
Amazon RDS – バックアップ用のデータベーススナップショットを作成します。
Amazon EC2 – インスタンスを一覧表示し、インスタンスの開始と停止を制御します。
ツール
AWS のサービス
Amazon Bedrock は、主要な AI スタートアップや Amazon が提供する高パフォーマンスな基盤モデル (FM) を、統合 API を通じて利用できるようにするフルマネージド型サービスです。
AWS Command Line Interface (AWS CLI) は、コマンドラインシェルのコマンド AWS のサービス を通じて を操作するのに役立つオープンソースツールです。
Amazon Elastic Compute Cloud (Amazon EC2) は、 AWS クラウドでスケーラブルなコンピューティング容量を提供します。仮想サーバーを必要な数だけ起動して、迅速にスケールアップまたはスケールダウンができます。
AWS Identity and Access Management (IAM) は、誰を認証し、誰に使用を認可するかを制御することで、 AWS リソースへのアクセスを安全に管理するのに役立ちます。
AWS Lambda は、サーバーのプロビジョニングや管理を行うことなくコードを実行できるコンピューティングサービスです。必要に応じてコードを実行し、自動的にスケーリングするため、課金は実際に使用したコンピューティング時間に対してのみ発生します。
Amazon OpenSearch Serverless は、Amazon OpenSearch Service 用のオンデマンドサーバーレス設定です。
AWS PrivateLink は、仮想プライベートクラウド (VPC) から他の VPC 内のサービスへの単方向のプライベート接続の確立に役立ちます。
Amazon Relational Database Service (Amazon RDS) を使用して、 AWS クラウドでリレーショナルデータベース (DB) をセットアップ、運用、スケーリングできます。
Amazon Simple Storage Service (Amazon S3) は、あらゆる量のデータを保存、保護、取得できるクラウドベースのオブジェクトストレージサービスです。
「AWS Systems Manager」は、 AWS クラウドで実行されるアプリケーションとインフラストラクチャの管理に役立ちます。これにより、アプリケーションとリソースの管理が簡素化され、運用上の問題を検出して解決する時間を短縮し、 AWS リソースを大規模に安全に管理できます。
Amazon Virtual Private Cloud (Amazon VPC) は、定義した仮想ネットワークに AWS リソースを起動するのに役立ちます。この仮想ネットワークは、ユーザー自身のデータセンターで運用されていた従来のネットワークと似ていますが、 AWSのスケーラブルなインフラストラクチャを使用できるという利点があります。
その他のツール
コードリポジトリ
このパターンのコードは、GitHub の aws-samples/infra-ops-orchestrator
ベストプラクティス
Lambda 実行ログを定期的にモニタリングします。詳細については、「Lambda 関数をモニタリングおよびトラブルシューティングする」を参照してください。ベストプラクティスの詳細については、「 AWS Lambda 関数を使用するためのベストプラクティス」を参照してください。
セキュリティ設定を定期的に見直し、組織の要件に準拠していることを確認します。詳細については、「セキュリティのベストプラクティス」を参照してください。
最小特権の原則に従い、タスクの実行に必要な最小限の権限を付与します。詳細については、IAM ドキュメントの「最小限の特権を認める。」と「IAM でのセキュリティのベストプラクティス」を参照してください。
エピック
| タスク | 説明 | 必要なスキル |
|---|---|---|
リポジトリのクローン作成 | ローカルマシンにリポジトリのクローンを作成するときは次のコマンドを実行します。
| AWS DevOps、DevOps エンジニア |
環境変数を編集します。 | クローンされたリポジトリのルートディレクトリで | AWS DevOps、DevOps エンジニア |
インフラストラクチャを作成する | インフラストラクチャを作成するには、次のコマンドを実行します。
実行計画を注意深く確認します。計画された変更が許容できる場合は、次のコマンドを実行します。
| AWS DevOps、DevOps エンジニア |
| タスク | 説明 | 必要なスキル |
|---|---|---|
ソリューションにアクセスする | デプロイが成功したら、以下のステップに従ってチャットベースのインターフェイスを使用します。
| AWS DevOps、DevOps エンジニア |
| タスク | 説明 | 必要なスキル |
|---|---|---|
作成したリソースを削除します。 | このパターンによって作成されたすべてのインフラストラクチャを削除するには、次のコマンドを実行します。
破棄計画を注意深く確認してください。計画された削除が許容される場合は、次のコマンドを実行します。
注: このコマンドによって、本パターンで作成したリソースは完全に削除されます。リソースを削除する前にコマンドから確認を求められます。 | AWS DevOps、DevOps エンジニア |
トラブルシューティング
| 問題 | ソリューション |
|---|---|
エージェントの動作 | この問題の詳細については、Amazon Bedrock ドキュメントの「Test and troubleshoot agent behavior」を参照してください。 |
Lambda ネットワークの問題 | これらの問題の詳細については、「Lambda ドキュメント」の「Lambda でのネットワーク問題のトラブルシューティング」を参照してください。 |
IAM アクセス許可 | これらの問題の詳細については、IAM ドキュメントの「IAM のトラブルシューティング」を参照してください。 |