Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWS CDK を支える Constructs について
Search
acomagu
January 10, 2021
Programming
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS CDK を支える Constructs について
acomagu
January 10, 2021
More Decks by acomagu
See All by acomagu
サーバーレスから Durable Execution へ
acomagu
0
38
Payment Records API を使って地域通貨を Stripe Dashboard に統合してみた
acomagu
0
84
Restate x Stripe: 安心して眠れる決済システムを目指して
acomagu
0
29
Stripe SSoT をするべきか否か
acomagu
0
98
JP_Stripes: リコンサイル(突合処理)のテスト
acomagu
0
140
「境界付けられたコンテキスト間の関係」についてもっと語ろう
acomagu
0
200
地方 MaaS 事例: アプリの進化に伴って変化してきた Stripe 利用方法
acomagu
0
700
Stripe リコンサイルの勘所
acomagu
0
570
CDK 一発で全てのエラーログを Slack に流す
acomagu
0
2.3k
Other Decks in Programming
See All in Programming
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
220
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
2
1.1k
GraphQL の onError と Nullability のこれから
quramy
0
120
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
410
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
170
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
4.1k
最近”作らせてる” ローカルAIアプリの話
akit37
0
480
APNsからLive Activityを開始する話
yumnumm
0
170
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
310
A designer walks into a library…
pauljervisheath
211
25k
Designing for Performance
lara
612
70k
Building AI with AI
inesmontani
PRO
1
1.3k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
410
Abbi's Birthday
coloredviolet
4
10k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
How to build a perfect <img>
jonoalderson
1
6.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
630
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
630
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 を記述するための技術(ライブラリ群)である