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
1
3.2k
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
Tweet
Share
More Decks by yayoi_dd
See All by yayoi_dd
“お客さま視点”を手に入れろ!! / Get the Customer’s Perspective!!
yayoi_dd
0
85
プロジェクト改善、まずは“ネタ出しの文化”から / Improving Projects Starts with a Culture of Idea Generation
yayoi_dd
0
83
使いにくい仕様を改善した件 / How We Improved a Difficult-to-Use Feature
yayoi_dd
0
78
弥生のQAエンジニア 品質保証活動と今後の課題 / Yayoi QA engineers, Quality assurance activities and future challenges
yayoi_dd
0
110
【弥生】20250130_AWSマルチアカウント運用セミナー登壇資料
yayoi_dd
2
3.3k
Amazon OpenSearchのコスト最適化とZeroETLへの期待 / Amazon OpenSearch Cost Optimization and ZeroETL Expectations
yayoi_dd
1
95
フロントエンドとバックエンド非同期連携パターンのセッションを見てきた話 / Talk about seeing a session on front-end and back-end asynchronous coordination patterns
yayoi_dd
0
80
reInventで学んだWebシステム運用のBadDayへの備え方 / How to Prepare for BadDay in Web System Operations Learned at reInvent
yayoi_dd
0
61
AWS reInventで感じた世界に見る生成AIの競争 / Competition in Generative AI as Seen Around the World at AWS reInvent
yayoi_dd
0
73
Other Decks in Technology
See All in Technology
赤煉瓦倉庫勉強会「Databricksを選んだ理由と、絶賛真っ只中のデータ基盤移行体験記」
ivry_presentationmaterials
2
290
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
1
5.7k
「クラウドコスト絶対削減」を支える技術—FinOpsを超えた徹底的なクラウドコスト削減の実践論
delta_tech
4
130
生成AI活用の組織格差を解消する 〜ビジネス職のCursor導入が開発効率に与えた好循環〜 / Closing the Organizational Gap in AI Adoption
upamune
6
5k
Beyond Kaniko: Navigating Unprivileged Container Image Creation
f30
0
130
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
26k
B2C&B2B&社内向けサービスを抱える開発組織におけるサービス価値を最大化するイニシアチブ管理
belongadmin
1
5.6k
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
410
ネットワーク保護はどう変わるのか?re:Inforce 2025最新アップデート解説
tokushun
0
180
使いたいMCPサーバーはWeb APIをラップして自分で作る #QiitaBash
bengo4com
0
1.5k
Core Audio tapを使ったリアルタイム音声処理のお話
yuta0306
0
180
モバイル界のMCPを考える
naoto33
0
410
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Why Our Code Smells
bkeepers
PRO
337
57k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Building an army of robots
kneath
306
45k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
KATA
mclloyd
30
14k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
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