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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
New Earth Scene 8
popppiees
3
2.1k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
510
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
520
RailsConf 2023
tenderlove
30
1.4k
KATA
mclloyd
PRO
35
15k
4 Signs Your Business is Dying
shpigford
187
22k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
310
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 を学びましょう!
ご清聴ありがとうございました!