larger GitHub runner とは? - より多くのコア、より高い価格
larger GitHub runner とは、デフォルトの 2 コアマシンより多くの vCPU、メモリ、ディスクを備えたホステッド runner です。重い job では高速ですが、分単位で大幅な割増料金が課金されます。
標準の GitHub ホステッド Linux runner は控えめです(一般的に 2 vCPU / 7 GB)。コンパイル負荷の高い job やメモリを多く消費する job には小さすぎるため、GitHub は larger runner を提供しています。これらは高速ですが、分単位ではるかに高価です。
"larger" が意味するもの
larger runner は、多数の vCPU と数十ギガバイトの RAM、そしてより多くのディスクを備えたサイズまで用意されています。label や runner group で割り当て、馬力が必要な job から runs-on で指定します。
いつ必要になるか
- 2 コアを飽和させるコンパイル負荷の高い build(C++、Rust、大規模なモノレポ)。
- 標準サイズでは OOM で kill されるメモリを多く消費する job。
- 経過時間によるフィードバック時間が、速度への課金に見合う job。
コストの割増
larger runner は標準の分単価の倍数で課金され、サイズに応じてスケールします。16 コアの runner は分あたりで 2 コアのおよそ 8 倍のコストになるため、速い job が自動的に安い job になるわけではありません。
マネージドとの比較
マネージドプロバイダーは同じ大きなサイズを提供しており、通常は GitHub の larger runner の価格を大きく下回ります。Latchkey は larger runner のサイズを GitHub ホステッドより通常およそ 70% 安く提供しているため、割増の痛みなしに CPU をスケールアップできます。
速いことが常に安いとは限らない
コアを 2 倍にすると分単価もおおよそ 2 倍になるため、job が実際に比例して速くなる場合にのみ、より大きな runner はコストを節約します。コンパイルにバインドされ並列化可能な作業は恩恵を受けますが、大きな runner 上のシングルスレッド job は割増分を燃やすだけです。
重要なポイント
- larger GitHub runner は、デフォルトより多くの vCPU、メモリ、ディスクを備える。
- コンパイル負荷の高い job やメモリを多く消費する job を高速化する。
- 標準の分単価の大きな倍数で課金される。
- マネージド runner は同じサイズをより低コストで提供する。