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

KiroでGameDay開催してみよう(準備編)

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Yuuuuuuu Yuuuuuuu
August 25, 2025

 KiroでGameDay開催してみよう(準備編)

Avatar for Yuuuuuuu

Yuuuuuuu

August 25, 2025
Tweet

More Decks by Yuuuuuuu

Other Decks in Technology

Transcript

  1. きっかけ ◼とあるJAWS-UGのイベントにて ◼Amazon Q DeveloperでGameDayを作らせたという 記事で登壇されていたという話をTwitterで拝見 ◼JAWS DaysやAWS Summitなどで大人気GameDay ◼大人気過ぎて、先着で席が即完売になることも…

    ◼ならばそうか!!! ◼公式がすぐ埋まってしまうなら、自分で作ってしまえば早いよね!! ◼という青天の霹靂 ◼であれば、KiroによるSpec駆動でこだわったGameDayができるのでは? ◼やってみよう!!! ツイートはこちら⇒#jawsug_sainokuni https://speakerdeck.com/rindo_610/gameday-kasitainara-q-developer-nizuo-tutemoraehaiisiyanai
  2. 例:Winning the DDoS Game シナリオ概要 ◼AWS GameDay 「Winning the DDoS

    Game」 シナリオは、参加者は 架空のテクノロジースタートアップであるユニコーンレンタル社の新 入社員になるところから物語が始まります。ユニコーンレンタルは事 業拡大を目指すべく、新たなサービスメニュー “プレミアムユニコーン “を発表しました。 ツイートはこちら⇒#jawsug_sainokuni https://aws.amazon.com/jp/blogs/psa/gameday-for-aws-top-engineers-202501/
  3. 例:Winning the DDoS Game シナリオ概要 ◼しかし、発表直後のウェブサイトに突如 “503 Service Temporarily Unavailable”

    エラーが表示され、お客様からクレームが殺到しました。 時間経過とともにいつの間にかエラーは解消されましたが、当時の開 発運用チームは責任を追及され、解散となりました。そんな中、たま たま新入社員として入社することになった参加者の皆様には、引継ぎ 資料として渡されたアーキテクチャ図を基に、AWS WAF や AWS Shield Advanced などを駆使して、顧客体験を損なう分散型 HTTP フ ラッド、ウェブエクスプロイト、悪質なボットからの攻撃を軽減し、 ウェブサイトを安定稼働させるためのミッションが与えられます。 ツイートはこちら⇒#jawsug_sainokuni https://aws.amazon.com/jp/blogs/psa/gameday-for-aws-top-engineers-202501/
  4. 例:Winning the DDoS Game シナリオ概要 ◼そしてユニコーンレンタルの CEO は失敗を取り戻すべく、改めて特別 セールキャンペーンの開催を決定しました。新入社員は最大 3

    人 1 組 のチームとなり、AWS アカウント上で稼働しているユニコーンレンタ ルサービスになるべく影響を及ぼさずに、DDoS 攻撃への対応および 対策を行います。対応が上手くいくとチームにポイントが加点され、 最終的にポイントを多く稼いだチームが表彰されます。 ツイートはこちら⇒#jawsug_sainokuni https://aws.amazon.com/jp/blogs/psa/gameday-for-aws-top-engineers-202501/
  5. Step1. GameDayとしてどんなネタがあるかを整理 ◼ 前提:GameDayの内容は公開されないため、テーマから内容を類推するしかない ◼ AWS公式ブログより ◼ Winning the DDoS

    Game(https://aws.amazon.com/jp/blogs/psa/gameday-for-aws-top-engineers-202501/) ◼ Secure Legends (ハードモード)(https://aws.amazon.com/jp/blogs/psa/gameday-for-aws-top-engineers- 202407/) ◼ Multi-Region Disaster Recovery(https://aws.amazon.com/jp/blogs/psa/gameday-for-aws-top-engineers- 202404/) ◼ Cloud Ops Co-op(https://aws.amazon.com/jp/blogs/psa/gameday-for-awstopengineers-202312/) ◼ Going Serverless(https://aws.amazon.com/jp/blogs/psa/gameday-for-awstopengineers-202307/) ◼ AWS公式サイトより https://aws.amazon.com/jp/gameday/ ◼ リユース、リサイクル、リデュース、リアーキテクト ◼ Generative AI Unicorn Party ◼ Secure Legends ◼ オブザーバビリティは重要です ◼ 会社独自のクローズド開催より ◼ コスト最適化(https://hack.nikkei.com/blog/nikkei_group_aws_gameday/) ◼ Developer experience(https://codezine.jp/article/detail/20932) ツイートはこちら⇒#jawsug_sainokuni GameDay参加は 過去2回だけ
  6. Step2.整理したネタを元に、どんなネタでGameDayを作成するか検討 ◼本来のGameDayであれば、、、 1. 最初のステップでグローバルからアクセス可能なwebサイトを作成 2. しばらく時間が経過した後、DDos攻撃を受ける 3. DDos攻撃を、AWSのサービスを使用して防ぎ、今後攻撃を受けないような仕 組みづくりを行う 4.

    (仕組みが不十分であれば)さらなる攻撃を受けて、点数が引かれる 5. (仕組みがうまく動作すれば)防御が効いている期間、点数が追加される ◼ということができますが、特に時間経過によってどうこう、、、とい うものを作成することは困難 ◼であれば、最初に何かしらがダメな環境を用意して、それを修正する という内容にするしかないのでは? ◼上記であれば、DDosされそうな環境を作成し、「セキュアなWebサイトにし て」というお題を渡すイメージ ツイートはこちら⇒#jawsug_sainokuni
  7. Step2.整理したネタを元に、どんなネタでGameDayを作成するか検討 ◼整理したネタより、作成できそうなネタを選出 ◼Winning the DDoS Game ◼セキュリティ的に脆弱なwebサイトを作成し、それの修正をさせる ◼応用編としてWebサイトページ自体にも脆弱性を仕込める ◼Secure Legends

    ◼過剰なAWS権限、漏洩したAWS認証情報、MFA設定がされていないルートアカ ウント、暗号化されていないEBS/S3 など ◼SecurityHubの脆弱性診断の内容をそのまま修正させるみたいなイメージ? ツイートはこちら⇒#jawsug_sainokuni
  8. Step2.整理したネタを元に、どんなネタでGameDayを作成するか検討 ◼整理したネタより、作成できそうなネタを選出 ◼Winning the DDoS Game ◼セキュリティ的に脆弱なwebサイトを作成し、それの修正をさせる ◼応用編としてWebサイトページ自体にも脆弱性を仕込める ◼Secure Legends

    ◼過剰なAWS権限、漏洩したAWS認証情報、MFA設定がされていないルートアカ ウント、暗号化されていないEBS/S3 ◼SecurityHubの脆弱性診断の内容をそのまま修正させるみたいなイメージ? ツイートはこちら⇒#jawsug_sainokuni とりあえず作ってみようとし たとき、簡単にできそう(勘) 構成がイメージできる
  9. Step3. KiroでSpecモードを実行する ◼前提 ◼以下MCPサーバを設定済み ◼ awslabs.terraform-mcp-server ◼ awslabs.aws-documentation-mcp-server ◼ aws-knowledge-remote-mcp-server

    ◼ awslabs.aws-pricing-mcp-server ◼KiroはKiro Proプランを契約 ◼ 8/22のKiroのpricing updatesにて、使用回数がリセット&返金 ◼ https://kiro.dev/blog/important-pricing-updates/ ◼Model ◼ Claude Sonnet 4.0 ツイートはこちら⇒#jawsug_sainokuni GameDayを作成する観点においては、 現在は14日間Bonus Creditsが提供 されているので、有料契約は不要 Bedrockだと”Claude Sonnet 4”なのに、 なぜ有効数字が多い???
  10. Step3. KiroでSpecモードを実行する(Requirements) ◼指示 ◼AWS GameDayのような環境構築をします ◼テーマはWinning the DDoS Gameで、脆弱なwebサイトを作成し、それをセ キュアに修正していく、というイメージです

    ◼Webサイトのコード自体にも脆弱性をいくつか仕込み、AWSサービスでそれを 検知する、という内容も含めてください ◼なお、環境構築はTerraformを使用してください ツイートはこちら⇒#jawsug_sainokuni
  11. Step3. KiroでSpecモードを実行する(Requirements) ◼指示 ◼AWS GameDayのような環境構築をします ◼テーマはWinning the DDoS Gameで、脆弱なwebサイトを作成し、それをセ キュアに修正していく、というイメージです

    ◼Webサイトのコード自体にも脆弱性をいくつか仕込み、AWSサービスでそれを 検知する、という内容も含めてください ◼なお、環境構築はTerraformを使用してください ツイートはこちら⇒#jawsug_sainokuni
  12. おまけ:task実行を日本語に “.kiro/steering/global.md”に以下を記載 ツイートはこちら⇒#jawsug_sainokuni --- inclusion: always --- # プロジェクトガイドライン ##

    言語設定 - **コミュニケーション**: 回答は常に日本語で行う https://x.com/kinopee_ai/status/1944980314071425475 https://x.com/kinopee_ai/status/1944981750876397795 こんな感じ
  13. Step4. Taskを実行する ◼task listをすべて実行した後のKiro使用状況 ◼task数:主要taskで11、サブtaskで28 ◼一度チャットで指示をした以外はtask start実行のみ ◼Vibe : 17request

    / Spec : 48request ツイートはこちら⇒#jawsug_sainokuni 統合テストが全Successでないのに task finishしようとしていたので、 再度実行を指示 今回はBonus Creditsがあったので 耐えていますが、この利用状況を 見るに、月に1回しかGameDayネタ作成 はできないレベル… 有料プラン(一番下)だと結構シビア
  14. Step5.できたGameDayをやってみる ◼以下をVibeモードでやらしてみた結果Kiroの使用状況がすごいことに ◼GameDay用Terraformの実行やそのエラー修正 ←これがメイン ◼READMEの修正とGitHubへのPush準備 ◼Vibe : 108request / Spec

    : 0request ツイートはこちら⇒#jawsug_sainokuni Bonus Creditsが飛びました。。。 なんでもかんでもKiroに頼らないことも 覚えないと、いざ使いたいときになくこ とになるかもしれませんね
  15. おまけ ◼GameDayライクなAWS Jamという勉強ツールも提供されているので、 並びたくない方はこちらも選択肢としてどうでしょうか? ◼AWS Jamとは ◼個人やチームが AWS クラウドのスキルを応用し、AWS サービスを利用して現

    実世界のオープンエンドの問題を解決することが求められます。ゲーム型学習 環境で作業します。これは、AWS マネジメントコンソールサンドボックスでシ ミュレートされたユースケースを通じて AWS クラウドのスキルを習得するの に役立ちます。技術ドメインや職種、および難易度別に課題を選択します。必 要に応じて、課題の解決に役立つヒントが用意されています。 ◼料金 ◼一人あたり29USD/月 もしくは 449 USD/年 ◼複数人で競う場合は、最低5人~(これも一人辺り449 USD) ツイートはこちら⇒#jawsug_sainokuni https://aws.amazon.com/jp/training/digital/aws-jam/