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
Terraformのリファクタリングの取り組みについて
Search
Yuta Endo
December 16, 2025
Technology
1
110
Terraformのリファクタリングの取り組みについて
Yuta Endo
December 16, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
210
AI駆動開発を事業のコアに置く
tasukuonizawa
1
360
マネージャー視点で考えるプロダクトエンジニアの評価 / Evaluating Product Engineers from a Manager's Perspective
hiro_torii
0
180
ECS障害を例に学ぶ、インシデント対応に備えたAIエージェントの育て方 / How to develop AI agents for incident response with ECS outage
iselegant
3
290
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
180
20260204_Midosuji_Tech
takuyay0ne
1
160
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
180
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.6k
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
260
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
570
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
490
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
4
460
Featured
See All Featured
Navigating Weather and Climate Data
rabernat
0
110
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Become a Pro
speakerdeck
PRO
31
5.8k
Navigating Team Friction
lara
192
16k
The Spectacular Lies of Maps
axbom
PRO
1
530
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
440
Design in an AI World
tapps
0
150
Technical Leadership for Architectural Decision Making
baasie
2
250
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.1k
Thoughts on Productivity
jonyablonski
74
5k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
The Language of Interfaces
destraynor
162
26k
Transcript
PRESENTATION SLIDES [ ver.01 2025.12 ] © MOSH Inc. MOSH
develops and operates a platform that supports independent creators in selling their services online. Terraformのリファクタリングの取り組みについて Presentation slides for どろんこSRE
PRESENTATION SLIDES © MOSH Inc. 自己紹介 • 遠藤 悠大 (@ut61z)
• MOSH 技術部 Technical Enablement チーム • SREing, Platform Engineering • 猫5匹飼ってます
PRESENTATION SLIDES © MOSH Inc. 会社紹介 指名経済 MOSHのミッション 一人の情熱が育まれ、だれかに伝播し、また新しい情熱が生まれる。
そんなふうに「情熱がめぐる」世界をつくることが私たちのミッションです。 PRESENTATION SLIDES © MOSH Inc.
PRESENTATION SLIDES © MOSH Inc. プロダクト紹介 オールインワン MOSHが提供するプロダクト MOSHは専門性を持った個人・クリエイター向けのサービス販売&経営拡大プラットフォームです。
オールインワンプロダクトとしてクリエイターの事業拡大を支援します。 PRESENTATION SLIDES © MOSH Inc.
PRESENTATION SLIDES © MOSH Inc. MOSH Tech Meetup やりま す!
• MOSH Tech Meetup Vol.1 2025年 にやったここでしか言えないAIで やったこと • 明日やるよ! • 遊びにきてね
PRESENTATION SLIDES © MOSH Inc. TerraformでAWSリソースを構築するぞ
PRESENTATION SLIDES © MOSH Inc. あれ、難しい...
PRESENTATION SLIDES © MOSH Inc. 課題 • terraform apply はインフラに詳しい人がローカルで実行
• 一つのtfstateで全てのインフラを管理していた ◦ stg用のリソースもprod用のリソースも同じtfstate • stg/prod dir を切ってtfstateを分けていた ◦ が、道半ばでpendingしていた • dev account と prod account をvariableで切り替えて plan/apply していた
PRESENTATION SLIDES © MOSH Inc. 課題① • terraform apply はインフラに詳しい
人がローカルで実行 • 実行者がコンテキストを詳細に把握 • ヒューマンエラーの温床
PRESENTATION SLIDES © MOSH Inc. 課題② • 一つのtfstateで全てのインフラを管 理していた •
stg用のリソースもprod用のリソース も同じtfstate • stg_module というものが生まれてい た
PRESENTATION SLIDES © MOSH Inc. 課題③ • stg/prod dir を切ってtfstateを分け
ていた • が、道半ばでpendingしていた
PRESENTATION SLIDES © MOSH Inc. 課題④ • dev account と
prod account を variableで切り替えて plan/apply し ていた
PRESENTATION SLIDES © MOSH Inc. 課題 • terraform apply はインフラに詳しい人がローカルで実行
• 一つのtfstateで全てのインフラを管理していた ◦ stg用のリソースもprod用のリソースも同じtfstate • stg/prod dir を切ってtfstateを分けていた ◦ が、道半ばでpendingしていた • dev account と prod account をvariableで切り替えて plan/apply していた • これらが全て合わせ技で押し寄せてくる
PRESENTATION SLIDES © MOSH Inc. 認知負荷が爆発 🤯
PRESENTATION SLIDES © MOSH Inc. このままではまずい.. • これからどんどん新機能開発の計画も立ってきている
PRESENTATION SLIDES © MOSH Inc. やったこと • ADR作成 • tfactionの導入
• ディレクトリ構成の整理 • 重複定義されているmoduleの正規化
PRESENTATION SLIDES © MOSH Inc. やったこと • ADR作成 • ”なぜリファクタリングするのか”を言
語化、共通認識を持つ
PRESENTATION SLIDES © MOSH Inc. やったこと • tfactionの導入 • CI/CD
上で terraform plan / apply を徹底 • いつ誰がリソースを変更したかを可 視化 • どんな人でもインフラリソースを構築 できる機会提供
PRESENTATION SLIDES © MOSH Inc. やったこと • ディレクトリ構成の整理 • 依存関係の可視化
◦ commonには複数のコンポー ネントが依存するものを配置 ◦ servicesにはプロジェクト別の 独立した単一コンポーネントを 配置
PRESENTATION SLIDES © MOSH Inc. やったこと • ディレクトリ構成の整理 • 依存関係の可視化
• 数えてみたら 503 import block 書い てました.. ◦ 消したものもあるので本当は もっとあります
PRESENTATION SLIDES © MOSH Inc. やったこと • 重複定義されているmoduleの正規 化 stg_s3.tfをs3.tfに統合
PRESENTATION SLIDES © MOSH Inc. やらなかったこと • moduleの整理 • 当初はAWSリソースごとに整理しようとしていた
◦ それをやるメリットとコストを鑑みて様子見 ◦ 明らかに有用なmoduleを発見していきながら少しずつ育てる
PRESENTATION SLIDES © MOSH Inc. infra管理リポジトリのPR merge数 ≒ terraform apply数
PRESENTATION SLIDES © MOSH Inc. めでたしめでたし👏
PRESENTATION SLIDES © MOSH Inc. めでたしめでたし?
PRESENTATION SLIDES © MOSH Inc. ここからが今日の本題です
PRESENTATION SLIDES © MOSH Inc. 今もなおどろんこを完全に抜け出せたわけではありません • moduleはまだまだ整理されていない •
権限設計もまだまだ • terraformだけがSREの仕事ではない
PRESENTATION SLIDES © MOSH Inc. 大事なのはリスクマネジメント • 認知負荷が爆発することで ◦ 事故の発生確率が上がる
◦ 開発生産性を落とす • サービスとしての競争優位性を落とす
PRESENTATION SLIDES © MOSH Inc. リファクタリングをなぜしたか • 私が辛いから...
PRESENTATION SLIDES © MOSH Inc. リファクタリングをなぜしたか • 私が辛いから... • ではなく
PRESENTATION SLIDES © MOSH Inc. リファクタリングをなぜしたか • 事故発生率を下げるため • 開発生産性を上げるため
• サービスとしての競争優位性を上げるため
PRESENTATION SLIDES © MOSH Inc. リファクタリングをなぜこれ以上一旦しないか • 競争優位性に寄与するインパクトが小さいから
PRESENTATION SLIDES © MOSH Inc. なにかに似ている🤔
PRESENTATION SLIDES © MOSH Inc. SLO • あなたは完璧であることはできませ んし、いずれにしても誰もあなたが 完璧であることを必要としていませ
ん。完璧であろうとすることはコスト がかかりすぎます。このことを受け 入れれば、最終的には誰もが満足 できるようになります
PRESENTATION SLIDES © MOSH Inc. SLOの概念は応用範囲が広い • 特に今何をすべきかを見極め、意思決定するために •
もし、技術的観点で〇〇したいけどできてないという状況にある方は • 事業にとってどうインパクトがあるか仮説を立て、計測し、調整していくことで組織か らの信頼性を得ることができるかもしれません
PRESENTATION SLIDES © MOSH Inc. どろんこは絶対に消えない • でもこれなら戦えるという足場を作って戦う
PRESENTATION SLIDES © MOSH Inc. ありがとうございました