Well-Architected レビューをLLMにお願いしてみる

1K Views

July 05, 25

スライド概要

profile-image

Japan AWS Top Engineers (2024-2025) Japan AWS All Certifications Engineers(2024-2025) 発言や投稿は個人の意見であり所属する組織を代表しません

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

2025年7月5日(土) LLMにWell-A Rvを お願いしてみた Hidetoshi Sakamoto

2.

目次 01 自己紹介 02 Well-Architected IaC Analyzerとは 03 Rv対象システムの紹介 04 事前準備 05 Well-A Rv 06 まとめ

3.

自己紹介 Hidetoshi Sakamoto Sler 所属のクラウドエンジニア 5月に第二子が生まれ、育休中です。 野球(中日ファン)とお酒( )が好きです 愛知県豊橋市出身です! X:@e3CpwB5Gd444254 Zenn:https://zenn.dev/hanabusashun Docswell:https://www.docswell.com/user/Hanabusashun

4.

Well-Architected Tool使ってますか?

5.

Well-Architected Toolって? AWS Well-Architectedに沿ったワークロードであるか、ワークロードにどんなリスクが潜んでいるかを確 認するためのツールです。 https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2025_AWS-Well-Architected-Framework-part1_0331_v1.pdf https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2025_AWS-Well-Architected-Framework-part1_0331_v1.pdf

6.

Well-Architected Toolを使ったRvプロセス 01 02 03 ワークロードを プロファイルの 質問に 定義 作成 答えていく (Rv)

7.

Well-Architected Toolを使ったRvプロセス 01 02 03 ワークロードを プロファイルの 質問に 定義 作成 答えていく (Rv)

8.

Well-Architected Toolを使ったRvプロセス 01 02 03 ワークロードを プロファイルの 質問に 定義 作成 答えていく (Rv)

9.

Well-Architected Toolを使ったRvプロセス 01 02 03 ワークロードを プロファイルの 質問に 定義 作成 答えていく (Rv)

10.

Well-Architected Toolを使ったRvプロセス 01 02 03 定義 作成 答えていく 大事だし、有用だけど結構大変… ワークロードを プロファイルの 質問に (Rv)

11.

そんなあなたに Well-Architected IaC Analyzer

12.

Well-Architected IaC Analyzerってなに? IaCやアーキテクチャ図に基づき、Well-Architected RvをLLMが実施してくれるWebアプリです。 ECS+ALBの Webアプリ形式でホスティング Well-Aのホワイトペーパーで構成された Knowledge Baseをもとに、LLMがRvしてくれる マネコンやドキュメントライク なUIで結果を確認できる https://github.com/aws-samples/well-architected-iac-analyzer

13.

Well-Architected IaC Analyzerを使ったRvプロセス 01 02 03 ワークロードを プロファイルの 質問に 定義 作成 答えていく (Rv) 私がやります! LLM

14.

Well-Architected IaC Analyzerの セットアップ

15.

0. 事前準備 モデルアクセスの有効化 Bedrockコンソールにアクセスし、左ペインの下の方にある「モデルアクセス」→「すべてのモデルを有 効にする」or「特定のモデルを有効化する」を選択して、以下の2つのモデルを有効化しておきます。 (Rv時にClaude 3.7 Sonnetを利用したい場合は3.7 Sonnetも有効化してください。) ・Titan Text Embeddings V2 ・Claude 3.5 Sonnet v2(デフォルト) ・(任意)Claude 3.7 Sonnet with extended thinking https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/model-access-modify.html https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/model-access-modify.html

16.

1. CloudFormationテンプレートのダウンロード IaC Analyzerのデプロイ方法は以下の3パターンありますが、推奨されているCFnで行います。 1. CloudFormation 2. デプロイメントスクリプト 3. マニュアルデプロイ まずは、↓のリンクにアクセスしてYAMLをDLします。 https://github.com/aws-samples/well-architected-iac-analyzer/blob/main/cfn_deployment_stacks/iac-analyzer-deploymentstack.yaml

17.

2. CloudFormationでスタック作成 CloudFormationコンソールにアクセスし、DLしたYAMLでスタックを作成します。 途中、認証やインターネットアクセスの可否を決めるパラメータ設定等を行い、スタックを作成します。 パラメータの一覧は私のZennや、IaC AnalyzerのGitHub上を確認してください。 DLしたYAMLを指定

18.

3. CloudFormationから出力されたURLにアクセスしてみる 15~20分程度でCloudFormationスタックがCREATE_COMPLETEになります。 出力タブから「FrontendURL」にあるURLにアクセスしてみましょう。 アクセス出来たら事前準備は完了です!

19.

実際にRvしてみる

20.

IaCを用いたRv 1. IaCをアップロードし 2. Rvしたい柱を選択し、 3. 必要に応じてオプション設定して、 「レビューを開始」!

21.

Rv結果(分析結果タブ) 今回は38のベストプラクティスを点検し、12の未適用ベストプラクティスを検出できました。 判断した理由も詳細にかかれていて 嬉しい!

22.

感心したこと checkovによるスキャンを行っているのですが、開発途中ということもありいくつかチェック項 目を除外しているものがあります。 Terraformだけでなく、例外設定ファイルも確認し「ちゃんと実装したほうがいいよ」と指摘さ れ、ドキッとしました…

23.

チャットによる深掘りも可能 Lambdaのみで少し重厚な処理を実装していたのですが、その処理を「StepFunction 化しましょう」 という指摘をもらったので、改修方法についてチャットしたところ、 Terraformコードを生成してくれました。

24.

分析結果やチャットログはDL可能! 地味嬉しいポイントとして分析結果はcsvで、チャットログはJSONでDLすることも可能です。

25.

Rv結果(Well-Architected Toolタブ) Well-Architected ToolタブではRv結果のサマリやレポートを作成することができます。

26.

次に構成図からIaCを製造してもらう

27.

構成図からIaC作成 構成図をアップロード オプション設定のIaC生成で生成したい IaCのテンプレートを選択 Terraform,CFn, 等豊富なバリエーション 構成図もLLMに作ってもらいました。 (AWS Diagram MCP Serverを使用)

28.

構成図からIaC作成 「IaCドキュメントを生成」をクリックするだけ

29.

構成図からIaC作成 CFnコードが完成しました。

30.

気になるコストは…?

31.

気になるコストは…? やっぱりOpenSearchがコストの大半を占めますね

32.

まとめ

33.

まとめ • Well-A Toolを使ったRvは 大事だし、有用だけどちょっと大変 • そんな悩みを解決するのがWell-Architected IaC Analyzer • Rv対象のIaCとWell-A関連のホワイトペーパーで構成されるKnowledge Baseをもとに、LLMが Well-A Rvを実施してくれる • 実施結果に対してチャットで深掘りすることも可能 • 構成図をインプットにしてIaCを製造してもらうこともできる!

34.

ご清聴ありがとうございました!