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
68
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
15
CDKとは?からコントリビュートまで〜半年間のCDK学習振り返りとこれから〜
kawaaaas
1
94
おばけのアイコン可愛い、で終わらせない!KiroのSpec駆動開発に再入門
kawaaaas
0
16
初心者CDKコントリビューターによる、初心者CDKコントリビューターのためのJSII入門
kawaaaas
0
26
5分でわかって、明日からCDKを使いたくなる!個人的感動機能10選!
kawaaaas
1
320
なぜconsole.logはTokenになるのか?もうハマらないためにTokenをちゃんと理解する
kawaaaas
1
1.3k
初心者を卒業したい! CDKをちゃんと理解するためにAspectsを覗いてみる
kawaaaas
3
260
2026年はアウトプットに挑戦したい!
kawaaaas
0
14
3つのアーキテクチャで試す、IAM Policy Autopilot
kawaaaas
0
170
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
140
Utilizing Notion as your number one productivity tool
mfonobong
4
290
KATA
mclloyd
PRO
35
15k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
730
Game over? The fight for quality and originality in the time of robots
wayneb77
1
160
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
500
The Cult of Friendly URLs
andyhume
79
6.8k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.5k
Automating Front-end Workflow
addyosmani
1370
200k
Producing Creativity
orderedlist
PRO
348
40k
Claude Code のすすめ
schroneko
67
220k
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 を学びましょう!
ご清聴ありがとうございました!