Skip to main content

より大きなランナーの概要

GitHub には、より多くの RAM、CPU、ディスク領域を備えたランナーが用意されています。

この機能を使用できるユーザーについて

より大きなランナー は、GitHub Team または GitHub Enterprise Cloud プランを使っている組織とエンタープライズのみが使用できます。

より大きなランナー (larger runner)の概要

標準の GitHub ホステッド ランナーに加えて、GitHub では、GitHub Team と GitHub Enterprise Cloud プランのお客様には、より多くの RAM、CPU、ディスク領域を備えたさまざまなマネージド仮想マシンが用意されています。 これらの より大きなランナー (larger runner) は、GitHub によってホストされ、ランナー アプリケーションとその他のツールをプレインストールしています。

GitHub では、macOS、Ubuntu、または Windows オペレーティング システムで より大きなランナー (larger runner) が提供され、使用するオペレーティング システムに応じてさまざまな機能を使用できます。 詳細については、「より大きなランナー (larger runner) の追加機能」を参照してください。

Ubuntu と Windows の より大きなランナー (larger runner) について

Ubuntu または Windows オペレーティング システムを使用する より大きなランナー は、組織または企業で構成されます。 より大きなランナー を追加する場合は、使用可能なハードウェア仕様とオペレーティング システム イメージから選んだマシンの種類を定義します。 GitHub では、定義した自動スケールの制限に基づき、Organization のジョブの需要に合わせてスケールアップおよびスケールダウンする、このランナーの複数のインスタンスが作成されます。 詳しくは、「より大きなランナーを管理する」を参照してください。

Ubuntu と Windows の より大きなランナー (larger runner) は、自動スケール機能と、ランナーに特定の範囲から静的 IP アドレスを割り当てる機能を提供します。 また、ランナー グループを使用して管理することもできます。これにより、より大きなランナー (larger runner) へのアクセスを制御できます。 詳細については、「より大きなランナー (larger runner) の追加機能」を参照してください。

macOS の より大きなランナー (larger runner) について

macOS オペレーティング システムを使用する より大きなランナーs は、YAML ワークフロー ラベルを目的のランナー イメージに更新することによって使用されます。 macOS の より大きなランナー でワークフローを実行するには、runs-on キーを更新して、GitHub で定義された macOS より大きなランナー ラベルのうちの一つを使用します。 追加の構成は不要です。 詳しくは、「より大きなランナーでジョブを実行する」を参照してください。

macOS の より大きなランナー (larger runner) では、次のマシン サイズを使用できます。

ランナー サイズArchitectureプロセッサ (CPU)メモリ(RAM)ストレージ (SSD)YAML ワークフロー ラベル
LargeIntel1230 GB14 GBmacos-latest-largemacos-12-largemacos-13-large [最新]、macos-14-large [ベータ]
XLargearm64 (M1)6 CPU および 8 GPU14 GB14 GBmacos-latest-xlargemacos-13-xlarge[最新]、macos-14-xlarge[ベータ]

macOS より大きなランナー (larger runner) での制限

  • GitHub によって提供されるすべてのアクションは、arm64 GitHub ホストランナーと互換性があります。 ただし、コミュニティ アクションは arm64 と互換性がない場合があり、実行時に手動でインストールする必要があります。 詳しくは、「より大きなランナーでジョブを実行する」を参照してください。
  • ハイパーバイザーで使用される Apple の Virtualization Framework の制限により、入れ子になった仮想化は arm64 ランナーではサポートされていません。

より大きなランナー (larger runner) のその他の機能

標準の GitHub ホストランナーと比較すると、より大きなランナー (larger runner) には追加機能があり、その可用性は より大きなランナー のオペレーティング システムによって異なります。

オペレーティング システムUbuntuWindowsmacOS
Android SDK ツールのハードウェア アクセラレータ
静的 IP アドレス
自動スケール
ランナー グループ

これらの機能は、次の方法で CI/CD パイプラインを強化できます。

  • Android SDK ツールのハードウェア アクセラレータにより、Android テストの実行速度が大幅に向上し、使用時間が数分短縮されます。 Android ハードウェア アクセラレーションの詳細については、Android Developers ドキュメントの「Android Emulator のハードウェア アクセラレーションを設定する」を参照してください。
  • より大きなランナー (larger runner) には特定の範囲からの静的 IP アドレスを割り当てることにより、この範囲を使ってファイアウォールの許可リストを構成できます。 詳細については、「より大きなランナー (larger runner) のネットワーク」を参照してください。
  • 自動スケーリングを使用すると、より大きなランナー (larger runner) をユーザーが設定した上限までスケールアップできるため、複数のワークフローを同時に実行できます。 詳しい情報については「より大きなランナー (larger runner)の自動スケーリング」を参照してください。
  • ランナー グループを使用すると、組織、リポジトリ、ワークフローのより大きなランナー (larger runner) へのアクセスを制御できます。 詳しくは、「より大きなランナーへのアクセスの制御」を参照してください。

各ランナー オペレーティング システムに含まれるツールの完全な一覧については、GitHub Actions ランナー イメージ リポジトリをご覧ください。

課金について

: より大きなランナー は、プライベート リポジトリ上で含まれる分を使用できません。 プライベート リポジトリとパブリックのリポジトリのいずれでも、より大きなランナー (larger runner) が使用されている場合、常に分単位の料金で課金されます。

標準の GitHub ホスト ランナーと比較すると、より大きなランナー (larger runner) は異なる方法で課金されます。 より大きなランナーには、ワークフローが実行された時間に対してのみ、分単位で課金されます。 ワークフローで使われていないより大きなランナーの作成に関連付けられたコストはありません。詳細については、「GitHub Actions の課金について」を参照してください。

