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
300
Easy choice of IaC
Yona
March 31, 2025
Tweet
Share
More Decks by Yona
See All by Yona
Grafana_Claude_Code
yonasou
1
310
project_offline_communication
yonasou
0
10
Illust_Terraform
yonasou
0
2.2k
re:growth 2024
yonasou
0
450
Using figma is a good thing
yonasou
1
640
IoT_Greengrass_Begginer
yonasou
0
290
Grafana_IoT_Data_DataLake
yonasou
0
890
terraform_module_ Beginner
yonasou
10
180k
Featured
See All Featured
Faster Mobile Websites
deanohume
309
31k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
The Invisible Side of Design
smashingmag
301
51k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Language of Interfaces
destraynor
161
25k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
Gamification - CAS2011
davidbonilla
81
5.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Become a Pro
speakerdeck
PRO
29
5.5k
Why Our Code Smells
bkeepers
PRO
339
57k
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