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
490
project_offline_communication
yonasou
0
10
Illust_Terraform
yonasou
0
2.3k
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
900
terraform_module_ Beginner
yonasou
10
180k
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Done Done
chrislema
185
16k
Designing Experiences People Love
moore
142
24k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Code Review Best Practice
trishagee
71
19k
The Invisible Side of Design
smashingmag
301
51k
Producing Creativity
orderedlist
PRO
347
40k
Become a Pro
speakerdeck
PRO
29
5.5k
Being A Developer After 40
akosma
90
590k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Typedesign – Prime Four
hannesfritz
42
2.8k
Large-scale JavaScript Application Architecture
addyosmani
513
110k
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