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
12
7.1k
なぜIaCの引き継ぎは 上手くいかないのか?
msato
July 14, 2022
Tweet
Share
More Decks by msato
See All by msato
生成AIを活用したTerraformワークフロー(HCP Terraform × Claude Code)
msato
0
190
筋肉の大会_NABBA_に出てみた.pptx.pdf
msato
0
94
筋肉の大会(NABBA)に出てみた
msato
0
670
生成AIを活用したTerraformワークフロー
msato
0
490
re:Invent 2024の HashiCorp関連(主にTerraform)の アップデート&セッション共有
msato
0
330
Terraform Stacks入門 #HashiTalks
msato
6
1.7k
Terraformテスト入門
msato
3
4.4k
AFTを運用していたらAWS Configの課金が急増していた件
msato
0
840
IaCジャーニーの紹介
msato
1
1.5k
Featured
See All Featured
Navigating Team Friction
lara
190
15k
Typedesign – Prime Four
hannesfritz
42
2.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Designing for Performance
lara
610
69k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
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