なぜIaCの引き継ぎは 上手くいかないのか?
by
msato
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
なぜIaCの引き継ぎは 上手くいかないのか? 2022/7/22 コンサルティング部 佐藤雅樹
Slide 2
Slide 2 text
2 自己紹介 佐藤雅樹 - AWS事業本部コンサルティング部 - 好きなサービス: ECS、CDK - @chari7311 2
Slide 3
Slide 3 text
3 今日のゴール - IaCの引き継ぎで不幸になる人を減らす 今日話さないこと - 各IaCツールの詳細や比較 - IaCの概要
Slide 4
Slide 4 text
4 IaCの引き継ぎって辛くないですか?
Slide 5
Slide 5 text
5 IaCツールの引き継ぎ辛み 引き継ぐ側 - 作ったはいいが、自分以外変更してくれない - 久しぶりに見たら手動で変更されていた 引き継がれる側 - 適用したら、何かが壊れるか心配
Slide 6
Slide 6 text
6 オートメーション恐怖症 設定が カオスに 適用すると 壊れるかも と心配 手動変更 怖い! 引用: Infrastructure as Code――クラウドにおけるサーバ管理の原則とプラクティス
Slide 7
Slide 7 text
7 どうしたら引き継ぎが上手くいくか 引き継がれる側の「分からない」を減らす - IaCツールのコードが「分からない」 - デプロイ手順が「分からない」 - IaC管理しているリソースが「分からない」
Slide 8
Slide 8 text
8 IaCツールのコードが「分からない」 課題: IaCツールの使い方が独特で、分からない - モジュール化・ライブラリ化のやりすぎ - 記述量は減らせるが、やりすぎると複雑に - 組織規模が小さい・構成が固まっていない内は慎重に
Slide 9
Slide 9 text
9 失敗例) ECSタスク定義もモジュール化
Slide 10
Slide 10 text
解決策: シンプルに作る(コードをDryにしすぎない) - IaCで実現したいこと、変更のリードタイム短縮 - 変更しやすい・構成を把握しやすい > コードが短い 10 IaCツールのコードが「分からない」
Slide 11
Slide 11 text
11 デプロイ手順が「分からない」 課題: デプロイの属人化(ローカルから手動) - デプロイのために、各ユーザーに強い権限を付与 - 適用した際の履歴どこに残す問題 - 手順が増える・適用忘れが発生する 解決策: CI/CDパイプライン上で自動デプロイ - パイプラインに権限を渡す - パイプライン上に適用履歴が残る - 手順も簡略化できる
Slide 12
Slide 12 text
12 GithubActionsでCDKデプロイ(トランクベース+マルチアカウント)
Slide 13
Slide 13 text
13 IaC管理しているリソースが「分からない」 課題: IaC管理か手動管理か分からない 解決策: ポリシーの策定・タグ付け - IaC管理が向かないリソースもある - 1度しか作らない/変更が少ないものは手動の方が楽 - IaCどこまで使うか(初期構築使い捨て or 運用も) - 共通タグの付与 - IaCツールで作成したリソースに共通タグをつける
Slide 14
Slide 14 text
14 全AWSリソースに共通タグ付け CDK Terraform 引用: https://dev.classmethod.jp/articles/aws_cdk_add_common_tag/ https://dev.classmethod.jp/articles/terraform-aws-provider-default-tags/
Slide 15
Slide 15 text
引き継ぎには、オートメーション恐怖症の克服が必要 克服するためのポイント - シンプルに使う - デプロイを自動化する - IaC管理 or 手動管理のポリシー策定 - タグを活用して、IaC管理か手動か分かりやすく 15 まとめ
Slide 16
Slide 16 text
No content