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

cdkdがどんだけ早いか、実際に動かして見てみよう

Makky12
November 13, 2026

 cdkdがどんだけ早いか、実際に動かして見てみよう

2026/11/14(土)に開催された「JAWS-UG名古屋 11月会 松阪出張 第2弾!Demo-1グランプリ」における私の発表「cdkdがどんだけ早いか、実際に動かして見てみよう」の発表資料です。

https://jawsug-nagoya.connpass.com/event/408705/

#jawsug #jawsug_nagoya

Makky12

November 13, 2026

Transcript

17 slides
  1. 自己紹介 ◼ 氏名:鈴木 正樹 ◼ 所属:KDDIアジャイル開発センター(KAG) 名古屋オフィス ◼ 役割:Atlassian テクニカルエキスパート

    & クラウドアーキテクト サーバーレス&IaCが大好き。好きなサービスはAWS LambdaとAWS CDK 主にJAWS-UG 名古屋 & JAWS-UG CDK支部で活動 ◼ Certification: ◼ AWS Community Builder(serverless)(2023~) ◼ Scrum Inc. 認定スクラムマスター(2025~) ◼ : @makky12(SUZUKI Masaki@クラウドエンジニア) ◼ Blog:https://makky12.hatenablog.com/ KDDI Agile Development Center Corporation 1
  2. アジェンダ&注意事項 • cdkdとは&cdkdのメリット • demo • 注意事項&ユースケース • まとめ ※

    この資料では、文字数の関係でAWSサービス先頭の「AWS」「Amazon」は省略しています。 またAWS CloudFormationを「CFn」と略記しています。 ※ この資料は、下記URLで公開済みです ◦ https://speakerdeck.com/smt7174/20261114-jawsug-nagoya-matsusaka-demo KDDI Agile Development Center Corporation 2
  3. cdkdとは ※ cdkdの概要 • AWS Hero 後藤健太さん作の、CDK CLIをフルスクラッチしたCDKデプロイツール • 最大の特徴は「とにかくデプロイが速い!」(本ツール最大のメリット)

    ◦ CFnを使わずに、APIで直接AWSサービスを作成している(ちなみにcdkdの「d」は「direct」の「d」) ◦ もちろん、それ以外にもメリットがある(詳しくは次スライドで紹介) • GitHubリポジトリはこちら(インストール手順もこちらを参照) ◦ https://github.com/go-to-k/cdkd KDDI Agile Development Center Corporation 4
  4. cdkdのメリット(続き) ※ 「デプロイの速さ」以外のメリット • CDKコードをそのまま使用可能(1行も書き換え不要) ◦ aws-cdk-lib とは完全に独立 • 基本機能や挙動はCDK

    CLIに完全準拠 ◦ CDK CLIの基本的な機能は、cdkdでもそのまま使用可能 ◦ 例)物理名の自動生成・ロールバック・差分/ドリフト検出 …etc. • CDK CLIにはない、cdkdだけのオリジナル機能を持つ ◦ アプリのローカル実行(デプロイ済みシークレットや環境変数を自動取得。ローカルに.envファイル不要) ◦ 広範囲なドリフト検知(一部の「cdk drift」では検知できないドリフトも検出可能) ◦ cdkd ⇔ CFnの相互移行… etc. KDDI Agile Development Center Corporation 6
  5. 今回デプロイするスタックのアーキテクチャ ※下記アーキテクチャをCDK CLI(CFn)とcdkdそれぞれでデプロイ AWS Cloud Request User invoke Amazon API

    Gateway listObjectsV2 Amazon DynamoDB AWS Lambda Amazon DynamoDB ※未使用(cdk deployの時間稼ぎのため、 それぞれ3個づつ作成) scan Amazon Simple Queue Amazon Simple Service Notification Service KDDI Agile Development Center Corporation Amazon Simple Storage Service Amazon Simple Storage Service 8
  6. Lambda関数の処理内容について ※ REST APIとして実施(curlを使用) • 今回デプロイするLambda関数では、下記の処理を実施しています ◦ 各S3バケットのオブジェクト数(=ファイル数)取得(=ListObjectsV2) ◦ 各DynamoDBテーブルの登録データ数取得(=Scan)

    • ただし今回は上記の登録処理をしないので、結果はいずれも「0件」になります • あくまで「cdkdで高速デプロイしたサービスが正しく動くこと」の確認として見てもらえれ ばと思います ◦ もちろん、登録処理をすれば正しく件数も取得できます(今日は時間の関係で省略) KDDI Agile Development Center Corporation 9
  7. 注意事項 ※ やっぱり「銀の弾丸」はない • CFnを利用しないため「万が一何かあったとき」の完全な保証はない ◦ だからこそ「デプロイスピードの速さ」に全振りが可能 ◦ 「クラウドアーキテクチャはトレードオフ」 •

    そのため、本番環境などの「何かあっては困る」環境での利用は注意が必要 • 作者の後藤さんも「現状では本番環境での使用は非推奨」と言っている ◦ ただし、将来的には本番環境での使用も視野に入れているとのこと ◦ 参考: https://speakerdeck.com/gotok365/2026-1105-cdkd?slide=13 KDDI Agile Development Center Corporation 11
  8. ユースケース • 開発環境や個人環境での使用(安全性よりスピードを重視出来る環境) ◦ コーディングはAIで高速化できている(と思う)ので、環境構築もcdkdで高速化する(=AI開発と相性が良い) ◦ 環境構築も高速化することで、結果として開発ライフサイクル全体の高速化を実現可能 • CI/CDでの「一時的な環境」の構築(E2Eテスト、integ-testなど) ◦

    このような「使い捨ての環境」の構築に、cdkdはうってつけ ◦ 「デプロイが速い」こともCI/CDと相性が良い(CIがより短い時間で終わる) • メインスタックと開発者別アプリスタックの分離(CFnとの併用) ◦ メインスタックでメインアプリの各種サービスをCDK CLI(=CFn)でデプロイ ◦ 開発者別アプリスタックでは、各開発者が開発・検証する用のアプリ系サービスのみをcdkdでデプロイ KDDI Agile Development Center Corporation 12
  9. 「メインスタックと開発者別アプリスタックの分離」について(図解) ※ 注)下記は一例。また「CDK CLI(CFn)」もアプリとストレージでスタック分離するのもアリ cdkd CDK CLI(CFn) 参照(ITableRef) Amazon API

    Gateway AWS Lambda Amazon API Gateway AWS Lambda Amazon API Gateway AWS Lambda Amazon DynamoDB 参照(IBucketRef) Amazon Simple Storage Service Amazon API Gateway AWS Lambda KDDI Agile Development Center Corporation 13
  10. まとめ ※本セッションのまとめ • cdkdを利用することで、CDKでコーディングしたインフラ定義を高速でデプロイ可能 ◦ それ以外にも「基本機能・挙動はCDK CLIに完全準拠」「cdkdオリジナルの機能」などのメリットがある • 開発環境・個人環境やCI/CDでの一時的な環境など「スピード重視」の環境構築に最適 ◦

    AIコーディングとの相性も良く、開発ライフサイクル全体の高速化を実現可能 • 逆に本番環境など「万が一何かあっては困る」環境での使用は要注意 ◦ そのような環境では安全性を重視し、CDK CLI(CFn)でのデプロイを推奨 ◦ 両者を使い分けたり、ハイブリッド使用する事で効率的な開発・運用スタイルを目指す ◦ ただし将来的には「本番環境での使用も視野に入れている」そうなので、今後に期待&Let’s contribute! KDDI Agile Development Center Corporation 15

More Decks by Makky12

Other Decks in Technology