Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
AWS CDK を支える Constructs について
acomagu
January 10, 2021
Programming
0
31
AWS CDK を支える Constructs について
acomagu
January 10, 2021
Tweet
Share
More Decks by acomagu
See All by acomagu
acomagu
0
51
acomagu
0
35
acomagu
0
33
acomagu
0
260
acomagu
2
72
acomagu
1
78
acomagu
0
1.8k
acomagu
0
1.3k
acomagu
0
51
Other Decks in Programming
See All in Programming
kyoheig3
0
420
bkuhlmann
4
620
cocoeyes02
0
220
nauleyco
0
210
line_developers_tw
0
1.2k
trajchevska
2
320
ajstarks
2
550
shigeruoda
0
470
hr01
1
1.2k
freekmurze
0
200
akatsukinewgrad
0
170
daiki1020
0
1.1k
Featured
See All Featured
trishagee
20
2.1k
jonyablonski
14
1.1k
cherdarchuk
71
260k
roundedbygravity
241
21k
chriscoyier
684
180k
shlominoach
176
7.4k
pauljervisheath
196
15k
chriscoyier
145
19k
jonrohan
1021
380k
kastner
54
1.9k
roundedbygravity
84
7.8k
zakiwarfel
88
3.3k
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 を記述するための技術(ライブラリ群)である