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
Easy choice of IaC
Search
Yona
March 31, 2025
1
270
Easy choice of IaC
Yona
March 31, 2025
Tweet
Share
More Decks by Yona
See All by Yona
Illust_Terraform
yonasou
0
2.2k
re:growth 2024
yonasou
0
400
Using figma is a good thing
yonasou
1
580
IoT_Greengrass_Begginer
yonasou
0
260
Grafana_IoT_Data_DataLake
yonasou
0
820
terraform_module_ Beginner
yonasou
10
170k
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
The Invisible Side of Design
smashingmag
301
51k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Docker and Python
trallard
45
3.5k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
A designer walks into a library…
pauljervisheath
207
24k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
7
330
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Transcript
安易にIaCを選択したら 時間をたくさん消費してしまった話
W 所C W クラスメソッド株式会社 クラウド事業本部コンサルティング部 ソリューションアーキテク W 趣U W ラジオ、散歩、F
W ひとこÃ W 花粉の舌下治療したい 与那嶺 創(よなみね そう) ピザのアイコンでブログ書いてます 自己紹介
tt 3つのしくじりをお話しします
aaa22t I a C って 知 ってま す か ?
コード インフラをコードで管理できるツール インフラストラクチャ
代表的なIaCツールたち IaC CDK Terraform CloudFomation
Gitでコード管理も履歴管理もできちゃう! コードの再利用もできちゃう! マルチクラウドも対応できちゃう! 同じ環境が簡単に複数作れちゃう! よく言われるIaCを使うメリット
tt そんな便利なIaCで 何を失敗したんだろう
tt 3つのしくじり
AWS環境の新規構築にて...
tt 再利用できそうなコードも手元に あるしIaCで構築するか〜
tt IaCでの運用を必要としていない環境で IaCを使って初期構築を行なった 1 つ 目 の し く じ
り
tt よーし、IaCで構築するぞ〜! IaCなんて分からないし 私はマネコンで管理しま〜す 私(初期構築) オペレーター(運用)
tt 不要になったコードたち ※この画像はイメージです
目的に合ったツールを使おう! もっとも効率よく 求められる成果を出せるツールを選ぼう 教訓その1
tt 普段意識していないリソースの定義に 時間がかかった 2 つ 目 の し く じ
り
t CloudWatch IAM Lambda 1分くらい? Lambda関数作ったことありますか? 自動的に作られるリソース
# Lambda関数 resource "aws_lambda_function" "sample_lambda" { ... } # Lambda実行用のIAMロール
resource "aws_iam_role" "lambda_role" { ... } # CloudWatchログ用のIAMポリシー resource "aws_iam_role_policy" "lambda_logging" { ... } # CloudWatchロググループ resource "aws_cloudwatch_log_group" "lambda_log_group" { ... } ... Lambda Role IAM ポリシー CloudWatch すべて明示的に定義が必要
これ何の権限がいるんだろう... 必要な権限を調べるのも一苦労 実際にリソースを作って ポリシーをコピーするのが一番早い!!
tt マネコンだと自動で作成されるリソースの コード化に時間がかかってしまった 2 つ 目 の し く じ
り
IaCのメリット、デメリットを理解しよう! コード管理=明示的に記述する必要がある 教訓その2
tt 知らないサービス/機能をコード化 するにはめちゃめちゃ時間がかかる! 3 つ 目 の し く じ
り
tt 知らないサービス/機能を理解する時間 + ポチポチする時間 マネコンだと
tt 知らないサービス/機能を理解する時間 + コードで定義する方法を調べる時間 + コードで定義する時間 IaCだと
tt APIがサポートされていない or IaCが対応していないリソースを引くと辛い
IaCは初期投資に時間がかかることを理解する! IaCのメリットは即時性ではなく 再現性・一貫性・バージョン管理にある 教訓その3
tt どうしたらよかったのか?
t f 達成したい目的に合わせてツールを選択するべきだっ f IaCは即時的な効果は薄く、むしろ初期投資を大きく払う 代わりに、長期的な運用や再利用にメリットがあること を理解しておくべきだった
t 今 な ら . . . 4 Cursor, GitHub
Copilot, Cline, DevinなどAIコードエディタを 活用すればコードの記述時間は短縮できそ! 4 (Terraformの場合)Terraform Registryを使うことで、 パブリックなmoduleを使って構築の時間を短縮できそう
おわり t