より大きなランナー (larger runner) のマシン サイズ

プロセッサ (CPU)メモリ(RAM)ストレージ (SSD)オペレーティング システム (OS)
614 GB14 GBmacOS
1230 GB14 GBmacOS
416 GB150 GBUbuntu
832 GB300 GBUbuntu、Windows
1664 GB600 GBUbuntu、Windows
32128 GB1200 GBUbuntu、Windows
64256 GB2040 GBUbuntu、Windows

ランナー グループについて

注: ランナー グループに割り当てることができるのは、Linux または Windows オペレーティング システムでは より大きなランナー (larger runner) のみです。

管理者はランナー グループを使って、組織レベルとエンタープライズ レベルでランナーへのアクセスを制御できます。 ランナー グループを使うと、一連のランナーを収集し、それらのセキュリティ境界を作成できます。 その後、それらのマシン セットでジョブを実行できる Organization またはリポジトリを決定できます。 より大きなランナーの展開プロセス中に、ランナーを既存のグループに追加することも、既定のグループに参加させることもできます。 グループは、「より大きなランナーへのアクセスの制御」の手順に従って作ることができます。

より大きなランナー (larger runner) のアーキテクチャの概要

注: このアーキテクチャ図は、Linux または Windows オペレーティング システムを使用する より大きなランナー (larger runner) にのみ適用されます。

より大きなランナーは組織レベルで管理され、ランナーの複数のインスタンスを含むことができるグループに配置されます。 また、Enterprise レベルで作成し、階層内の Organization と共有することもできます。 グループを作成したら、ランナーをグループに追加し、ワークフローを更新して、より大きなランナーに割り当てられたグループ名またはラベルをターゲットにすることができます。 また、処理のためにグループにジョブを送信できるリポジトリも制御できます。 グループについて詳しくは、「より大きなランナーへのアクセスの制御」をご覧ください。

次の図では、ubuntu-20.04-16core という名前のホストされたランナーのクラスが、カスタマイズされたハードウェアとオペレーティング システムの構成で定義されています。

ランナーのラベルのためにワークフローによって使用されている大きなランナーを示す図。

  1. このランナーのインスタンスは自動的に作成され、grp-ubuntu-20.04-16core というグループに追加されます。
  2. ランナーにはラベル ubuntu-20.04-16core が割り当てられています。
  3. ワークフロー ジョブは、runs-on キーの ubuntu-20.04-16core ラベルを使用して、ジョブの実行に必要なランナーの種類を示します。
  4. GitHub Actions は、ランナー グループをチェックして、リポジトリがランナーにジョブを送信する権限があるかどうかを確認します。
  5. このジョブは、ubuntu-20.04-16core ランナーの次に使用可能なインスタンスで実行されます。

より大きなランナー (larger runner) の自動スケーリング

注: 自動スケールは、Linux または Windows オペレーティング システムの より大きなランナー (larger runner) でのみ使用できます。

より大きなランナーはニーズに合わせて自動的にスケーリングできます。 処理対象のジョブが送信されるときに、指定した最大数のジョブを実行するようにマシンをプロビジョニングできます。 各マシンは一度に 1 つのジョブのみを処理するため、これらの設定によって、同時に実行できるジョブの数が効率的に決定されます。

ジョブの最大コンカレンシーを構成できます。これにより、このセットを使って実行できるジョブの最大並列数を設定して、コストを制御できます。 この値を大きくすると、並列処理によってワークフローがブロックされるのを回避できます。 詳しくは、「より大きなランナーを管理する」を参照してください。

より大きなランナー (larger runner) のネットワーク

注:

  • ランナーへの静的 IP アドレスの割り当ては、Linux または Windows オペレーティング システムでの より大きなランナー (larger runner) でのみ使用できます。
  • GitHub でホストされたランナーのプライベート ネットワークでは、larger runner の静的 IP アドレスはサポートされていません。GitHub でホストされるランナーのプライベート ネットワークの詳細については、「Azure Virtual Network での GitHub でホストされるランナーの使用について」を参照してください。

既定では、より大きなランナー (larger runner) は、ジョブの実行ごとに変更される動的 IP アドレスを受け取ります。 必要に応じて、GitHub Enterprise Cloudの顧客は、より大きなランナー (larger runner)を構成して、GitHubのIPアドレス・プールから静的IPアドレスを受け取ることができます。 詳しくは、「GitHubのIPアドレスについて」を参照してください。

有効にすると、より大きなランナーのインスタンスは、ランナーに固有の範囲からIP アドレスを受け取り、この範囲を使用してファイアウォール許可リストを構成できます。 で、合計で最大 10 個の より大きなランナー (larger runner) を静的 IP アドレス範囲で使用できます エンタープライズ レベルで作成された より大きなランナー (larger runner) には、静的 IP アドレス範囲で最大で 10 個までの より大きなランナー (larger runner) を使用できます。 さらに、organization レベルで作成された より大きなランナー (larger runner) に対して、企業内の各組織で静的 IP アドレス範囲を持つ最大 10 個の より大きなランナー (larger runner) を使用できます。 詳しくは、「より大きなランナーを管理する」を参照してください。

静的IPアドレス範囲で10以上の大きなランナーを使用したい場合は、GitHub サポート ポータルまでご連絡ください。

: ランナーが 30 日以上使用されていない場合、その IP アドレス範囲は自動的に削除され、回復することができません。