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
Transcript
26 slides
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 を記述するための技術(ライブラリ群)である
More Decks by acomagu
See All by acomagu
サーバーレスから Durable Execution へ
acomagu
0
47
Payment Records API を使って地域通貨を Stripe Dashboard に統合してみた
acomagu
0
88
Restate x Stripe: 安心して眠れる決済システムを目指して
acomagu
0
33
Stripe SSoT をするべきか否か
acomagu
0
110
JP_Stripes: リコンサイル(突合処理)のテスト
acomagu
0
150
「境界付けられたコンテキスト間の関係」についてもっと語ろう
acomagu
0
210
地方 MaaS 事例: アプリの進化に伴って変化してきた Stripe 利用方法
acomagu
0
720
Stripe リコンサイルの勘所
acomagu
0
580
CDK 一発で全てのエラーログを Slack に流す
acomagu
0
2.3k
Other Decks in Programming
See All in Programming
Rails初心者がパスキーを実装してみて大変だったこと
ktombow
0
180
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.7k
React Native에 현대적인 빌드 도구 더하기: Rollipop 구현기
leegeunhyeok
0
180
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
310
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
340
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
15
12k
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
310
SODA - FACT BOOK(EN)
sodainc
1
240
Enforcing Your Architecture with Unit Tests in the AI Era (Swift Connection X)
steliosf
PRO
1
170
baseline으로 마이그레이션, 리팩토링 안전하게 맡기기
fornewid
1
980
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
210
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
200
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
530
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Marketing to machines
jonoalderson
1
6k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
560
Evolving SEO for Evolving Search Engines
ryanjones
0
360
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
460
Deep Space Network (abreviated)
tonyrice
0
410
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Scaling GitHub
holman
464
140k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
430
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k