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
Try Infrastructure as Code with AWS CDK!
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
@twingo_b
September 04, 2021
Technology
450
1
Share
Try Infrastructure as Code with AWS CDK!
AWS CDK で Infrastructure as Code にチャレンジ!
合同勉強会 in 大都会岡山 – 2021 Summer Online - LT
2021.09.04
@twingo_b
September 04, 2021
More Decks by @twingo_b
See All by @twingo_b
20240713 Generative AI with AWS
twingob
6
740
Amazon RDS / Amazon Aurora パフォーマンスチューニングとモニタリング
twingob
10
3.3k
短縮 URL サービス 4分間クッキング - Amazon CloudFront KeyValueStore, CloudFront Functions, AWS CDK で作成、CloudWatch Logs で簡易アクセス集計 -
twingob
1
1.3k
失敗知識から学ぶ!クラウドアプリ設計で避けるべき事例とその対策
twingob
12
6k
Amazon CodeCatalyst と Amazon CodeWhisperer で開発を加速しよう!
twingob
1
850
AWS Copilot with AWS CDK
twingob
1
590
Amazon Redshift Serverless with CDK
twingob
2
2k
Rapid Prototyping with AWS
twingob
0
540
Using cdk-remote-stack and AWS Edge Networking Services for cross-regional applications
twingob
0
440
Other Decks in Technology
See All in Technology
あるアーキテクチャ決定と その結果/architecture-decision-and-its-result
hanhan1978
2
530
機能・非機能の学びを一つに!Agent Skillsで月間レポート作成始めてみた / Unifying Bug & Infra Insights — Building Monthly Quality Reports with Agent Skills
bun913
5
3.6k
Cortex Code君、今日から内製化支援担当ね。
coco_se
0
290
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.2k
Databricks Appsで実現する社内向けAIアプリ開発の効率化
r_miura
0
340
2026年度新卒技術研修 サイバーエージェントのデータベース 活用事例とパフォーマンス調査入門
cyberagentdevelopers
PRO
3
2.7k
【Findy FDE登壇_2026_04_14】— 現場課題を本気で解いてたら、FDEになってた話
miyatakoji
0
140
Babylon.js を使って試した色々な内容 / Various things I tried using Babylon.js / Babylon.js 勉強会 vol.5
you
PRO
0
250
Hooks, Filters & Now Context: Why MCPs Are the “Hooks” of the AI Era
miriamschwab
0
110
マルチモーダル非構造データとの闘い
shibuiwilliam
1
250
ASTのGitHub CopilotとCopilot CLIの現在地をお話しします/How AST Operates GitHub Copilot and Copilot CLI
aeonpeople
1
190
ふりかえりを 「あそび」にしたら、 学習が勝手に進んだ / Playful Retros Drive Learning
katoaz
0
360
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Design in an AI World
tapps
0
190
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
250
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
The Language of Interfaces
destraynor
162
26k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
250
Side Projects
sachag
455
43k
Designing Powerful Visuals for Engaging Learning
tmiket
1
330
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
160
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
120
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Transcript
© 2021, Amazon Web Services, Inc. or its Affiliates. All
rights reserved. アマゾン ウェブ サービス ジャパン株式会社 ソリューションアーキテクト 藤原 吉規 @twingo_b AWS CDK で Infrastructure as Code にチャレンジ︕ 合同勉強会 in ⼤都会岡⼭ – 2021 Summer Online - LT 2021.09.04
© 2021, Amazon Web Services, Inc. or its Affiliates. All
rights reserved. AWS の環境を構築するには
© 2021, Amazon Web Services, Inc. or its Affiliates. All
rights reserved. ⼿動操作(マネジメントコンソール) 〇 始めるのは簡単 × 繰り返し可能ではない × エラーが起きやすい × 時間がかかる High level Low level Manual 管理レベル 操作⼿順書が別途必要
© 2021, Amazon Web Services, Inc. or its Affiliates. All
rights reserved. スクリプト (SDK, CLI) ︖ APIコールが失敗したら何が起こる︖ ︖どうやってアップデートする︖ ︖リソースが準備完了なのはどうやって知る︖ ︖どうやってロールバックする︖ Scripted Manual High level Low level 管理レベル 操作⼿順の定義が可能
© 2021, Amazon Web Services, Inc. or its Affiliates. All
rights reserved. プロビジョニング ツール (CloudFormation など) AWS CloudFormation テ ンプレート (JSON/YAML) HashiCorp Configuration Language (HCL) あるべき状態の定義が可能 Declarative Scripted Manual High level Low level 〇⾃動化が容易 〇再⽣成可能 × ツール固有の記述⽅式 × 抽象化なし、詳細な記述 管理レベル CloudFormationや Terraformで デプロイ
© 2021, Amazon Web Services, Inc. or its Affiliates. All
rights reserved. Document Object Models (DOMs) Troposphere Python SparkleFormation Ruby GoFormation Go … if⽂、for ループ、IDE利⽤可能 例えば、TroposphereでVPCを作成するには128⾏必要 〇 リアルコード 〇 あるべき状態の定義 × 抽象化は組み込まれていない DOMs Declarative Scripted Manual High level Low level 管理レベル CFnで デプロイ CFn テンプレート の⽣成 あるべき状態の定義がコードで可能
© 2021, Amazon Web Services, Inc. or its Affiliates. All
rights reserved. AWS CDK Application Stack(s) Construct Construct AWS CDK Componentized DOMs Declarative Scripted Manual High level Low level 管理レベル コードであるべき状態を定義 CFnで デプロイ CFn テンプレート の⽣成 あるべき状態の定義がコードで可能+抽象化 (Developer preview) Java
© 2021, Amazon Web Services, Inc. or its Affiliates. All
rights reserved. AWS CDK で構築を⾼速に
© 2021, Amazon Web Services, Inc. or its Affiliates. All
rights reserved. AWS CDK で構築を⾼速に • リファレンスの参照回数と試⾏錯誤が格段に少なくなる • 型定義(TypeScript)とエディタによるサジェスト • リソース間の依存関係把握が楽(オブジェクト指向) • CDK diff とテストによるチェック • 記述の絶対量が⼩さい • 最低限のパラメータ指定でリソースを作れる • つまり他⼈のコードを読むのも楽 • ⼀括タグ付けなどの便利機能 • 開発者を集めやすい • アプリケーション開発者が始めやすい
© 2021, Amazon Web Services, Inc. or its Affiliates. All
rights reserved. S3バケットのコード サジェスト: 必須プロパティ(?なし) オプションプロパティ(?あり) サジェスト︓ 型がわかる ⽂字列でなく ENUM で指定 L2 Constructは 少ないプロパティで 複数のリソースを まとめて構成可能 VPC作成のコード 複雑なものは コンストラクタでなく メソッドで追加する
© 2021, Amazon Web Services, Inc. or its Affiliates. All
rights reserved. AWS CDK の主なコンポーネント Auto Scaling CDK を構成する基本要素 CDK アプリケーションの基本要素 クラウドコンポーネントを表す CDK アプリケーションを操作するツール CloudFormation テンプレートを ⽣成・デプロイする
© 2021, Amazon Web Services, Inc. or its Affiliates. All
rights reserved. デモ
© 2021, Amazon Web Services, Inc. or its Affiliates. All
rights reserved.
© 2021, Amazon Web Services, Inc. or its Affiliates. All
rights reserved. AWS CDK ドキュメントとワークショップ • [AWS Black Belt Online Seminar] AWS CDK • PDF: LINK • YouTube: LINK • GitHub: LINK • APIリファレンス: LINK • Developer Guide: LINK • Roadmap: LINK • RFCs: LINK • ワークショップ: LINK
© 2021, Amazon Web Services, Inc. or its Affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thank You!