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
600
project_offline_communication
yonasou
0
10
Illust_Terraform
yonasou
0
2.3k
re:growth 2024
yonasou
0
460
Using figma is a good thing
yonasou
1
650
IoT_Greengrass_Begginer
yonasou
0
290
Grafana_IoT_Data_DataLake
yonasou
0
910
terraform_module_ Beginner
yonasou
10
180k
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
224
9.9k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
How GitHub (no longer) Works
holman
315
140k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
840
A Modern Web Designer's Workflow
chriscoyier
697
190k
Balancing Empowerment & Direction
lara
4
660
The Language of Interfaces
destraynor
162
25k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
A designer walks into a library…
pauljervisheath
208
24k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
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