Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
アーキテクト・CDK・OSSを一気に学ぶ!L3 Construct実装のススメ
Search
Shota Kawasaki
March 06, 2026
0
63
アーキテクト・CDK・OSSを一気に学ぶ!L3 Construct実装のススメ
Shota Kawasaki
March 06, 2026
Tweet
Share
More Decks by Shota Kawasaki
See All by Shota Kawasaki
CDKとは?からコントリビュートまで〜半年間のCDK学習振り返りとこれから〜
kawaaaas
1
83
おばけのアイコン可愛い、で終わらせない!KiroのSpec駆動開発に再入門
kawaaaas
0
15
初心者CDKコントリビューターによる、初心者CDKコントリビューターのためのJSII入門
kawaaaas
0
24
5分でわかって、明日からCDKを使いたくなる!個人的感動機能10選!
kawaaaas
1
280
なぜconsole.logはTokenになるのか?もうハマらないためにTokenをちゃんと理解する
kawaaaas
1
1.3k
初心者を卒業したい! CDKをちゃんと理解するためにAspectsを覗いてみる
kawaaaas
3
250
2026年はアウトプットに挑戦したい!
kawaaaas
0
14
3つのアーキテクチャで試す、IAM Policy Autopilot
kawaaaas
0
160
作って学ぶ!Kiro Powers
kawaaaas
0
160
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
96
14k
Balancing Empowerment & Direction
lara
5
1k
Test your architecture with Archunit
thirion
1
2.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
The Invisible Side of Design
smashingmag
302
51k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
480
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
4 Signs Your Business is Dying
shpigford
187
22k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
340
Transcript
Netadashi Meetup #16 2026/3/6 Shota Kawasaki アーキテクト・CDK ・OSS を⼀気に学ぶ! L3
Construct 実装のススメ
出身: 千葉県(横浜まで2 時間弱かかります... ) 所属: SIer 年次: 1 年目 好きな技術:
AWS, React : @kawaaaas Shota Kawasaki
皆さん、AWS CDK 使用していますか?
AWS CDK とは AWS 公式が提供するIaC ツール プログラミング言語で リソースを定義 CloudFormation を生成
少ない記述量で ベストプラクティス に沿って構築
1 AWS は業務で触っているけど、特定のサービスしか触らない 1 からアーキテクチャを考える機会ってなかなか無いですよね CDK やそもそもAWS を学んでいて、 こんな課題感じていませんか? CDK
は使っているけど、設計から携わる機会がない 設計時の意思決定から学べること多いですよね CDK にコントリビュートしてみたいが、ハードルが高い OSS へのコントリビュートはハードルの高さが⼀番の課題です 2 3
1 AWS は業務で触っているけど、特定のサービスしか触らない 1 からアーキテクチャを考える機会ってなかなか無いですよね CDK やそもそもAWS を学んでいて、 こんな課題感じていませんか? CDK
は使っているけど、設計から携わる機会がない 設計時の意思決定から学べること多いですよね CDK にコントリビュートしてみたいが、ハードルが高い OSS へのコントリビュートはハードルの高さが⼀番の課題です 私はこれらの課題に悩んでいました 2 3
1 AWS は業務で触っているけど、特定のサービスしか触らない 1 からアーキテクチャを考える機会ってなかなか無いですよね CDK やそもそもAWS を学んでいて、 こんな課題感じていませんか? CDK
は使っているけど、設計から携わる機会がない 設計時の意思決定から学べること多いですよね CDK にコントリビュートしてみたいが、ハードルが高い OSS へのコントリビュートはハードルの高さが⼀番の課題です 私はこれらの課題に悩んでいました 2 3 この課題を感じている全AWS学習者、そしてCDKをこれから 学んでいきたい皆さんに勧めたい学習法があります
L3 Construct 実装
CDK には3 つの抽象化レベルが存在する CDK のConstruct には3 つの「抽象化」レベルが存在する L3 Construct 特定のアーキテクチャを実装(パッケージ化)する
L1 Construct Cfn と1 対1 対応、Cfn から⾃動⽣成される L2 Construct 適切なデフォルトプロパティやリソースの特性に沿った ヘルパーメソッドが用意されている 抽象度高 汎用性低
CDK には3 つの抽象化レベルが存在する CDK のConstruct には3 つの「抽象化」レベルが存在する L1 Construct Cfn
と1 対1 対応、Cfn から⾃動⽣成される L2 Construct 適切なデフォルトプロパティやリソースの特性に沿った ヘルパーメソッドが用意されている 抽象度高 汎用性低 特定のアーキテクチャをCDK で構築して OSS として公開しよう!という話をします L3 Construct 特定のアーキテクチャを実装(パッケージ化)する
https://constructs.dev/packages/serverless-spa-construct
フロントエンドをS3 で配信(SPA ) serverless なAPI
認証付きのサーバレスなアーキテクチャを以下の 2 つのインスタンス⽣成のみで実装できるよう抽象化している Factory メソッドを⽤いてユースケースに 合わせた実装を可能にしている
1 AWS は業務で触っているけど、特定のサービスしか触らない →1 からアーキテクチャの設計ができます CDK は使っているけど、設計から携わる機会がない → 実践的なCDK の設計ができます
CDK にコントリビュートしてみたいが、ハードルが高い →Construct Hub への公開を通し、OSS の基礎を学べます 2 3 L3 Construct 実装は皆さんが抱えている課題を解決する!
実装を通してアーキテクチャの設計ができる CloudFront にアタッチするWAF をバイパスされないよう、 API の叩き⼿をCloudFront のみに絞る部分を⼯夫 1
実装を通してアーキテクチャの設計ができる CloudFront にアタッチするWAF をバイパスされないよう、 API の叩き⼿をCloudFront のみに絞る部分を⼯夫 1 ① lambda@edge
でSecret Manager からローテーション する文字列を取得、カスタムヘッダに格納
実装を通してアーキテクチャの設計ができる CloudFront にアタッチするWAF をバイパスされないよう、 API の叩き⼿をCloudFront のみに絞る部分を⼯夫 1 ① lambda@edge
でSecret Manager からローテーション する文字列を取得、カスタムヘッダに格納 ② Lambda Authorizer でCognito のJWT 検証と カスタムヘッダの値を検証、API のセキュリティを担保
実践的なCDK の設計ができる クロスリージョンのStack 間の依存関係をSSM を⽤いて解決 CDK では複数リージョン、複数Stack になると 実装難易度が一気に上がります 2
us-east-1 で定義したWAF のarn をap-northeast-1 にSSM 経由で渡す 内部では、us-east-1 側にてarn をSSM に
格納する ユーザー視点では、ap-northeast-1 のスタックにSSM のprefix 渡すだけで 依存関係が解決、疎結合でベストプラクティスに沿った抽象化を実現 実践的なCDK の設計ができる 2
3 Construct Hub への公開を通しOSS の基礎が学べる L3 Construct をOSS で公開するための設定を、 `npx
projen new awscdk-construct` で⼀括設定できる プロジェクト構成のコード化 (Project as Code )を実現するツール npx projen new awscdk-construct
3 Construct Hub への公開を通しOSS の基礎が学べる L3 Construct をOSS で公開するための設定を、 `npx
projen new awscdk-construct` で⼀括設定できる プロジェクト構成のコード化 (Project as Code )を実現するツール npx projen new awscdk-construct Pipeline でのビルドやnpm パブリッシュなどOSS として必要な Actions が自動で設定され、最適なworkflow を学習できる
1 AWS は業務で触っているけど、特定のサービスしか触らない →1 からアーキテクチャの設計ができます CDK は使っているけど、設計から携わる機会がない → 実践的なCDK の設計ができます
CDK にコントリビュートしてみたいが、ハードルが高い →Construct Hub への公開を通し、OSS の基礎を学べます 2 3 まとめ L3 Construct の実装を通してCDK 、そしてAWS を学びましょう!
ご清聴ありがとうございました!