Slide 1

Slide 1 text

SRE に優しい Terraform 構成 ~ modules と state の組み方~

Slide 2

Slide 2 text

2 経歴など CIerのAWSエンジニアを経て、2026年1月にコドモンにSREとして 入社。AWS Community Builder(24-25)、HashiCorp Ambassador(25-26)。都内でクラウド系コミュニティ「クラウド 食堂」を運営中。 都内在住、出身は栃木県宇都宮市。バンドとかライブがすき🎸 自己紹介 檜山 準 ひやま じゅん @hiyanger

Slide 3

Slide 3 text

3 Mission

Slide 4

Slide 4 text

4 すべての先生に 子どもと向き合う 時間と心のゆとりを こんなプロダクトを開発しています メインプロダクトは、保育・教育施設向けWebアプリケーション。 保護者と施設のやり取りを支えるモバイルアプリケーションや、施設職員向けモバイル版 アプリケーション、外部サービスと連携するAPIなども開発しています。

Slide 5

Slide 5 text

5 2026/4 25,382 施設

Slide 6

Slide 6 text

6 📝 はじめに 🤔 state と modules の問題点 👦 コドモンの Terraform 構成 📝 まとめ もくじ

Slide 7

Slide 7 text

7 はじめに

Slide 8

Slide 8 text

8 🗡 state 分割は 積極的に! 🛡 modules 利用は 慎重に!

Slide 9

Slide 9 text

9 state が少ない場合と modules を使った場合におきる問題

Slide 10

Slide 10 text

10 CONFIDENTIAL - © 2022 CoDMON Inc. 10 state が少ない場合における問題 ・1リソースでもエラーがあるとすべてのリソースが操作できない ・ plan / applyに時間がかかる (100リソースで 1分前後が超おおまかな目安) 🗡 state 分割は 積極的に!

Slide 11

Slide 11 text

11 CONFIDENTIAL - © 2022 CoDMON Inc. 11 modules を使った場合におきる問題 ・module を修正すると、対象の全環境に波及する  (環境ごとに変えたい場合、分岐が必要になり、変更がより手間になる) ・直感的にリソースが把握できず、呼び出し先を追う必要がある 🛡 modules 利用は 慎重に!

Slide 12

Slide 12 text

12 コドモンにおける Terraform 構成

Slide 13

Slide 13 text

13 CONFIDENTIAL - © 2022 CoDMON Inc. 13 コドモンにおける Terraform 構成 aws ├── prd │ ├── サービス A │ │ ├── main.tf (backend) │ │ ├── ecs.tf │ │ ├── iam.tf │ │ └── ... │ ├── サービス B │ │ └── ... │ └── ... ├── dev │ └── ... └── ... 💡 state はサービス(ライフサイクル)単位で  分割されている 💡 環境ごとに機能が作られている  (module 利用が少ない) 💡※ remote state もない  (data source 利用で参照なし) ↓ ⚡他の機能への依存が最小化されている! 👶 新メンバーでも扱いやすい!( SREに優しい)

Slide 14

Slide 14 text

14 CONFIDENTIAL - © 2022 CoDMON Inc. 14 コドモンにおける Terraform 構成の歴史 2020/8 2024/2 2024/4 👷Terraform 構成整備 開始 state数:21 module数:41 👷Terraform 構成整備 完了 state数:436 module数:27 総移行リソース数 6,462 🤖Terraform 運用開始

Slide 15

Slide 15 text

15 まとめ

Slide 16

Slide 16 text

16 🗡 state 分割は 積極的に! 🛡 modules 利用は 慎重に! Repeat !

Slide 17

Slide 17 text

17 ご清聴ありがとうございました