Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

Terraformのリファクタリングの取り組みについて

Avatar for Yuta Endo Yuta Endo
December 16, 2025

 Terraformのリファクタリングの取り組みについて

Avatar for Yuta Endo

Yuta Endo

December 16, 2025
Tweet

Other Decks in Technology

Transcript

  1. 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 

  2. PRESENTATION SLIDES © MOSH Inc. 自己紹介
 • 遠藤 悠大 (@ut61z)


    • MOSH 技術部 Technical Enablement チーム
 • SREing, Platform Engineering
 • 猫5匹飼ってます

  3. PRESENTATION SLIDES © MOSH Inc. 会社紹介
 指名経済
 MOSHのミッション 
 一人の情熱が育まれ、だれかに伝播し、また新しい情熱が生まれる。

    そんなふうに「情熱がめぐる」世界をつくることが私たちのミッションです。 PRESENTATION SLIDES © MOSH Inc.
  4. PRESENTATION SLIDES © MOSH Inc. MOSH Tech Meetup やりま す!


    • MOSH Tech Meetup Vol.1 2025年 にやったここでしか言えないAIで やったこと
 • 明日やるよ!
 • 遊びにきてね

  5. PRESENTATION SLIDES © MOSH Inc. 課題
 • terraform apply はインフラに詳しい人がローカルで実行

    
 • 一つのtfstateで全てのインフラを管理していた 
 ◦ stg用のリソースもprod用のリソースも同じtfstate 
 • stg/prod dir を切ってtfstateを分けていた 
 ◦ が、道半ばでpendingしていた
 • dev account と prod account をvariableで切り替えて plan/apply していた 

  6. PRESENTATION SLIDES © MOSH Inc. 課題①
 • terraform apply はインフラに詳しい

    人がローカルで実行
 • 実行者がコンテキストを詳細に把握 
 • ヒューマンエラーの温床

  7. PRESENTATION SLIDES © MOSH Inc. 課題②
 • 一つのtfstateで全てのインフラを管 理していた
 •

    stg用のリソースもprod用のリソース も同じtfstate
 • stg_module というものが生まれてい た

  8. PRESENTATION SLIDES © MOSH Inc. 課題④
 • dev account と

    prod account を variableで切り替えて plan/apply し ていた

  9. PRESENTATION SLIDES © MOSH Inc. 課題
 • terraform apply はインフラに詳しい人がローカルで実行

    
 • 一つのtfstateで全てのインフラを管理していた 
 ◦ stg用のリソースもprod用のリソースも同じtfstate 
 • stg/prod dir を切ってtfstateを分けていた 
 ◦ が、道半ばでpendingしていた
 • dev account と prod account をvariableで切り替えて plan/apply していた 
 • これらが全て合わせ技で押し寄せてくる 

  10. PRESENTATION SLIDES © MOSH Inc. やったこと
 • ADR作成
 • tfactionの導入


    • ディレクトリ構成の整理
 • 重複定義されているmoduleの正規化 

  11. PRESENTATION SLIDES © MOSH Inc. やったこと
 • tfactionの導入
 • CI/CD

    上で terraform plan / apply を徹底
 • いつ誰がリソースを変更したかを可 視化
 • どんな人でもインフラリソースを構築 できる機会提供

  12. PRESENTATION SLIDES © MOSH Inc. やったこと
 • ディレクトリ構成の整理
 • 依存関係の可視化


    ◦ commonには複数のコンポー ネントが依存するものを配置
 ◦ servicesにはプロジェクト別の 独立した単一コンポーネントを 配置

  13. PRESENTATION SLIDES © MOSH Inc. やったこと
 • ディレクトリ構成の整理
 • 依存関係の可視化


    • 数えてみたら 503 import block 書い てました..
 ◦ 消したものもあるので本当は もっとあります

  14. PRESENTATION SLIDES © MOSH Inc. やらなかったこと
 • moduleの整理
 • 当初はAWSリソースごとに整理しようとしていた

    
 ◦ それをやるメリットとコストを鑑みて様子見 
 ◦ 明らかに有用なmoduleを発見していきながら少しずつ育てる 

  15. PRESENTATION SLIDES © MOSH Inc. SLO
 • あなたは完璧であることはできませ んし、いずれにしても誰もあなたが 完璧であることを必要としていませ

    ん。完璧であろうとすることはコスト がかかりすぎます。このことを受け 入れれば、最終的には誰もが満足 できるようになります

  16. PRESENTATION SLIDES © MOSH Inc. SLOの概念は応用範囲が広い
 • 特に今何をすべきかを見極め、意思決定するために 
 •

    もし、技術的観点で〇〇したいけどできてないという状況にある方は 
 • 事業にとってどうインパクトがあるか仮説を立て、計測し、調整していくことで組織か らの信頼性を得ることができるかもしれません