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 using CDK for Terraform
Search
yayoi_dd
March 28, 2024
Technology
1
400
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
CDKでの自動構築が超簡単で感動した話(超初心者向け) / Automated construction using CDK was easy, impressed
yayoi_dd
0
410
IaCがない環境でインフラ担当じゃない人がAWS触ってみた話 / I tried using AWS in an environment without IaC
yayoi_dd
0
380
CDKの実装のススメ方 / How to proceed with CDK implementation
yayoi_dd
1
380
AWS初心者が苦労してCDKカスタムリソースを作った話 / AWS beginners struggled to create CDK custom resources
yayoi_dd
1
400
Terraform v1.7のTest mocking機能の紹介 / Introducing the Test mocking feature of Terraform v1.7
yayoi_dd
2
820
先人の教えに背いてCDKのスタックを分割した男の末路 / The fate of the man who split the CDK stack
yayoi_dd
1
420
re:Invent2023 参加報告 / reInvent2023 participation report
yayoi_dd
0
2.6k
re:Invent 振り返り / Looking back at reinvent
yayoi_dd
0
2.6k
re:Invent参加報告 / reInvent participation report
yayoi_dd
0
2.6k
Other Decks in Technology
See All in Technology
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
0
310
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
260
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
170
JSON攻略法.pdf
miyakemito
8
5.1k
Google Cloud Next '24でブログを10本書いた方法と勉強会を沸かせた方法
yasumuusan
0
310
20分で完全に理解するGrafanaダッシュボード
hamadakoji
3
740
Building Dashboards as a Hobby
egmc
0
280
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
300
R3のコードから見る実践LINQ実装最適化・コンカレントプログラミング実例
neuecc
2
500
一生覚えておきたい「システム開発=コミュニケーション」〜初めての実務案件振り返りLT〜
maimyyym
1
180
推しは推せるときに推せ! プロダクトにフィードバックしていこう
nakasho
0
380
アクセス制御にまつわる改善 / Improving access control
itkq
0
560
Featured
See All Featured
Being A Developer After 40
akosma
57
580k
Producing Creativity
orderedlist
PRO
337
39k
Statistics for Hackers
jakevdp
789
220k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
187
16k
Happy Clients
brianwarren
92
6.4k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
79
43k
Thoughts on Productivity
jonyablonski
58
3.8k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
2
3.4k
The Cost Of JavaScript in 2023
addyosmani
16
3.9k
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