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
40
アーキテクト・CDK・OSSを一気に学ぶ!L3 Construct実装のススメ
Shota Kawasaki
March 06, 2026
Tweet
Share
More Decks by Shota Kawasaki
See All by Shota Kawasaki
おばけのアイコン可愛い、で終わらせない!KiroのSpec駆動開発に再入門
kawaaaas
0
10
初心者CDKコントリビューターによる、初心者CDKコントリビューターのためのJSII入門
kawaaaas
0
23
5分でわかって、明日からCDKを使いたくなる!個人的感動機能10選!
kawaaaas
0
160
なぜconsole.logはTokenになるのか?もうハマらないためにTokenをちゃんと理解する
kawaaaas
1
1.3k
初心者を卒業したい! CDKをちゃんと理解するためにAspectsを覗いてみる
kawaaaas
3
240
2026年はアウトプットに挑戦したい!
kawaaaas
0
14
3つのアーキテクチャで試す、IAM Policy Autopilot
kawaaaas
0
160
作って学ぶ!Kiro Powers
kawaaaas
0
150
Featured
See All Featured
Between Models and Reality
mayunak
2
230
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
370
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
Color Theory Basics | Prateek | Gurzu
gurzu
0
230
Designing Experiences People Love
moore
143
24k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
380
Visualization
eitanlees
150
17k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.3k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
140
My Coaching Mixtape
mlcsv
0
63
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
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 を学びましょう!
ご清聴ありがとうございました!