Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JAWS-UG のイベントで使うハンズオンシナリオを Amazon Q Developer f...

JAWS-UG のイベントで使うハンズオンシナリオを Amazon Q Developer for CLI で作ってみた話 in Okayama

2025年8月30日に開催された JAWS-UG Okayama 2025 で登壇した際の資料です。

JAWS-UG 神戸で開催した AWS FIS のハンズオンイベントのハンズオンシナリオを Amazon Q Developer for CLI で作成した時の話をしました。

CloudFormation テンプレートを絶対手書きしたくない、という強い思いで自然言語で指示して作成したのですが、その際の所感をまとめています。

Avatar for kazzpapa3

kazzpapa3

August 30, 2025
Tweet

More Decks by kazzpapa3

Other Decks in Technology

Transcript

  1. JAWS-UG のイベントで使うハンズオンシナリ オを Amazon Q Developer for CLI で作って みた話

    in Okayama [JAWS-UG Okayama 2025 (August 30th, 2025) ] Speaker : @kazzpapa3 / JAWS-UG 神戸
  2. Biography { "Bio": { "Name": "kazzpapa3 a.k.a. ICHINO Kazuaki", "Organization":

    "A certain AWS partner company", "Role": "Technical Support Engineer", "Favorite AWS Services": [ "AWS CLI", "AWS CloudTrail" ], "Less Favorite AWS Service (as a Support Engineer)": [ "AWS Billing (請求ロジックが難解すぎる)" ], "Personal Interest": "初音ミク", "Socials": { "Twitter/X": "@kazzpapa3", "LinkedIn": "https://www.linkedin.com/in/kazzpapa3/" } } }
  3. この話は、実はすでに Qiita で公開済み JAWS-UG のイベントで使うハンズオンシナリオを Amazon Q Developer for CLI

    で作ってみた話 として 公開しています さらに 8月7日に AWSJ 大阪オフィスで実施した 目 指せ!Amazon Q & KIRO マスターへの道 でも少し しゃべっちゃいました なので、少し内容が重複します @kazzpapa3 / #jawsug #jawsug_okayama 4 / 32
  4. GitHub に公開済み ハンズオンイベントで利用したのもあり、すでに GitHub に公開済みです おかげさまで参加いただいたみなさんが完走していま すので、おそらく今でも動作するはずです 粗末な WordPress を作る

    → 障害食らう → アーキテクチャ変える → 大丈夫になる → 別の障害くらう → 再度アーキテクチャを変える → 障害になんとか耐える 程度のカオスエンジニアリングの入り口くらいのシ ナリオですが、よろしければぜひお試しください @kazzpapa3 / #jawsug #jawsug_okayama 6 / 32
  5. 初期段階 ※図は AI 先生の作品 Web サーバはパブリックサブネットに 1 台のみ配置 パブリック IP

    アドレスを自動付与 DB は Aurora Serverless でシングル AZ 構成 この一式を CFn で作成 作成後 AWS FIS で Aurora MySQL の 意図しない再起動を想定した障害の注入 @kazzpapa3 / #jawsug #jawsug_okayama 8 / 32
  6. 変更(1回目) ※図は AI 先生作 先の障害を受けて DB をマルチ AZ 化 この変更を

    CFn の変更セットとして実 行 先に実行した Aurora MySQL の意図し ない再起動に耐えられることを確認 別途障害テンプレートを作成 EC2 インスタンスの意図しない停止を 想定した障害を注入 → 食らう @kazzpapa3 / #jawsug #jawsug_okayama 9 / 32
  7. 変更(2回目) ※図は AI 先生作 EC2 の障害を受けて Web サーバ周りの 構成を変更 Auto

    Scaling Group で動作するよう に パブリックサブネットからプライベー トサブネットへの収容替え ALB 配下で動作するように この一連の変更を CFn の変更セットで 実行する @kazzpapa3 / #jawsug #jawsug_okayama 10 / 32
  8. AWS FIS をみんなで試してみたかった 自己紹介で述べた通り、普段テクニカルサポート部門で働いています 2025年4月15日 に発生した AZ 障害では、クラウドなんだから試して みたらいいのに というような問い合わせも割とありました

    ただ、疑似障害とはいえ稼働中のシステムにいきなり障害を与えるこ とはできないだろうし、AWS FIS ってなんやねんっていう人も多い だろうな、と思いながら仕事をしていました でも AWS FIS というサービスを広めたいな、と思っていたので、全く 無関係で無責任でいられる環境なら気兼ねなくぶっ壊せるのでは と 思い、ハンズオンイベントを企画しました @kazzpapa3 / #jawsug #jawsug_okayama 12 / 32
  9. でも予定していたシナリオが動かなかった 企画を思いついた当初、JP Contents Hub にあるシナリオを使うつも りでした ただ、ゴールデンウィーク中に試してみたところ、どうやっても動作し ないことが判明しました そしてそれは構造的に AWS

    の中の人でないと直せないような問題で あることがわかったので断念しました 現在、該当のシナリオは非公開になりました @kazzpapa3 / #jawsug #jawsug_okayama 13 / 32
  10. 重い腰を上げて作ってみることにしました ただ、私自身、普段の業務的に設計や構築をあまりしないロールです 構築するとしても問い合わせを受けた内容の再現性を確認するだけの、 1 回こっきりのことが多いです また、個人的には AWS CLI が好きなので IaC

    を使うこともあまりない 背景があります でも、不特定多数が実行するんだったら、CloudFormation とかにし ておくほうがいいんだろうなぁ 、と構想していました ただ、あまり時間もかけていられないな 、という思いも… @kazzpapa3 / #jawsug #jawsug_okayama 15 / 32
  11. 生成 AI の出番じゃね 絶対に CloudFormation テンプレートを手で書かない、その強い意志 でシナリオ作成に着手しました 現在、一旦完成形としているシナリオの大枠は頭に浮かんでいました AWS FIS

    の障害テンプレートの作成や実行など、AWS FIS でできる ことを体験する部分は極力手を動かす感じにする コピペしただけのハンズオン体験にならないように IaC 化しない 初期環境の構築や、環境の改修は失敗が発生しにくいようにする 参加者は環境に対しては無責任で良いので、ここは IaC 化する @kazzpapa3 / #jawsug #jawsug_okayama 17 / 32
  12. 2回目の変更はちょっと苦戦 題材にしていた WordPress の仕様に依存する部分ですが、WordPress では siteurl や home としてインストール時点でのドメインが記録さ れています

    これを新たに作成した ALB の DNS レコード名に変更しつつ AMI 化 Auto Scaling Group のターゲットインスタンスとして起動した際に も正しい DNS 名を持つように構成させる この指示がなかなか伝わりませんでした 同じ内容を手を替え品を替え、伝え続けました @kazzpapa3 / #jawsug #jawsug_okayama 20 / 32
  13. 思うように戻せない 2 つ目の変更セットを試行錯誤している際に、元のテンプレートに戻し たくなりました ただ、Amazon Q Developer for CLI に限らず生成

    AI は状態を覚えて いるわけではないため、「1 つ前に戻したい」という指示をしても戻す ことはできませんでした このあたりは Git などでこまめな変更履歴を記録しながら進めたほ うがいいのかもしれません @kazzpapa3 / #jawsug #jawsug_okayama 24 / 32
  14. 二度と同じものは生み出せない ハンズオンイベントが終わってから、空き時間にもう一度 1 から同じも のを作ってみようと試みました ただし、全く同一のものは生み出せませんでした 私が Amazon Q Developer

    for CLI に指示した内容を一言一句覚え ているわけではないので、そもそものインプット情報が違いますしね このあたりは仕様駆動開発ができる Kiro に期待できるかもですね @kazzpapa3 / #jawsug #jawsug_okayama 25 / 32
  15. V2 のシナリオはあります 実は AWS FIS については次世代の V2 という公式シナ リオは存在します ただ、デプロイに

    2 時間ほどかかるようでした 長い待ち時間を経た後で失敗していることが判明、とか だとイベント的に目も当てられないな と思い、このシ ナリオの採用も見送りました ただし、ちゃんと実行すると AWS FIS で実行可能な内 容が体系的に習熟できる良いシナリオだと思われます さらに改善しライトに実行できるようにするとのこと @kazzpapa3 / #jawsug #jawsug_okayama 29 / 32
  16. 情シス支部 x 神戸支部のコラボ や ります 2025年9月13日(土) 14 時から三宮で開催 イベントページ 神戸だし情シスだし、ということで、あの武闘

    派 CIO をお呼びします 今日、私は倉敷まで新幹線を使わずに 3時間15 分、片道 2,700円 ほどで来ることができました 隣の県で意外と近いので、三連休やることな いなー、というかたは是非 @kazzpapa3 / #jawsug #jawsug_okayama 31 / 32