Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Terraform共通モジュールをチーム横断で“変えられる”運用へ ― リリースと適用の分離
Search
kekke-n
July 11, 2026
Technology
5.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Terraform共通モジュールをチーム横断で“変えられる”運用へ ― リリースと適用の分離
kekke-n
July 11, 2026
More Decks by kekke-n
See All by kekke-n
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
1.8k
Cloud Monitoringで非同期処理のオブザーバビリティ向上
kekke_n
0
650
Other Decks in Technology
See All in Technology
HRC_Frontend_Conference_Fukuoka_2026.pdf
ts020
0
740
AIを活用するために決めた "やらないこと" - 価値に注目する / Not betting on AI
soudai
PRO
2
540
2026_devsumi_ozono.pdf
o3
3
510
beyond jj: config & tools ecosystem
indirect
0
610
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
3
510
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
2
940
新機種発売前に見直そう!端末移行で再ログインが要るアプリ・要らないアプリは何が違うのか 〜シームレスに再開できる設計と実装〜
zozotech
PRO
0
200
山手線を徒歩で一周してわかった、 位置情報アプリは「足」が最強のデバッガー
hinakko
0
160
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
3
1.7k
作って終わりじゃないサーバーレス 〜9年運用する大規模EC物流API基盤の設計・運用のリアル〜
zozotech
PRO
0
120
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
350
Issue 駆動でスペシャリストの意図を届ける、AI 実装のアクセシビリティ向上
thkt
0
120
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Building AI with AI
inesmontani
PRO
1
1.2k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
690
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.1k
Marketing to machines
jonoalderson
1
5.8k
From π to Pie charts
rasagy
1
370
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
300
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
830
Transcript
Terraform共通モジュールを チーム横断で“変えられる”運⽤へ 中間 啓介 株式会社SmartHR 2026.7.11 / SRE NEXT 2026
Lunch Sponsor Session / #srenext_c リリースと適⽤の分離
⾃⼰紹介 経歴 • 2022/5 SmartHRにバックエンドエンジニアとして入社 • 2024/1 SREチームに異動 過去登壇 •
SRE Kaigi 2026 / 小さく始めるBCP ― 多プロダクト環境で始める 最初の一歩 中間 啓介(なかま けいすけ) 株式会社SmartHR / SRE
© SmartHR, Inc. 01 会 社 概 要 © SmartHR,
Inc. バックオフィスから まるごとスマートに。 ⼈事‧労務‧情シス業務を効率化。 みんなが使うから組織が変わる。 06 | 57
1 SmartHRがTerraformの共通モジュールを使う背景 2 共通モジュールの課題 3 バージョニングによる解決 4 まとめ アジェンダ
本⽇お持ち帰りできること • Terraformの共通モジュールを運⽤するときのツラミ • Terraformの共通モジュールをチーム横断で運⽤するためのヒント
01 SmartHRがTerraformの モジュールを使う背景
SmartHRのインフラ運⽤ • SmartHRはマルチプロダクト構成 ◦ プロダクトチームは約40チーム • プロダクトチーム ◦ インフラに対してオーナーシップを持ち、⾃分達で変更が⾏える体制 •
SREチーム ◦ プロダクトチームがインフラを構築‧変更しやすいように、インフラ構築 ⽀援やTerraformの共通モジュールを整備している
Terraformのディレクトリ構成 • モノレポ構成 • ルートモジュール ◦ gcp/product/env ◦ プロダクト✕環境別に⽤意 •
共通モジュール ◦ gcp/modules ◦ 再利⽤可能なリソースを置く gcp/ ├── kintai // 勤怠管理プロダクト │ ├── development │ ├── production │ └── staging ├── kyuyo // 給与計算プロダクト │ ├── development │ ├── production │ └── staging ├── modules │ ├── cloud-storage ︙ ディレクトリ構成サンプル ルートモジュール 共通モジュール
• よく使う構成の部品化 ◦ SmartHRには似た構成のプロダクトが多く、よく使う構成をモジュール 化することで、同じ実装の繰り返しを減らす • 安全なインフラ構築のセルフサービス化 ◦ セキュリティ要件や推奨設定をモジュールに組み込むことで、プロダク トチームが安全に素早くインフラを構築できるようにする
共通モジュールを使う背景
02 共通モジュールの課題
• 影響確認が⼤変 ◦ 共通モジュールを変更する場合、参照元のルートモジュールに破壊 的変更が起きないようにする必要がある • Driftを⽣む ◦ 共通モジュールを変更できたとしても、参照元のルートモジュール でDriftが発⽣してapplyがしづらくなる
共通モジュールは変更しづらい
プロダクトチームへの悪影響 • 共通モジュールを使わず、各チーム独⾃で実装するようになる ◦ →実装‧レビュー⼯数が増える ◦ →プロダクトチームのアジリティが下がる • 共通モジュールの変更を諦めて、そのままにする ◦
→インフラの最新の機能が使えなくなる ◦ →インフラを最適な状態にできなくなる
03 バージョニングによる解決
• tfactionはモノレポ構成でTerraformを管理するための便利なGitHub Actionsが揃っている ◦ https://github.com/suzuki-shunsuke/tfaction • PRにplanの結果を⾒やすい形式でコメント • PRのマージでapply実⾏ •
モジュールをバージョニングをするための便利なWorkflowを利⽤ ◦ https://suzuki-shunsuke.github.io/tfaction/docs/v1/feature/mo dule 前提:Terraformの実⾏環境はtfaction
• モジュールの参照をGitタグ参照にして、共通モジュールのリリースと 適⽤を分離する バージョニング
• 分離:共通モジュールのGitタグ参照化 • リリース:共通モジュールの変更 • 適⽤:共通モジュールの参照バージョン変更 バージョニングの流れ
• 初期バージョンのタグを作成(tfactionのwolkflowを活⽤) ◦ module_gcp_modules_cloud-storage_v0.0.0 • モジュールの参照を作成したタグ(v0.0.0)にする 分離:共通モジュールのGitタグ参照化 参考:tfaction - Manage
Terraform Modules https://suzuki-shunsuke.github.io/tfaction/docs/v1/feature/module
Gitタグ参照のサンプルコード(v0.0.0) # gcp/kintai/development/cloud-storage.tf module "cloud_storage" { # source = "../../modules/cloud-storage"
source = "github.com/org/repo//gcp/modules/cloud-storage?ref=module_gcp_modules_cloud-storage_v0.0.0" bucket_name = "kintai-development" location = "asia1" } 参考:Terraform - Use modules in your configuration https://developer.hashicorp.com/terraform/language/modules/configuration ここにタグを 指定する
• 共通モジュールを変更する • 次のバージョンのタグを作成する(tfactionのwolkflowを活⽤) ◦ module_gcp_modules_cloud-storage_v0.0.1 リリース:共通モジュールの変更
• プロダクトチームが好きなタイミングでモジュールの参照タグをv0.0.1に 変更する 適⽤:共通モジュールの参照バージョン変更
RenovatePRの⾃動検知 v0.0.0 -> v0.0.1のア プデートを⾃動で検 知してPR作成
共通モジュール 安全に変更できるようになった☺
が、新たな課題が...
共通モジュールの変更から適⽤までのリードタイムが⻑い • プロダクトチームのインフラに適⽤するまで半⽇〜1⽇かかる 半⽇〜1⽇
SREチームしか変更できない共通モジュール • 煩雑な⼿作業が多く、SREチームに属⼈化が起きる SRE頼みになる 煩雑な⼿作業が多い
• タグ作成等の単純作業はGitHub Actionsでやる • リリースするまでの⼿順をAIのSkillsとして追加し、DevinやClaude Code に任せられるようにする • RenovateのPRはplanにDriftがなければオートマージ AI/GitHub
Actions/Renovateによる⾃動化
リードタイム削減 • 作業の⾃動化によって、半⽇〜1⽇かかる作業が30分に削減できた 30分
煩雑な⼿作業は⾃動化 チーム横断で“変えられる”共通モジュール • プロダクトチームが共通モジュールを変更できる状態になる プロダクトチームが変更できる状態
04 まとめ
• バージョニングを使えば、リリースと適⽤を分離でき、共通モジュールを 変更しやすくなる • 煩雑な作業を⾃動化すれば、誰でも共通モジュールを変更でき、チーム横 断で変えられる共通モジュールを運⽤できる まとめ
Special Thanks!!
https://open.talentio.com/r/1/c/smarthr/pages/98449 シニアSRE 募集中です!! We are hiring!! © SmartHR, Inc. 49
| 57 ご静聴ありがとうございました!