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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
MCPゲートウェイを作って運用してわかったこと — Agent時代の権限管理の現在地
mtpooh
10
3.1k
Kernel testing frameworks
ennael
PRO
0
110
『GOエコノミー 』(相乗りサービス) におけるスペック駆動開発
mot_techtalk
1
310
BedrockとLambdaで作る リアルタイム進行型推理ゲーム
kawametho
0
190
AI時代だからこそ推したい!Gitコマンド再入門
munakata
0
150
ログラスのマルチプロダクトを 支える認証基盤 〜テナントごとに異なる統制とどう向き合うか〜
dada4386
3
400
freeeらしさをAIとともに作る / Creating the freee Experience with AI
ymrl
0
200
自主式軟體工廠
philipz
0
220
形式手法を使って仕様をコーディングしよう
mikanichinose
0
180
Claude起点の仕様駆動開発
tanakaseiya
0
380
スキルを作る、その前に!複数人で使われるスキルを 作るためのプロセス
junkifurukawa
2
320
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
140
Featured
See All Featured
Done Done
chrislema
187
17k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Accessibility Awareness
sabderemane
1
230
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
760
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
66k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Facilitating Awesome Meetings
lara
57
7.2k
The untapped power of vector embeddings
frankvandijk
2
1.9k
How to build a perfect <img>
jonoalderson
1
6.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
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. ありがとうございました