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
420
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
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
sira's awesome portfolio website redesign presentation
elsirapls
0
460
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Ruling the World: When Life Gets Gamed
codingconduct
0
400
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.4k
Making Projects Easy
brettharned
120
6.8k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
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