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
GitHub Self-hostedに移行しました。CIが最大55%速くなり、月額300万円削減!
Search
dangminhduc
July 23, 2025
410
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GitHub Self-hostedに移行しました。CIが最大55%速くなり、月額300万円削減!
dangminhduc
July 23, 2025
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
330
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Practical Orchestrator
shlominoach
192
12k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
510
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
510
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
530
Agile that works and the tools we love
rasmusluckow
331
22k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Color Theory Basics | Prateek | Gurzu
gurzu
1
470
Ethics towards AI in product and experience design
skipperchong
2
380
We Have a Design System, Now What?
morganepeng
55
8.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Transcript
2025/07/23 SREチーム DANG MINH DUC GitHub Self-hostedに移行しました。CIが最大 55%速くなり、月額300万円削減!
目次 自己紹介 1 SODAでのGitHub Actions費用 2 GitHub Actions self-hostedへ の移行
3 移行後の課題 4 結果 5
SRE @SODA inc. ◦ 2023年2月に入社 ◦ SREチームに所属 ◦ 役割: ▪
クラウドインフラ運用 ▪ アーキテクチャ改善 ▪ DBA ▪ SLI/SLO策定 ▪ CICD改善 ▪ etc DANG MINH DUC - ドゥック
SODAでのGitHub Actions費用 2
SODAでのGitHub Actions費用 Budgetを$9000を設定しましたが、よく超えています!
GitHub-hosted vs Self-hosted Specs GitHub-hosted EC2 On-demand EC2 Spot x86
2コア、8GBメモ リ、75GBディスク、 Public IP付き $0.008 $0.001818(-77%) $0.000735(-90.8%) Note: EC2のは北バージニアリージョン、m7i-flex.largeタイプで計算する
Self-hostedへ移行 3
All in oneソーリューション VS https://github.com/runs-on - ❌CloudFormation Stack - ❌年間ライセンス$300
https://github.com/github-aws-runners/te rraform-aws-github-runner - 🟢Terraform module - 🟢無料
モジュールのアーキテクチャ https://philips-labs.github.io/terraform-aws-github-runner/#detailed-design
移行後の課題 4
移行後の課題 1. 試算の通りににコストが安くならなかった 2. スポットインスタンスがAWSから回収されるため、self-hosted ランナーが強制的に 停止してしまう 3. ジョブキューイングの時間が長くて、一部のジョブが「queued」状態で永遠に詰まる 4.
キャッシュバックエンドはS3に変更するのが必要
#1 試算の通りににコストが安くならなかった
#1 試算の通りににコストが安くならなかった
#1 試算の通りににコストが安くならなかった
#2 スポットインスタンスがAWSから回収されるため、self-hosted ランナーが強制的に停止してしまう Spot インスタンス停止回数
#2 スポットインスタンスがAWSから回収されるため、self-hosted ランナーが強制的に停止してしまう 対策: Spotインスタンス取得戦略を変更する - Price capacity optimized →
最良の価格-終了率 - Lowest price → デフォルト - Diversified → 全てのSpotプールから並行に取得 - Capacity optimized → 最低終了率
#3 ジョブキューイングの時間が長くて、一部のジョブが「queued」状態で永遠に詰まる 原因: - 事前準備ステップ(必要なツール、Actions Binary)の実行 - AWSのクオータ - self-hostedからGitHubまでの通信障害(バグ)
https://github.com/actions/runner/issues/3609
#3 ジョブキューイング時間削減の対策 ❖ 事前準備ステップ(必要なツール、Actions Binary)の実行 ➢ カスタムAMIを採用する(Packer) ❖ AWSのクオータ ➢
緩和上限申請 ❖ self-hostedからGitHubまでの通信障害(バグ) ➢ 手動の代わりに自動キャンセル・リトライする
#3 ジョブキューイング時間削減の結果
#4 キャッシュバックエンドはS3に変更するのが必要 EC2でself-hostedに移行したため、S3をキャッシュストレージとして使用する方が適切である https://github.com/runs-on/cache GitHub Cache S3-backed Cache 容量 ❌1リポジトリあたり最大
10GB 🟢無制限 速度 ❌ 50~100MB/s 🟢 300~400MB/s 用途 🟢 actions/setup-* 🟢 docker buildx cache 🟢 その他 (go mod, node modules) ❌ actions/setup-* 🟢 docker buildx cache 🟢 その他 (go mod, node modules)
最終的なアーキテクチャー
結果 5
コストの比較 Machine Type Total minutes Price per min Total Cost
(USD) linux-x64-2core 4845 $0.008 $38.76 linux-x64-4core 622319 $0.016 $9957.104 linux-x64-8core 416835 $0.032 $13338.72 linux-arm64-2core 145365 $0.005 $726.825 linux-arm64-4core 1400 $0.01 $14 linux-arm64-8core 116 $0.02 $2.32 Total cost in case of GitHub-Hosted $24077.729 参照: https://docs.github.com/en/billing/managing-billing-for-your-products/about-billing-for-github-actions
コスト比較(実際AWSでかかったコスト) 実際にself-hostedは$3000だけかかりました💰 1ヶ月$21000(300万円)📉節約できた!
おまけ: CIが速くなった 🚤 GitHub Performance Metrics Test Workflow Old (sec)
- Apr 2025 New (sec) - Jun 2025 Change Test Workflow 1 394.4 279.7 29.1% Test Workflow 2 311.3 233.1 25.1% Test Workflow 3 443.4 374.4 15% Test Workflow 4 495.3 548 -10% ※ Workflow中の各ジョブ平均実行時間で計算しました。 平均20%高速になり、最良のシナリオでは最大54%速くなりました。
最後に 7
最後に 結論 - Self-hostedは、オンデマンドインスタンスでもGitHub-hostedよりはるかに安いです💰 - スポットインスタンスを使用する場合、より良い停止率のためにデフォルトのインスタンス取得戦 略を変更することを忘れないでください📝 - CICDパイプラインを最適化するためにself-hostedランナーを積極的にカスタマイズできます👷 -
CI監視ツールは非常に便利です。弊社ではDataDog CI Pipeline Visibilityを採用しています🐶 感想 Self-hostedに移行してから2ヶ月経ちました。最初想定できなかったシナリオが多かったですが、少し づつ潰して、現在だいぶ安定になりました。 運用コストがちょっと増えてきましたが、コストとカスタマイズのメリットはすごく大きい感じまし た。(特にAI開発の時代に) ぜひやってみてください👏 記事: https://zenn.dev/team_soda/articles/270f4cce08b737
None