第183 回 雲勉 Kiro CLI を活用して Terraform コードを生成してみた

148 Views

January 27, 26

スライド概要

下記、勉強会での資料です。
https://youtu.be/bUjeH7D0eL4

profile-image

アイレットの現場のノウハウが集まる場所。 AWS や Google Cloud、OCI をもっと身近に。 インフラから開発、AIまで。 現場のリアルな技術 Tips を公開中! 【 YouTube で公開している勉強会資料です。気になる内容は YouTube で是非ご覧ください!】 📺 https://www.youtube.com/@iret-channel

シェア

またはPlayer版

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

ダウンロード

関連スライド

各ページのテキスト
1.

第 183 回 雲勉 Kiro CLIを活用して Terraform コードを生成してみた 中谷亘佑 アイレット株式会社

2.

アジェンダ 01 Kiro CLIとは 02 今回の検証概要 03 検証リソースの構築内容 04 Kiro CLIのプロンプト 05 Kiro CLIの処理の様子

3.

アジェンダ 06 コードの相違点 07 最終的に 08 プロンプトの改善点 09 まとめ

4.

Profile なかたに こうすけ 中谷亘佑 アイレット株式会社 クラウドインテグレーション事業部トレー ニーセクション 経歴 2025年新卒入社 現在はインフラエンジニアとしてSRE案件の対応 と開発エンジニアとして社内システムの開発を担 当 AWSの活用はサーバーレスサービスを活用した 業務効率化を設計から担当

5.

この動画のゴール Kiro CLIは何ができてどんなメリットがある のかを理解する プロンプトを作成する際の注意事項を理解す る

6.

Kiro CLIとは

7.

Kiro CLIとは AWSが提供するターミナル上で生成AIアシス タントを活用するためのツール できること 実行コマンドの補完 AWS環境を読み込んで アクションを実行 一般的な生成AIができる こと(コード・テキストの生 成等) 7

8.

今回の検証概要

9.

今回の検証概要 目的 Kiro CLIが生成するコードの精度を測る 概要① ・事業部のトレーニングでTerraformで作成したVPC環境をKiro CLIに読み込ませ、全く同じ構成 を再現するTerraformコードを生成してもらいどれだけ正確に同じ構成を再現できるかを検証して みる 概要② ・Kiro CLIが生成するコードと自分で作成したコードがどういう違いがあるかを比較する 9

10.

検証リソースの構築内容

11.

検証リソースの構成内容 検証のため比較的簡易的な構築内容に設定 11

12.

Kiro CLIへ投げるプロンプト

13.

Kiro CLIへ投げるプロンプト 現在、AWSアカウントの東京リージョンに構築されている、以下のタグが付与されたリソース群と同じ構成 を再現するためのTerraformコードを作成してください。 **対象リソースの識別タグ :** Owner = "nakatani_kousuke" (または Name = "k-nakatani-training-dev-*") **含めるべきリソースの範囲 ** 1. VPCおよびネットワーク関連(Subnet, Route Table, Internet Gateway, Security Group) 2. コンピューティングリソース(EC2インスタンス, EIP) 3. DNSおよびドメイン関連(Route53 Hosted Zone, Record) ※特に "k-nakatani-training-dev.XXXXXXXXXX" に関連するレコードを含めてください。 **出力要件 :** - プロバイダ設定やバージョン指定も含めてください。 - ハードコードせず、可能な限り変数(variable)を使用してください。 13

14.

Kiro CLIの処理の様子

15.

Kiro CLIの処理の様子 ①Kiro CLIを起動 15

16.

Kiro CLIの処理の様子 ②アジェンダ 04で展開したプロンプトを実行 16

17.

Kiro CLIの処理の様子 ③リソースの読み込みが終了し、 Terraformコードを生成 17

18.

Kiro CLIの処理の様子 ④生成したファイルの構成情報を解説・出力先の確認 18

19.

Kiro CLIの処理の様子 ⑤指定したディレクトリにファイル生成・完了報告 19

20.

コードの相違点

21.

コードの相違点 VSCodeでKiro CLIが生成したコードと自分で作成したコー ドの両方を開き、見比べる 21

22.

コードの相違点 比較結果 ・Terraformプロバイダのバージョンが古い ・tfstate用のS 3バケットが作成されていない ・コードの中にコメントが記載されていない ・for each構文を活用してコードの記述量を減らしていた ・自作コードよりも変数(variable)を活用している箇所が多かった(良い意 味で) ・自作コードにはなかったoutput.tfファイルが作成されていた (運用がしやすい) 22

23.

プロンプトの改善点

24.

プロンプトの改善点 1 2 3 活用する Terraformのプロバイダのバージョンは 最新のものを活用するように指定する tfstate用のS3バケットを作成しておいて、 バケット名を提示しておく コードの可読性を高めるために、生成されるコー ドにはコメントを記載するように指定する 24

25.

最終的に

26.

最終的に 以下の修正を加えたプロンプトを実行するこ とで同じ環境の構築が実現 Terraformプロバイダ のバージョンを最新に する tfstate用のS3バケッ トを作成してバケットを 関連付ける 生成されるコードに コメントを記載するよう にする 26

27.

まとめ

28.

まとめ 1 コードの叩き台として活用する 2 プロンプトをより詳細にする AIはとりあえず動くコードを生成しようと するので、要件を完全に満たすコードを 作成するには人間のレビューで都度修 正する必要がある 3 勉強として活用する 生成されたコードと自作のコードを比較す ることで、新たな発見があったり、AIがど ういったところで間違ったコードを生成す るかを認識できるため、今後の開発に活 かせる 今回生成されたコードの修正点はほと んどが最初からプロンプトで提示してお けば発生しなかった修正点だった 4 プロンプトを書く前に要件を詳細 に考慮する必要がある プロンプトを考える前にAIに何を生成さ せたいか、考慮漏れがないように要件 を詳細に認識してからプロンプトを考え る 28

29.

結論 KiroCLIはプロンプトを作り込むことで要件に 近い、もしくは満たせるコードの生成ができ、 開発速度を向上させることができる 29

30.

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