Easy choice of IaC
by
Yona
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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