Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
cdk deploy JawsSonic #MARATHONしながらAWSリソースをデプロイし...
Search
アキキー | Akihisa Ikeda
September 05, 2026
Programming
150
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
cdk deploy JawsSonic #MARATHONしながらAWSリソースをデプロイしてみよう
アキキー | Akihisa Ikeda
September 05, 2026
More Decks by アキキー | Akihisa Ikeda
See All by アキキー | Akihisa Ikeda
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
300
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
4
4.6k
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
340
AWSはOSSをどのように 考えているのか?
akihisaikeda
1
200
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
270
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
5
290
AWS CDKの推しポイントN選
akihisaikeda
1
350
地獄絵図!CDKプロジェクトを手動更新して生まれた大量のプロパティ差分を解消する方法
akihisaikeda
5
1.5k
AWS CDK初期設定のプラクティス集 with Projen
akihisaikeda
3
530
Other Decks in Programming
See All in Programming
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
570
新卒PdEのリアル
ryu1013
1
520
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
3.2k
AHC070解法紹介
eijirou
0
140
AWSに止められる覚悟してますか?
morizo_1984
1
360
wkhtmltopdfの次どうするか問題2026
willnet
2
1.7k
Intent as Code
shoppingjaws
6
1.1k
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
370
Jetpack Compose メカニズム
skydoves
0
480
The Rails Doctrine Decade
koic
2
390
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
200
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
6
4.8k
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
4.9k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Balancing Empowerment & Direction
lara
6
1.3k
The World Runs on Bad Software
bkeepers
PRO
72
12k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
58k
Are puppies a ranking factor?
jonoalderson
2
3.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Become a Pro
speakerdeck
PRO
31
6.3k
Transcript
cdk deploy JawsSonic # MARATHONしながらAWSリソースをデプロイしてみよう 2026/9/5 sat. JAWS-UG CDK支部 /
アキキー(@akikii__)
JAWS-UG CDK支部 AWS CDKに関する知見やプラクティスを共有する専門支部 運営メンバー @tmk2154 @yamatatsu193 @HorseVictory @tniizawa @yktAWS
@hayatin @WinterYukky @rrrraaaaa6 @hedgehog051 @makies @akikii__ @kawaaaas https://jawsug-cdk.connpass.com
アキキー | 池田 晃尚 推しサービス AWS CDK 最近の趣味 ランニング 🏃
半年くらい前から ランニングを始めました 最初は 3〜4km くらい走るのがやっとでしたが… いまは 10km くらい走っています!
Q. なぜ走る距離が伸びたの? 気合い?根性?執念? A. 走りながらコーディングエージェントを動 かしているので暇じゃなくなったから 走りながら音声入力で指示しています! CDKでAWSリソースもデプロイできちゃいます!!!
音声でやりとりする仕組み Discord 話す ボイスチャンネル 聞く AWS Cloud ⾳声 読み上げ ⾳声
bot 受信 送信 ECS タスク AWS Fargate Discord Gateway Discord 接続・⾳声の⼊出⼒と制御 ⾳声→⽂字 ⽂章→⾳声 Speech to Text 投稿 検知 ⽂字起こしの オーケストレーション Text to Speech VOICEVOX で 読み上げ⾳声を合成 ⽂字起こし Claude Code channels プラグイン 通知 返信 Claude Code bot 読む 投稿 テキストチャンネル Transcribe Stream
音声でやりとりする制約 ランニング中はソースコードを読めないので 限りなく要約してもらったものをレビューしている 実装に不具合があった場合 何回もデプロイし直すことになり時間がかかってしまう
CDK × コーディングエージェント
CDK × コーディングエージェント AWS CDK とは? プログラミング言語を利用してAWSリソースを構築するIaCサービス プログラミング言語で AWSリソースを定義 →
AWSリソースの状態を見て 差分をデプロイ → AWSリソース
CDK × コーディングエージェント CDKはプログラミング言語で書けるので コーディングエージェントの得意分野! しかし コードの正しさを自身で判断できない なので 正しさを検証する仕組みを整えてあげる必要がある
CDK × コーディングエージェント CDKの検証サイクル CDKで利用できる検証ツール/コマンド 実装・修正する Linter 型チェッカー 単体テスト cdk
synth コーディングエージェント AWS CDK cdk diff cdk validate 検証してフィードバックを返す cdk drift cdk diagnose
CDK × コーディングエージェント CDKの検証サイクル CDKで利用できる検証ツール/コマンド 実装・修正する Linter 型チェッカー 単体テスト 検証サイクルを繰り返して正しい実装に近づけている
cdk synth コーディングエージェント AWS CDK cdk diff cdk validate 検証してフィードバックを返す cdk drift cdk diagnose
CDK × コーディングエージェント CDKの最近の動向 CDKの実装が正しいか検証できるコマンドが続々追加されている 2026/04 プレビュー 2026/06 プレビュー 2026/07
プレビュー cdk diagnose cdk validate cdk lsp デプロイに失敗した原因を調査 するコマンド デプロイログやCloudTrail、作 成したリソースのログなどを見 て判断する デプロイに失敗しないか検証す るコマンド オフラインバリデーション →ルールセットに照らして検証 オンラインバリデーション →AWSアカウントの実際の状 態に合わせて、デプロイ可能か 検証する コードを書いている最中に、 CDK特有のエラーや警告を教え てくれるLanguage Serverを 立てるコマンド 保存時にSynthesizeを実行し て、エラー箇所をソースコード とマッピングして返す
エージェントの動きをトレースしてみよう
CDKアプリの開発フロー エージェントの動きをトレースしてみよう ▲ 実行サイクルが速い / 変更の回数が多い ファイル編集 実装のためにファイルを編集する git commit
編集したファイルをまとめてコミットする git push コミットをまとめてリモートブランチにプッシュする 作成 PR cdk deploy プルリクエストを作成するとCIで検証が走る PRをマージするとCDから実環境にデプロイされる ▼ 実行サイクルが遅い / 変更の回数が少ない
CDKアプリの開発フロー エージェントの動きをトレースしてみよう ▲ 実行サイクルが速い / 変更の回数が多い ファイル編集 実装のためにファイルを編集する git commit
編集したファイルをまとめてコミットする 早いタイミングでエラーを潰すことで、検証サイクルを早められる! git push 作成 PR cdk deploy コミットをまとめてリモートブランチにプッシュする プルリクエストを作成するとCIで検証が走る PRをマージするとCDから実環境にデプロイされる ▼ 実行サイクルが遅い / 変更の回数が少ない
CDKで検証する仕組み エージェントの動きをトレースしてみよう ファイル編集 Linter / 型チェッカー git commit 単体テスト /
cdk synth git push cdk diff 作成 PR cdk deploy CI (cdk validate / cdk drift / Linter / 単体テスト / 型チェッカー) CD (cdk deploy) / cdk diagnose これらのタイミングで検証が走るように設定しています
エージェントの動きをトレースしてみよう それでは エージェントに機能追加を依頼します 音声での会話ログをS3に保存するようにして わかった!実装は任せて! 実際にどう検証されるのか見てみましょう!
エージェントの動きをトレースしてみよう ファイルを編集するよ〜 ファイル編集 git commit git push 作成 PR cdk
deploy ファイル編集後に検証する仕組み Linter ソースコードを静的解析して、プログラミング言語や CDKのルール違反を検証 型チェッカー ソースコードで定義している型に矛盾がないかを検証
エージェントの動きをトレースしてみよう Lintエラーが出ちゃった ファイル編集 Lint結果 $ pnpm lint git commit git
push 作成 PR cdk deploy awscdk-lint Lint plugins for AWS CDK × awscdk/pascal-case-construct-id Construct ID PascalCase は で指定してください Found 0 warnings and 1 error. awscdk-lint (eslint-plugin-awscdk/oxlint-plugin-awscdk) CDKのセオリーに基づくコーディング規約を提供する Lintプラグイン
エージェントの動きをトレースしてみよう 修正したよ ファイル編集 ソースコード git commit // Construct ID PascalCase
const bucket = new s3.Bucket(this, 'LogBucket', { removalPolicy: cdk.RemovalPolicy.RETAIN, }); git push 作成 PR cdk deploy ✅ を に修正
エージェントの動きをトレースしてみよう Lintエラーなくなった! ファイル編集 Lint結果 $ pnpm lint git commit git
push 作成 PR cdk deploy Found 0 warnings and 0 errors.
エージェントの動きをトレースしてみよう 一区切りついたしcommitするね ファイル編集 git commit git push commit前に検証する仕組み Synthesize(cdk synth)
作成 PR cdk deploy AWS CDK における単体テストの使い所を学ぶ CDKアプリを実行してCDKソースをCFnテンプレートに 合成し、デプロイできる状態にする CDKの単体テスト スナップショットテスト Fine-grained assertionsテスト バリデーションテスト
エージェントの動きをトレースしてみよう 一通り実装できたしpushするよ ファイル編集 git commit git push 作成 PR cdk
deploy push前に検証する仕組み cdk diff デプロイ済みのCFnテンプレートと合成した CFnテンプレートを見比べて差分を検証 AWSへアクセスして確認する
エージェントの動きをトレースしてみよう プルリクエスト作ったよ ファイル編集 git commit git push 作成 PR cdk
deploy プルリクエスト作成後の検証(CI) cdk validate オフライン:ルールセットに照らして検証 オンライン:AWSの状態を見てデプロイ可能か検証 cdk drift デプロイ済みのリソースに手で変更された形跡がない かを検証 Lint / 型チェック / 単体テスト
エージェントの動きをトレースしてみよう cdk validate ファイル編集 が失敗してる cdk validate結果 $ cdk validate
BotStack --unstable=validate git commit git push 作成 PR cdk deploy FATAL Resource of type 'AWS::S3::Bucket' with identifier 'akikii-conversation-log' already exists. # AWS S3 に同名の バケットが既に存在していた
エージェントの動きをトレースしてみよう 修正したよ ファイル編集 ソースコード git commit const bucket = new
s3.Bucket(this, 'LogBucket', { // bucketName CDK removalPolicy: cdk.RemovalPolicy.RETAIN, }); git push 作成 PR cdk deploy ✅ は指定せず、 に一意な名前を付けさせる
エージェントの動きをトレースしてみよう cdk validate ファイル編集 通った!CIも成功したよ cdk validate結果 $ cdk validate
BotStack --unstable=validate git commit git push 作成 PR cdk deploy ✨ Validation passed (1 stack)
エージェントの動きをトレースしてみよう 実装完了したよ!ニンゲン、これでいい? ファイル編集 git commit git push 作成 PR cdk
deploy 会話ログ用のS3バケット追加 会話を書込むようアプリ修正 おk、マージするね マージすると走るデプロイ $ cdk deploy --no-rollback # --no-rollaback # をつけるとデプロイ失敗してもリソースを切り戻さない 開発環境のような失敗しても問題ない環境で検証する
エージェントの動きをトレースしてみよう デプロイが失敗しちゃった... ファイル編集 デプロイログ git commit BotStack | UPDATE_FAILED |
AWS::ECS::Service Resource handler returned message: 'ECS Deployment Circuit Breaker was triggered' # git push 作成 PR cdk deploy タスクが起動できずデプロイ失敗 デプロイログからはタスク起動に失敗した理由がわ からない
エージェントの動きをトレースしてみよう cdk diagnose で原因を調べるね ファイル編集 cdk diagnose結果 git commit $
cdk diagnose BotStack --unstable=diagnose Source Location: new ConversationLog (lib/conversation-log.ts:31:5) git push 作成 PR cdk deploy Task stopped: Essential container in task exited Container "discord-bot" exited with code 1 # S3 Object upload failed: An error occurred (AccessDenied) when calling the PutObject operation: ... is not authorized to perform: s3:PutObject on resource: "arn:aws:s3:::botstack-.../run.log" 作成した バケットへ を書き込む権限がなかった ロールバックされずに残ったECSログから原因判明
エージェントの動きをトレースしてみよう 修正したよ ファイル編集 git commit git push 作成 PR cdk
deploy ソースコード const bucket = new s3.Bucket(this, 'LogBucket', { removalPolicy: cdk.RemovalPolicy.RETAIN, }); // Grants bucket.grants.write(props.taskRole); ✅ クラスで書き込み権限を付与
エージェントの動きをトレースしてみよう 再デプロイしたら成功した! ファイル編集 デプロイログ BotStack | UPDATE_COMPLETE | AWS::CloudFormation::Stack git
commit git push 作成 PR cdk deploy ✅ BotStack Deployment time: 274.4s
CDKで検証する仕組み エージェントの動きをトレースしてみよう ファイル編集 Linter / 型チェッカー git commit 単体テスト /
cdk synth git push cdk diff 作成 PR cdk deploy CI (cdk validate / cdk drift / Linter / 単体テスト / 型チェッカー) CD (cdk deploy) / cdk diagnose 検証サイクルを回すことでエージェントが自律的に修正できた!
まとめ
まとめ CDKには実装したコードを検証する仕組みが揃っている その仕組みを使うことで エージェントが自律的に検証して直せる これでみなさんも走りながらAWSにデプロイでき ますね!!!
宣伝
宣伝 久しぶりのテーマフリーLT会やります! jawsug-cdk.connpass.com/event/402841 2026/9/8 (火) 19:30 〜 21:00 オンライン
Thank You! \ ご清聴ありがとうございました! /