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
140
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Terraformのリファクタリングの取り組みについて
Yuta Endo
December 16, 2025
Other Decks in Technology
See All in Technology
制約理論(ToC)入門 2026版
recruitengineers
PRO
6
1.8k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
Redmine 7.0 新機能・機能強化解説(OSC2026京都ダイジェスト版)
vividtone
1
190
AIがコードを書く時代、人間は何を保証するのか———馬場さんと考える、開発者に求められる新しい責任と価値 - TECH PLAY
netmarkjp
0
1.3k
SnowflakeCoCoでデータエンジニアリング!
foursue
0
180
モダンフロントエンド 開発研修
recruitengineers
PRO
2
420
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.5k
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
2
460
Issue設計から始める仕様駆動開発 / 20260731 Mizuki Hirata
shift_evolve
PRO
1
140
MIRU 2026 チュートリアル
keisuke198619
0
840
もう一度考える SRE チームの作り方・育て方 / Rethinking SRE #1: Building and Growing SRE Teams
rrreeeyyy
6
1k
Goでデータパイプラインを作ろう
sansantech
PRO
0
300
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
410
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
430
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
300
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
200
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
520
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. ありがとうございました