Slide 1

Slide 1 text

安易にIaCを選択したら 時間をたくさん消費してしまった話

Slide 2

Slide 2 text

W 所C W クラスメソッド株式会社
 クラウド事業本部コンサルティング部
 ソリューションアーキテク W 趣U W ラジオ、散歩、F W ひとこÃ W 花粉の舌下治療したい 与那嶺 創(よなみね そう) ピザのアイコンでブログ書いてます 自己紹介

Slide 3

Slide 3 text

tt 3つのしくじりをお話しします

Slide 4

Slide 4 text

aaa22t I a C って 知 ってま す か ? コード インフラをコードで管理できるツール インフラストラクチャ

Slide 5

Slide 5 text

代表的なIaCツールたち IaC CDK Terraform CloudFomation

Slide 6

Slide 6 text

Gitでコード管理も履歴管理もできちゃう! コードの再利用もできちゃう! マルチクラウドも対応できちゃう! 同じ環境が簡単に複数作れちゃう! よく言われるIaCを使うメリット

Slide 7

Slide 7 text

tt そんな便利なIaCで 何を失敗したんだろう

Slide 8

Slide 8 text

tt 3つのしくじり

Slide 9

Slide 9 text

AWS環境の新規構築にて...

Slide 10

Slide 10 text

tt 再利用できそうなコードも手元に あるしIaCで構築するか〜

Slide 11

Slide 11 text

tt IaCでの運用を必要としていない環境で IaCを使って初期構築を行なった 1 つ 目 の し く じ り

Slide 12

Slide 12 text

tt よーし、IaCで構築するぞ〜! IaCなんて分からないし 私はマネコンで管理しま〜す 私(初期構築) オペレーター(運用)

Slide 13

Slide 13 text

tt 不要になったコードたち ※この画像はイメージです

Slide 14

Slide 14 text

目的に合ったツールを使おう! もっとも効率よく 求められる成果を出せるツールを選ぼう 教訓その1

Slide 15

Slide 15 text

tt 普段意識していないリソースの定義に 時間がかかった 2 つ 目 の し く じ り

Slide 16

Slide 16 text

t CloudWatch IAM Lambda 1分くらい? Lambda関数作ったことありますか? 自動的に作られるリソース

Slide 17

Slide 17 text

# 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 すべて明示的に定義が必要

Slide 18

Slide 18 text

これ何の権限がいるんだろう... 必要な権限を調べるのも一苦労 実際にリソースを作って ポリシーをコピーするのが一番早い!!

Slide 19

Slide 19 text

tt マネコンだと自動で作成されるリソースの コード化に時間がかかってしまった 2 つ 目 の し く じ り

Slide 20

Slide 20 text

IaCのメリット、デメリットを理解しよう! コード管理=明示的に記述する必要がある 教訓その2

Slide 21

Slide 21 text

tt 知らないサービス/機能をコード化 するにはめちゃめちゃ時間がかかる! 3 つ 目 の し く じ り

Slide 22

Slide 22 text

tt 知らないサービス/機能を理解する時間 + ポチポチする時間 マネコンだと

Slide 23

Slide 23 text

tt 知らないサービス/機能を理解する時間 + コードで定義する方法を調べる時間 + コードで定義する時間 IaCだと

Slide 24

Slide 24 text

tt APIがサポートされていない or IaCが対応していないリソースを引くと辛い

Slide 25

Slide 25 text

IaCは初期投資に時間がかかることを理解する! IaCのメリットは即時性ではなく 再現性・一貫性・バージョン管理にある 教訓その3

Slide 26

Slide 26 text

tt どうしたらよかったのか?

Slide 27

Slide 27 text

t f 達成したい目的に合わせてツールを選択するべきだっ f IaCは即時的な効果は薄く、むしろ初期投資を大きく払う 代わりに、長期的な運用や再利用にメリットがあること を理解しておくべきだった

Slide 28

Slide 28 text

t 今 な ら . . . 4 Cursor, GitHub Copilot, Cline, DevinなどAIコードエディタを
 活用すればコードの記述時間は短縮できそ! 4 (Terraformの場合)Terraform Registryを使うことで、
 パブリックなmoduleを使って構築の時間を短縮できそう

Slide 29

Slide 29 text

おわり t