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
73
0
Share
アーキテクト・CDK・OSSを一気に学ぶ!L3 Construct実装のススメ
Shota Kawasaki
March 06, 2026
More Decks by Shota Kawasaki
See All by Shota Kawasaki
CloudFormationから理解するCDKのAwsCustomResourceの使用法
kawaaaas
1
24
CDKとは?からコントリビュートまで〜半年間のCDK学習振り返りとこれから〜
kawaaaas
1
110
おばけのアイコン可愛い、で終わらせない!KiroのSpec駆動開発に再入門
kawaaaas
0
23
初心者CDKコントリビューターによる、初心者CDKコントリビューターのためのJSII入門
kawaaaas
0
28
5分でわかって、明日からCDKを使いたくなる!個人的感動機能10選!
kawaaaas
1
330
なぜconsole.logはTokenになるのか?もうハマらないためにTokenをちゃんと理解する
kawaaaas
1
1.4k
初心者を卒業したい! CDKをちゃんと理解するためにAspectsを覗いてみる
kawaaaas
3
280
2026年はアウトプットに挑戦したい!
kawaaaas
0
17
3つのアーキテクチャで試す、IAM Policy Autopilot
kawaaaas
0
180
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
5.9k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
500
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
150
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Accessibility Awareness
sabderemane
1
120
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
350
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 を学びましょう!
ご清聴ありがとうございました!