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 経験者が CDK for Terraform 使ってみた / I tried ...
Search
yayoi_dd
March 28, 2024
Technology
3.9k
1
Share
AWS CDK 経験者が CDK for Terraform 使ってみた / I tried using CDK for Terraform
弥生株式会社 もくテク
インフラ構築、どうしてる? ~IaCの知見共有会~(2024/03/28)
https://mokuteku.connpass.com/event/311038/
yayoi_dd
March 28, 2024
More Decks by yayoi_dd
See All by yayoi_dd
AWS re:Invent 2025 参加報告 / AWS re:Invent 2025 Participation Report
yayoi_dd
0
25
re:Inventの学びを最大化するためにしたこと / What I Did to Maximize Learning at re:Invent
yayoi_dd
0
27
Werner Vogelsが語った”T型人材” / "T-Shaped Talent" as Discussed by Werner Vogels
yayoi_dd
0
26
AI駆動開発のさらにその先へ / Beyond AI-Driven Development
yayoi_dd
0
30
AWS DevOps Agentで見えた運用の未来 / The Future of Operations with AWS DevOps Agent
yayoi_dd
0
26
OpenSearch Warm Tier設計の実践 / Practical Implementation of OpenSearch Warm Tier Design
yayoi_dd
0
50
なぜ私たちは「生成AI-LT大会」を終了するのか / Why we are ending the Generative AI-LT competition
yayoi_dd
0
76
AIと働く / Working with AI
yayoi_dd
0
85
AIで未経験タスクの心理的ハードルが下がった話 / How AI has lowered the psychological barrier to unfamiliar tasks
yayoi_dd
0
54
Other Decks in Technology
See All in Technology
タクシーアプリ『GO』の実践的データ活用
mot_techtalk
2
140
React、まだ楽しくて草
uhyo
7
4.1k
BigQuery の Cross-cloud Lakehouse への歩み
phaya72
2
550
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/3 - 2026/5
oracle4engineer
PRO
1
190
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
250
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
260
Mastering Ruby Box
tagomoris
3
150
AIガバナンス実践 - 生成AIコネクタのデータ漏洩リスクと実務対策
knishioka
0
180
Javaコミュニティをもっと楽しむための9箇条
takasyou
0
1.3k
ポケモンの型をTypeScriptの型システムで表現してみた
subroh0508
0
320
Unlocking the Apps
pimterry
0
220
Featured
See All Featured
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
160
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.5k
Building the Perfect Custom Keyboard
takai
2
780
We Have a Design System, Now What?
morganepeng
55
8.2k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Music & Morning Musume
bryan
47
7.2k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
380
Being A Developer After 40
akosma
91
590k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
How to build a perfect <img>
jonoalderson
1
5.6k
Transcript
AWS CDK 経験者が CDK for Terraform 使って 苦労したこと&よかったこと @maniawase2
What’s CDK for Terraform?
What’s CDK for Terraform? (公式から翻訳)https://developer.hashicorp.com/terraform/cdktf 使い慣れたプログラミング言語を使用してインフラストラクチャを定義およびプロビジ ョニングできます。 HashiCorp Configuration Language
(HCL) を学習しなくても Terraform エコシ ステム全体にアクセスできます。 (現在、最新バージョンは v0.20 なので注意)
What’s CDK for Terraform? (公式から翻訳)https://developer.hashicorp.com/terraform/cdktf 使い慣れたプログラミング言語を使用してインフラストラクチャを定義およびプロビジ ョニングできます。 HashiCorp Configuration Language
(HCL) を学習しなくても Terraform エコシ ステム全体にアクセスできます。 (現在、最新バージョンは v0.20 なので注意) AWS CDK の最後に動くものが CloudFormationではなく Terraformになったもの TypeScript, etc… Cloudformation
苦労したこと&よかったこと
当時のスキル ・AWS自体:4年 ・AWS CDK:3年 ・CloudFormation:2, 3ヶ月 ・Terraform:なし
よかったこと 苦労したこと ・Terraformの知識がまあまあ必要 ・コードがCDKのL1ライクでしか書けない ・リファレンスが見にくい(未完成?) ・Terraformの恩恵がすごい ・クロスリージョン/アカウントも同一スタックで作れる ・AWS以外のリソースも作れる ・ignore_changes で作成したリソースを管理対象外にできる
・local-exec でローカルで(やろうと思えば)なんでもできる
よかったこと 苦労したこと ・Terraformの知識がまあまあ必要 ・コードがCDKのL1ライクでしか書けない ・リファレンスが見にくい(未完成?) ・Terraformの恩恵がすごい ・クロスリージョン/アカウントも同一スタックで作れる ・AWS以外のリソースも作れる ・ignore_changes で作成したリソースを管理対象外にできる
・local-exec でローカルで(やろうと思えば)なんでもできる かるーくどんなことに使ったか お話します
苦労したこと コードがCDKのL1ライクでしか 書けない
コードがCDKのL1ライクでしか書けない ・AWS CDK ではL2コンストラクトがとても便利 ・作成したいリソースを完全に理解してなくても作れてしまう ・CloudFormation を理解してなくても使えてしまう ・しかし、CDK for Terraform
では、L1ライクでしか書けない ・Terraformがそのままプログラムで書けるようになっただけ (結局Terraformのリファレンスを見ることに...)
コードがCDKのL1ライクでしか書けない 例)CodePipelineを作成するコード(CDK)
コードがCDKのL1ライクでしか書けない 例)CodePipelineを作成するコード(CDK for Terraform) ちっさ。見えない
コードがCDKのL1ライクでしか書けない 例)CodePipelineを作成するコード(CDK for Terraform)
コードがCDKのL1ライクでしか書けない 例)CodePipelineを作成するコード(CDK for Terraform) 適切なIAMロールの 作成が必要
コードがCDKのL1ライクでしか書けない 例)CodePipelineを作成するコード(CDK for Terraform) 適切なIAMロールの 作成が必要 必須のパラメータが 多い
コードがCDKのL1ライクでしか書けない 例)CodePipelineを作成するコード(CDK for Terraform) 適切なIAMロールの 作成が必要 必須のパラメータが 多い リソース間の参照が 文字列
ただし、コレはコレで 悪いわけではない
ただし、コレはコレで悪いわけではない 例)CodePipelineを作成するコード(CDK)
ただし、コレはコレで悪いわけではない 例)CodePipelineを作成するコード(CDK)
ただし、コレはコレで悪いわけではない 例)CodePipelineを作成するコード(CDK) S3のServerSideEncryptionByDefaultが 「SSEAlgorithm: aws:kms」のためKMSが作られる
よかったこと Terraformの恩恵がすごい
Terraformの恩恵がすごい(1) ・ignore_changes で作成したリソースを管理対象外にできる ・ECSタスクとかは更新しないようにできる
Terraformの恩恵がすごい(1) ・ignore_changes で作成したリソースを管理対象外にできる ・ECSタスクとかは更新しないようにできる オートスケーリングで タスク数が変わっても無視してくれる CDでタスク定義が 変わっても無視してくれる
Terraformの恩恵がすごい(2) ・local-exec でローカルで(やろうと思えば)なんでもできる ・ECR作成して、ローカルBuildしてPush。なんてこともできる
Terraformの恩恵がすごい(2) ・local-exec でローカルで(やろうと思えば)なんでもできる ・ECR作成して、ローカルBuildしてPush。なんてこともできる ECR作成 ①ECRログイン ②ローカルで docker build ③ビルドイメージにタグ付け
④ECRにPush 曲芸!
今後どちらを使っていくか
AWS CDKを使います !?
AWS CDKを使います ・今回話していませんが、AWS CDK が便利すぎる ・L2コンストラクトで、関連リソースを自動で作ってくれるのがとにかくラク ・AWS CDK(TypeScript)のリファレンスがすごい見やすい ・加入していればですが、AWSサポートが手厚すぎる ・CDK
for Terraform にも期待! ・個人的に Terraform vs CloudFromation だと、Terraformのほうがいい ・Terraform使っている人には学習コストかなり少ない! ・まだ v0.20。今後に期待して星5つです ★★★★★
END