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
1
470
Terraformテスト入門
msato
2
1.8k
AFTを運用していたらAWS Configの課金が急増していた件
msato
0
580
IaCジャーニーの紹介
msato
1
1.4k
Terraformのデプロイパイプラインに使用できるツールをまとめてみる
msato
1
1.8k
Terraform Cloudを使って Stateファイルを楽に管理する
msato
1
2.1k
aws-nuke + Github Actoinsで AWSアカウントのクリーンアップを 自動化した話
msato
0
2k
Amazon ECSのネットワーク関連コストの話
msato
0
1.8k
失敗から学ぶAWSコスト管理入門 ~想定の50倍以上の請求がきた話~
msato
0
1.5k
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
53
13k
A Philosophy of Restraint
colly
203
16k
How STYLIGHT went responsive
nonsquared
96
5.2k
4 Signs Your Business is Dying
shpigford
182
21k
Being A Developer After 40
akosma
87
590k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Code Reviewing Like a Champion
maltzj
521
39k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
How to Ace a Technical Interview
jacobian
276
23k
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