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
なぜIaCの引き継ぎは 上手くいかないのか?
Search
msato
July 14, 2022
7.4k
12
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
なぜIaCの引き継ぎは 上手くいかないのか?
msato
July 14, 2022
More Decks by msato
See All by msato
トリキはいいぞ
msato
0
110
Kiro Powers入門
msato
0
880
生成AIを活用したTerraformワークフロー(HCP Terraform × Claude Code)
msato
0
690
筋肉の大会_NABBA_に出てみた.pptx.pdf
msato
0
300
筋肉の大会(NABBA)に出てみた
msato
0
710
生成AIを活用したTerraformワークフロー
msato
0
980
re:Invent 2024の HashiCorp関連(主にTerraform)の アップデート&セッション共有
msato
0
460
Terraform Stacks入門 #HashiTalks
msato
6
2k
Terraformテスト入門
msato
5
5.8k
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
450
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
The browser strikes back
jonoalderson
0
1.4k
Building AI with AI
inesmontani
PRO
1
1.1k
Agile that works and the tools we love
rasmusluckow
331
22k
The Invisible Side of Design
smashingmag
301
52k
Code Review Best Practice
trishagee
74
20k
First, design no harm
axbom
PRO
2
1.2k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Speed Design
sergeychernyshev
33
2k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Transcript
なぜIaCの引き継ぎは 上手くいかないのか? 2022/7/22 コンサルティング部 佐藤雅樹
2 自己紹介 佐藤雅樹 - AWS事業本部コンサルティング部 - 好きなサービス: ECS、CDK - @chari7311
2
3 今日のゴール - IaCの引き継ぎで不幸になる人を減らす 今日話さないこと - 各IaCツールの詳細や比較 - IaCの概要
4 IaCの引き継ぎって辛くないですか?
5 IaCツールの引き継ぎ辛み 引き継ぐ側 - 作ったはいいが、自分以外変更してくれない - 久しぶりに見たら手動で変更されていた 引き継がれる側 - 適用したら、何かが壊れるか心配
6 オートメーション恐怖症 設定が カオスに 適用すると 壊れるかも と心配 手動変更 怖い! 引用:
Infrastructure as Code――クラウドにおけるサーバ管理の原則とプラクティス
7 どうしたら引き継ぎが上手くいくか 引き継がれる側の「分からない」を減らす - IaCツールのコードが「分からない」 - デプロイ手順が「分からない」 - IaC管理しているリソースが「分からない」
8 IaCツールのコードが「分からない」 課題: IaCツールの使い方が独特で、分からない - モジュール化・ライブラリ化のやりすぎ - 記述量は減らせるが、やりすぎると複雑に - 組織規模が小さい・構成が固まっていない内は慎重に
9 失敗例) ECSタスク定義もモジュール化
解決策: シンプルに作る(コードをDryにしすぎない) - IaCで実現したいこと、変更のリードタイム短縮 - 変更しやすい・構成を把握しやすい > コードが短い 10 IaCツールのコードが「分からない」
11 デプロイ手順が「分からない」 課題: デプロイの属人化(ローカルから手動) - デプロイのために、各ユーザーに強い権限を付与 - 適用した際の履歴どこに残す問題 - 手順が増える・適用忘れが発生する
解決策: CI/CDパイプライン上で自動デプロイ - パイプラインに権限を渡す - パイプライン上に適用履歴が残る - 手順も簡略化できる
12 GithubActionsでCDKデプロイ(トランクベース+マルチアカウント)
13 IaC管理しているリソースが「分からない」 課題: IaC管理か手動管理か分からない 解決策: ポリシーの策定・タグ付け - IaC管理が向かないリソースもある - 1度しか作らない/変更が少ないものは手動の方が楽
- IaCどこまで使うか(初期構築使い捨て or 運用も) - 共通タグの付与 - IaCツールで作成したリソースに共通タグをつける
14 全AWSリソースに共通タグ付け CDK Terraform 引用: https://dev.classmethod.jp/articles/aws_cdk_add_common_tag/ https://dev.classmethod.jp/articles/terraform-aws-provider-default-tags/
引き継ぎには、オートメーション恐怖症の克服が必要 克服するためのポイント - シンプルに使う - デプロイを自動化する - IaC管理 or 手動管理のポリシー策定
- タグを活用して、IaC管理か手動か分かりやすく 15 まとめ
None