はじめに
本記事では、生成AIを用いてアーキテクチャがAWSのAWS Well-Architected Frameworkに沿っているか診断するWell-Architected IaC (Infrastructure as Code) Analyzerの構築と操作について紹介します。
Well-Architectedレビューをやりたいけど出来ていない。生成AIを用いてAWSの運用を効率化したい。という方の参考になれば幸いです。
AWS Well-Architected Frameworkとは
AWSが提供するクラウドアーキテクチャ設計のベストプラクティスをまとめたものです。
公式では、以下のように記載されています。
AWS Well-Architected Framework では、クラウド上でワークロードを設計および実行するための主要な概念、設計原則、アーキテクチャのベストプラクティスについて説明しています。いくつかの基本的な質問に答えると、アーキテクチャでクラウドのベストプラクティスがどの程度実践できているかを知り、改善のためのガイダンスを得ることができます。
アーキテクチャがこのAWS Well-Architected Frameworkの設計原則に則って、設計されているかを確認する作業を「Well-Architected レビュー」と呼びます。
Well-Architected IaC (Infrastructure as Code) Analyzerとは
AWSの生成AIサービスであるBedrockを用いて、Well-Architectedレビューを実施する仕組みです。
レビュー対象のIaCファイルもしくはアーキテクチャ図を入力して、評価を実施してくれます。
アーキテクチャは以下のようになっています。
以下のプロジェクトで構築方法を含めた詳細が公開されています。
プロジェクトページ
構築方法
一度構築手順を理解すれば、2回目以降はCloudFormationの待ち時間を含めても、約1時間で構築可能です。
構築の方法には、CloudFormationによる構築、スクリプトによる構築、手動による構築の選択肢があります。
今回は、推奨されているCloudFormationによる構築を行いました。
流れは以下となります。
- Bedrockのモデルの有効化(公式に手順記載なし)
(構築を行うAWSアカウントの対象リージョンでモデルが有効化されていない場合) - CloudFormationの実行
- 接続のための踏み台Windowsサーバ構築(公式に手順記載なし)
構築時の注意点
前述の通り、構築は複雑ではありませんが、以下のような注意点があります。
-
Bedrockのモデルの指定方法
デフォルトの設定は、Claude 3.5 Sonnet V2を利用するようになっています。
構築を行うリージョン、利用したいモデルに応じて、設定の変更が必要です。
今回Tokyoリージョンで構築を行いましたが、構築時点ではClaude 3.5 Sonnet V2は東京リージョンからはクロスリージョン推論を介してのみ利用ができます。
クロスリージョン推論とは
クロスリージョン推論を利用する場合は、モデルIDではなく推論プロファイルIDを設定する必要があります。
モデルIDを入力しても構築は完了しますが、評価の実行時にエラーが発生します。
推論プロファイルIDは、AWSのユーザガイドやAWSのコンソールから確認ができます。
こちらの場合、「apac.anthropic.claude-3-5-sonnet-20241022-v2:0」が設定値です。
補足
クロスリージョン推論の使用に追加のルーティングコストはかかりません。料金は、推論プロファイルを呼び出すリージョンに基づいて計算されます。
公式記載
- アクセス方法
デフォルトの設定は、ロードバランサーが認証なしで、パブリックに公開するようになっています。
セキュアに利用できるように、internalアクセスに設定変更する、もしくはパブリックに公開する場合、認証を有効化する等々の設定変更をすることを推奨します。
操作方法
- 踏み台Windowsサーバに接続
- 実行したCloudFormationの出力タブに記載のURLを踏み台サーバ上のブラウザにコピー
以下は、CloudFormationの出力タブに表示されるURLの例です。
- IaCファイルもしくはアーキテクチャ図をアップロード
- 評価条件を設定し、評価実行
- 結果の確認
入力ファイルや評価条件にもよりましたが、2~30分程度で完了しました。
以下画面例の場合、11の項目が準拠、35の項目が準拠していないという結果が出力されています。
終わりに
生成AIを用いて、Well Architected Frameworkに沿っているかを診断できることが確認できました。
ただし、現時点では正確性の観点から完全な自動化は難しく、人の関与が一部必要です。
AWSとしては、構築後も定期的なレビューの実施を推奨しています。
定期的にレビューを実施したいものの、時間的な制約で難しいケースでも、
本ツールを活用することで効率的なレビューが可能になります。
生成AIを活用したアプローチの第一歩として、ぜひお試しください。
- AWS は、米国その他の諸国における Amazon.com, Inc. またはその関連会社の商標です。
- GitHub は、GitHub Inc. の商標または登録商標です。
- その他、記載されている会社名および商品・製品・サービス名は、各社の商標または登録商標です。