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
0
130
AWS CDK を支える Constructs について
acomagu
January 10, 2021
Tweet
Share
More Decks by acomagu
See All by acomagu
地方 MaaS 事例: アプリの進化に伴って変化してきた Stripe 利用方法
acomagu
0
60
Stripe リコンサイルの勘所
acomagu
0
240
CDK 一発で全てのエラーログを Slack に流す
acomagu
0
1.9k
DDDとは結局何なのか
acomagu
0
200
API Gateway HTTP API について
acomagu
0
110
JP_Stripes: 一貫性に寄与する設計
acomagu
0
75
Stripeではじめての決済
acomagu
0
700
あなたの知らない(かもしれない)Git
acomagu
2
95
UTF-8 依存の Go コードとは?
acomagu
1
150
Other Decks in Programming
See All in Programming
大規模マルチテナントを解決するYugabyteDBという選択肢
nnaka2992
1
250
I/O Extended Android in Korea 2024 ~ Whats new in Android development tools
pluu
0
250
3 Effective Rules for Success with Signals in Angular
manfredsteyer
PRO
0
120
Introduction to GitOps
hwchiu
0
110
Product Management LT会_クアンド新家
shinshin
0
210
Namespace on read
tagomoris
2
370
[After Kotlin Fest 2024 LT Night @ Sansan] もっともっとKotlinを好きになる!K2 Compiler Pluginで遊んでみよう!
kitakkun
2
260
Rustのweb開発を助ける 便利なツール紹介
yuki0418
1
190
MIERUNE BBQにおけるユーザー中心設計()
mierune
PRO
1
110
今こそ始める、CDKコンストラクトライブラリ開発 ― 入門から実践まで
tmokmss
1
930
DynamoDB コスト最適化っぽいことの基本 with Terraform
kuro_kurorrr
2
250
Architectures with Lightweight Stores: New Rules and Options
manfredsteyer
PRO
0
100
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
399
65k
Design by the Numbers
sachag
277
18k
In The Pink: A Labor of Love
frogandcode
139
22k
Web Components: a chance to create the future
zenorocha
307
41k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
13
430
Git: the NoSQL Database
bkeepers
PRO
423
64k
Mobile First: as difficult as doing things right
swwweet
219
8.8k
Code Review Best Practice
trishagee
58
16k
Building Adaptive Systems
keathley
34
2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.8k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
How to Ace a Technical Interview
jacobian
274
23k
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 を記述するための技術(ライブラリ群)である