Skip to content
Latchkey

GitHub Larger RunnerからLatchkeyへの移行

GitHub larger runnerは重いジョブにネイティブでより多くのコアを与えます。痛みが分単価の請求なら、それらのジョブをLatchkeyに移すのはほぼruns-onの変更だけです。

GitHub larger runnerは、標準runnerより多くのコア、RAM、ディスクを備えたファーストパーティのマネージドVMです。GitHubのドキュメントによれば、分単価で課金され、含まれる無料分はそれには使えません。Latchkeyは同じジョブをruns-onの変更でアクセスできるマネージドrunnerで、通常はより低い分単価で実行し、一時的な失敗が自動的に再試行される自己修復を加えます。移行がどのようなものか、そしてそれぞれのオプションがどこで強いかを示します。ベンダー価格は変わるため、GitHubのサイトで現在の価格を確認してください。

移行すると何が変わるか

GitHub larger runnerLatchkey
runnerモデルファーストパーティのマネージドVMサードパーティのマネージドrunner
指定方法runnerグループ + カスタムラベルruns-onラベルの入れ替え
含まれる/無料分が適用される非適用(GitHubドキュメントによる)無料枠を含む
一時的な失敗の自己修復非対応対応(自動検出/修正/再試行)
runnerグループ / ラベルの管理自分で管理不要
GitHubネイティブ統合最も深い(組み込み)標準的なrunner統合

何が同じままか

workflowのYAML、actions、secrets、ジョブグラフは変わりません。あなたは引き続きGitHub Actionsを実行しており、重いジョブがどのrunnerに乗るかを変えているだけです。

何が変わるか

  • 指定: runnerグループ名とカスタムのlarger runnerラベルの代わりに、runs-onをLatchkeyのラベルに向けます。
  • 課金: larger runnerは含まれる分の枠なしで分単価課金です(GitHubドキュメントによる)。Latchkeyは無料枠を含む独自の価格を適用します。
  • 信頼性: 一時的および機械的な失敗(OOMによるkill、ディスク満杯、registryのタイムアウト)はLatchkeyで自己修復して再試行され、実行を落としません。

GitHub larger runnerの方が強い場合

サードパーティの関与をゼロにしたい、最も深いGitHub統合が欲しい、あるいはlarger runner用の静的IP範囲などGitHub Enterprise Cloudに紐づく機能が欲しいなら、ファーストパーティのlarger runnerに留まるのは正当な選択です。トレードオフはより高い分単価と自己修復がないことです。

安全な移行パス

  • 現在larger runnerで動いている重いworkflowを1つ選びます。
  • それを複製し、コピー側でruns-onをLatchkeyのラベルに入れ替えます。
  • 両方を1週間実行し、実時間、分単価コスト、再実行回数を比較します。
  • 実際のビルドで数値が持続したら残りを展開します。

結論

重いジョブが頻繁に実行され、larger runnerの分単価の請求が痛みなら、それらのジョブをLatchkeyに移すと通常コストが下がり、workflowをそのままに保ちながら不安定な再実行がなくなります。ネイティブ統合とファーストパーティの課金が分単価より重要なら、GitHub larger runnerは留まるのに妥当な場所です。無料で始めて、実際のビルドと比較してください。

よくある質問

移行のためにworkflowを書き直す必要がありますか?
いいえ。主な変更はruns-onです。steps、actions、secretsは同じままです。GitHubのドキュメントによれば、larger runnerはrunnerグループとカスタムラベルで指定します。Latchkeyでは代わりにラベルを指定します。出典: https://docs.github.com/en/actions/using-github-hosted-runners/using-larger-runners/running-jobs-on-larger-runners。
今日larger runnerを使うと、含まれる無料のGitHub Actions分を失いますか?
GitHubの課金ドキュメントによれば、含まれる分はlarger runnerには使えないため、最初から分単価で課金されます。GitHubで現在の価格を確認してください。出典: https://docs.github.com/en/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions および https://docs.github.com/en/billing/reference/actions-runner-pricing。

関連ガイド