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
3.9k
なぜIaCの引き継ぎは 上手くいかないのか?
msato
July 14, 2022
Tweet
Share
More Decks by msato
See All by msato
Terraformテスト入門
msato
1
1.5k
AFTを運用していたらAWS Configの課金が急増していた件
msato
0
510
IaCジャーニーの紹介
msato
1
1.3k
Terraformのデプロイパイプラインに使用できるツールをまとめてみる
msato
1
1.7k
Terraform Cloudを使って Stateファイルを楽に管理する
msato
1
2.1k
aws-nuke + Github Actoinsで AWSアカウントのクリーンアップを 自動化した話
msato
0
1.9k
Amazon ECSのネットワーク関連コストの話
msato
0
1.7k
失敗から学ぶAWSコスト管理入門 ~想定の50倍以上の請求がきた話~
msato
0
1.5k
IAM_Access_Analyzer使ってみた.pdf
msato
0
610
Featured
See All Featured
Being A Developer After 40
akosma
86
590k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
Faster Mobile Websites
deanohume
304
30k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
The Language of Interfaces
destraynor
154
24k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
92
16k
Embracing the Ebb and Flow
colly
84
4.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
3
370
Visualization
eitanlees
144
15k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
790
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