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
1
4k
なぜIaCの引き継ぎは 上手くいかないのか?
msato
July 14, 2022
Tweet
Share
More Decks by msato
See All by msato
Terraform Stacks入門 #HashiTalks
msato
0
450
Terraformテスト入門
msato
2
1.8k
AFTを運用していたらAWS Configの課金が急増していた件
msato
0
570
IaCジャーニーの紹介
msato
1
1.4k
Terraformのデプロイパイプラインに使用できるツールをまとめてみる
msato
1
1.8k
Terraform Cloudを使って Stateファイルを楽に管理する
msato
1
2.1k
aws-nuke + Github Actoinsで AWSアカウントのクリーンアップを 自動化した話
msato
0
1.9k
Amazon ECSのネットワーク関連コストの話
msato
0
1.8k
失敗から学ぶAWSコスト管理入門 ~想定の50倍以上の請求がきた話~
msato
0
1.5k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Faster Mobile Websites
deanohume
305
30k
Mobile First: as difficult as doing things right
swwweet
222
9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Producing Creativity
orderedlist
PRO
341
39k
Being A Developer After 40
akosma
87
590k
How to Ace a Technical Interview
jacobian
276
23k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Facilitating Awesome Meetings
lara
50
6.1k
The Cost Of JavaScript in 2023
addyosmani
45
7k
Designing for humans not robots
tammielis
250
25k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
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