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
260
Easy choice of IaC
Yona
March 31, 2025
Tweet
Share
More Decks by Yona
See All by Yona
Illust_Terraform
yonasou
0
2.1k
re:growth 2024
yonasou
0
370
Using figma is a good thing
yonasou
1
550
IoT_Greengrass_Begginer
yonasou
0
250
Grafana_IoT_Data_DataLake
yonasou
0
780
terraform_module_ Beginner
yonasou
10
170k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
How STYLIGHT went responsive
nonsquared
100
5.6k
Unsuck your backbone
ammeep
671
58k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
4 Signs Your Business is Dying
shpigford
183
22k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
How to train your dragon (web standard)
notwaldorf
92
6.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
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