Skip to main content

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

GitHub には、よりカスタマイズされたユース ケースをサポートする高度な機能を備えたランナーが用意されています。

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

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

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

GitHub Team プランと GitHub Enterprise Cloud プランのお客様は、標準の GitHub ホステッド ランナーよりも多くのリソースを持つさまざまなマネージド仮想マシンから選択できます。 これらのマシンは "より大きなランナー" と呼ばれます。 これらには、次の高度な機能が用意されています。

  • 追加の RAM、CPU、ディスク領域
  • 静的 IP アドレス
  • Azure プライベート ネットワーク
  • ランナーをグループ化する機能
  • 同時実行ワークフローをサポートするための自動スケール
  • GPU 搭載ランナーと ARM 搭載ランナー

これらの より大きなランナー (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)ワークフロー ラベル
LargeIntel1230 GB14 GBmacos-latest-largemacos-13-largemacos-14-large[最新」、macos-15-large[パブリック プレビュー]
XLargearm64 (M1)6 (+ 8 GPU ハードウェア アクセラレータ)14 GB14 GBmacos-latest-xlargemacos-13-xlargemacos-14-xlarge[最新」、macos-15-xlarge[パブリック プレビュー]

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

  • GitHub によって提供されるすべてのアクションは、arm64 GitHub ホストランナーと互換性があります。 ただし、コミュニティ アクションは arm64 と互換性がない場合があり、実行時に手動でインストールする必要があります。
  • Apple の仮想化フレームワークの制限により、入れ子になった仮想化と Metal Performance Shaders (MPS) はサポートされていません。
  • 現在、macOS の大規模ランナーでは、Azure プライベート ネットワークや静的 IP の割り当てなどのネットワーク機能は使用できません。
  • Apple ではこの機能がサポートされていないため、arm64 macOS ランナーには、静的 UUID/UDID が割り当てされていません。 ただし、Intel MacOS ランナーには、静的 UDID、特に 4203018E-580F-C1B5-9525-B745CECA79EB が割り当てられます。 ビルドをテストする予定の同じホストでビルドして署名する場合は、開発プロビジョニング プロファイルを使用して署名できます。 静的 UDID が必要な場合は、Intel ランナーを使用して、その UDID を Apple Developer アカウントに追加できます。

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

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

UbuntuWindowsmacOS
静的 IP アドレス
Azure プライベート ネットワーク
自動スケーリング
ランナー グループ

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

  • より大きなランナー (larger runner) には特定の範囲からの静的 IP アドレスを割り当てることにより、この範囲を使ってファイアウォールの許可リストを構成できます。 詳しくは、「より大きなランナー (larger runner) のネットワーク」をご覧ください。
  • 自動スケーリングを使用すると、より大きなランナー (larger runner) をユーザーが設定した上限までスケールアップできるため、複数のワークフローを同時に実行できます。 詳しくは、「より大きなランナー (larger runner) の自動スケーリング」をご覧ください。
  • ランナー グループを使用すると、組織、リポジトリ、ワークフローのより大きなランナー (larger runner) へのアクセスを制御できます。 詳しくは、「より大きなランナーへのアクセスの制御」をご覧ください。

ランナー イメージ

より大きなランナー は仮想マシン (VM) 上で実行され、GitHub は VM 作成プロセス中にこのマシンにバーチャル ハード ディスク (VHD) をインストールします。 ランナーにインストールするさまざまな VM イメージから選択できます。

GitHub 所有のイメージ: これらのイメージは GitHub によってメンテナンスされ、Linux x64、Windows x64、および macOS (x64 および arm) ランナーで使用できます。 これらのイメージの詳細と、各ランナー オペレーティング システムに含まれるツールの完全なリストについては、GitHub Actions ランナー イメージ リポジトリを参照してください。

パートナー イメージ: パートナー イメージは GitHub によって管理されず、Azure Marketplace からプルされます。 Windows 11 デスクトップ イメージの詳細については、Microsoft Windows 11 Desktop に関する記事を参照してください。 GPU ランナー互換イメージの詳細については、「NVIDIA GPU 最適化 VMI」と「Data Science Virtual Machine - Windows 2019」を参照してください。 ARM 搭載ランナーのイメージの詳細については、actions/partner-runner-images リポジトリを参照してください。 これは、サード パーティのイメージに関するフィードバックを提供したり、問題を報告したりする場所でもあります。

課金について

Note

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

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

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

より大きなランナー (larger runner) のためには、いくつかの仕様から選択できます。

一般的な より大きなランナー (larger runner) の仕様

CPUメモリ(RAM)ストレージ (SSD)Architectureオペレーティング システム (OS)
614 GB14 GBarm64macOS
1230 GB14 GBx64macOS
28 GB75 GBx64、arm64Ubuntu
416 GB150 GBx64、arm64Ubuntu、Windows
832 GB300 GBx64、arm64Ubuntu、Windows
1664 GB600 GBx64、arm64Ubuntu、Windows
32128 GB1200 GBx64、arm64Ubuntu、Windows
64208 GB2040 GBarm64Ubuntu、Windows
64256 GB2040 GBx64Ubuntu、Windows

Note

4-vCPU Windows ランナーは、Windows 11 デスクトップ イメージでのみ機能します。

GPU の仕様 より大きなランナー (larger runner)

CPUGPUGPU カードメモリ(RAM)GPU メモリ (VRAM)ストレージ (SSD)オペレーティング システム (OS)
41Tesla T428 GB16 GB176 GBUbuntu、Windows

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

Note

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

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

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

Note

このアーキテクチャ図は、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) の自動スケーリング

Note

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

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

ジョブの最大コンカレンシーを構成できます。これにより、このセットを使って実行できるジョブの最大並列数を設定して、コストを制御できます。 この値を大きくすると、並列処理によってワークフローがブロックされるのを回避できます。 制限の設定方法について詳しくは、「より大きなランナーを管理する」をご覧ください。 GitHub ホスト ランナーの自動スケーリングの上限について詳しくは、「使用制限、支払い、管理」をご覧ください。

より大きなランナー (larger runner) への静的 IP アドレスの割り当て

ランナーへの静的 IP アドレスは、Linux または Windows オペレーティング システムを使用する より大きなランナー (larger runner) にのみ割り当てることができます。

割り当てられた静的 IP アドレスはすべて使用可能であり、CIDR 表記ではありません。

GitHub でホストされたランナーのプライベート ネットワークでは、larger runner の静的 IP アドレスはサポートされていません。GitHub ホスト ランナーのプライベート ネットワークについて詳しくは、「企業内の GitHub ホストランナー向けの Azure プライベート ネットワークについて」をご覧ください。

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

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

有効にすると、より大きなランナーのインスタンスは、ランナーに固有の範囲からIP アドレスを受け取り、この範囲を使用してファイアウォール許可リストを構成できます。 すべての より大きなランナー (larger runner)。 詳しくは、「より大きなランナーを管理する」をご覧ください。

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

Note

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