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
AWS CDK を支える Constructs について
Search
acomagu
January 10, 2021
Programming
190
0
Share
AWS CDK を支える Constructs について
acomagu
January 10, 2021
More Decks by acomagu
See All by acomagu
Payment Records API を使って地域通貨を Stripe Dashboard に統合してみた
acomagu
0
57
Restate x Stripe: 安心して眠れる決済システムを目指して
acomagu
0
15
Stripe SSoT をするべきか否か
acomagu
0
76
JP_Stripes: リコンサイル(突合処理)のテスト
acomagu
0
120
「境界付けられたコンテキスト間の関係」についてもっと語ろう
acomagu
0
160
地方 MaaS 事例: アプリの進化に伴って変化してきた Stripe 利用方法
acomagu
0
480
Stripe リコンサイルの勘所
acomagu
0
530
CDK 一発で全てのエラーログを Slack に流す
acomagu
0
2.3k
DDDとは結局何なのか
acomagu
0
430
Other Decks in Programming
See All in Programming
20260514_its_the_context_window_stupid.pdf
heita
0
1k
要はバランスからの卒業 #yumemi_grow
kajitack
0
170
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
1.1k
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
200
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
460
AIを導入する前にやるべきこと
negima
2
360
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
3.2k
iOS26時代の新規アプリ開発
yuukiw00w
0
140
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
410
My daily life on Ruby
a_matsuda
3
410
Terraform言語の静的解析 / static analysis of Terraform language
wata727
1
150
関係性から理解する"同一性"の型用語たち
pvcresin
1
200
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Being A Developer After 40
akosma
91
590k
Rails Girls Zürich Keynote
gr2m
96
14k
Odyssey Design
rkendrick25
PRO
2
620
sira's awesome portfolio website redesign presentation
elsirapls
0
250
A designer walks into a library…
pauljervisheath
211
24k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
400
Writing Fast Ruby
sferik
630
63k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
58
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
Transcript
AWS CDK を支える Constructs について @acomagu
AWS CDK とは Constructs Programming Model で CloudFormation Template を記述するための
ライブラリである
Costructs Programming Model とは? Construct と呼ばれるオブジェクトのツリー構造で任意の設定ファイルを生成する方法 github.com/aws/constructs に Constructs Programming
Model を実践するための支 援ライブラリがある。
Costructs Programming Model とは? Source Code
Costructs Programming Model とは? Source Code
Costructs Programming Model とは? Source Code
Costructs Programming Model とは? Source Code
Costructs Programming Model とは?
Question こうするには?
Answer
何が言いたいか: Construct のツリー構造がそのまま結果の構造になるわけではない (iff. 結果の構造がそのまま Construct のツリー構造に反映されるわけではない)
じゃあ ここって何に使うの...? →
じゃあ ここって何に使うの...? → 答え: 抽象化
抽象化する Source Code
抽象化する Source Code
抽象化する Source Code
抽象化する
何が嬉しいの?
何が嬉しいの?
何が嬉しいの?
何が嬉しいの? ライブラリ
何が嬉しいの?
実際の AWS CDK でどうなっているか
何が省略されているか - よく練られたデフォルト値 - lambda.Function も実際には CloudFormation の Function Resource
だけでな く、Deployment、CloudWatch(Log)、ServiceRole などを含んでいる - インターフェースやメソッドを駆使して設定を表現できる
その他やっていること - LambdaFunctionFactory という、Lambda.Function を作るための便利関数を作っ てたりする - ログの設定やデプロイ周りのコードがまとまっていたりする - ApiGatewayV2
というリソースがまだ完全に L2 Construct ライブラリ化されていな いので、社内で自作のものを共有している - 実質 CloudFormation のテンプレートをそのまま書くのと変わらないので、 CloudFormation に慣れ ていれば簡単 - 「特定の文字列が含まれるログを Slack に通知する」という機能を実現する Construct を OSS で公開している(TheDesignium/cdk-log-notifier)
まとめ - Constructs Programming Model とは Construct と呼ばれるオブジェクトのツリー 構造で設定ファイルを記述するパターンである -
AWS CDK とは Constructs Programming Model で CloudFormation Template を記述するための技術(ライブラリ群)である