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
2.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
プロンプトエンジニアリングに触れてみよう / Let's try prompt engineering!
yayoi_dd
1
32
ChatGPTによるお手軽データ分析 / Easy data analysis with ChatGPT
yayoi_dd
1
32
スクラムに出会って「できた」を実感できるようになってきた話 / Scrum makes me feel like I can do it
yayoi_dd
2
1.4k
CDKでの自動構築が超簡単で感動した話(超初心者向け) / Automated construction using CDK was easy, impressed
yayoi_dd
0
2.2k
IaCがない環境でインフラ担当じゃない人がAWS触ってみた話 / I tried using AWS in an environment without IaC
yayoi_dd
0
2.1k
CDKの実装のススメ方 / How to proceed with CDK implementation
yayoi_dd
1
2.1k
AWS初心者が苦労してCDKカスタムリソースを作った話 / AWS beginners struggled to create CDK custom resources
yayoi_dd
1
2.2k
Terraform v1.7のTest mocking機能の紹介 / Introducing the Test mocking feature of Terraform v1.7
yayoi_dd
2
2.6k
先人の教えに背いてCDKのスタックを分割した男の末路 / The fate of the man who split the CDK stack
yayoi_dd
1
2.5k
Other Decks in Technology
See All in Technology
[NIKKEI Tech Talk] KDDI/KAG Scrum & Community for Engineering Training
curanosuke
2
220
大規模ドラレコデータ収集・機械学習基盤を支える AWS CDK 〜導入・運用事例紹介〜
pemugi
0
110
AOAI Dev Day LLMシステム開発 Tips集
hirosatogamo
15
3.7k
Scaling Technical Excellence at 104: Evolution in AWS and Developer Empowerment
scotthsieh825
1
150
OSSコミットしてZennの課題を解決した話
dyoshikawa1993
0
150
E2Eテスト自動化プラットフォームにおけるAIの活用
shift_evolve
0
180
エンジニアの生存戦略 〜クラウド潮流の経験から紐解く技術トレンドのメカニズムと乗りこなし方〜
shimy
9
1.9k
LLMアプリケーションの評価の実践と課題 ~PharmaXにおける今後の展望~
pharma_x_tech
2
160
【基調講演】変える、今ここから ― IoTとAIで紡ぐ未来
soracom
PRO
0
320
Docker互換のセキュアなコンテナ実行環境「Podman」超入門
devops_vtj
6
3.2k
MySQLのロックの種類とその競合
yoku0825
6
1.6k
サービスの持続的な成長と技術負債について
siva_official
PRO
10
4.4k
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
36
9.1k
The Invisible Side of Design
smashingmag
294
50k
It's Worth the Effort
3n
181
27k
Agile that works and the tools we love
rasmusluckow
325
20k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
325
21k
Speed Design
sergeychernyshev
9
270
Understanding Cognitive Biases in Performance Measurement
bluesmoon
18
1.2k
A Philosophy of Restraint
colly
200
16k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Navigating Team Friction
lara
181
13k
Building a Modern Day E-commerce SEO Strategy
aleyda
25
6.7k
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