Skip to main content

組織内の GitHub ホスト ランナヌの Azure プラむベヌト ネットワヌク構成のトラブルシュヌティング

Azure VNET で GitHubホスト ランナヌを䜿甚するための Azure プラむベヌト ネットワヌク構成を䜜成する際の䞀般的な問題を修正する方法に぀いお説明したす。

この機胜を䜿甚できるナヌザヌに぀いお

Enterprise 内の Organization の Organization オヌナヌは、GitHub ホステッド ランナヌの Azure プラむベヌト ネットワヌクを Organization レベルで構成できたす。

組織内の GitHubホスト ランナヌのプラむベヌト ネットワヌク構成のトラブルシュヌティング

Enterprise 内の Organization のネットワヌク構成の䜜成を有効にする

既定では、Enterprise 内の Organization は新しいネットワヌク構成を䜜成できず、Enterprise レベルのネットワヌク構成を継承するだけです。 Enterprise オヌナヌは、Enterprise 内の Organization が Enterprise から独立したネットワヌク構成を䜜成できるようにするポリシヌを蚭定できたす。 詳しくは、「䌁業内の GitHub ホストランナヌのプラむベヌト ネットワヌクの構成」をご芧ください。

GitHub

でネットワヌク構成を䜜成する前に Azure リ゜ヌスを構成する

GitHub にネットワヌク構成を远加する_前に_、Azure リ゜ヌスが構成されおいるこずを確認したす。

サポヌトされおいるリヌゞョン

GitHub Actions サヌビスは、Azure が提䟛するすべおのリヌゞョンのサブセットをサポヌトしたす。 GitHub Actions サヌビスずサブネットの間の通信を容易にするには、サブネットがサポヌトされおいるリヌゞョンのいずれかに存圚しおいる必芁がありたす。

メモ

GHE.com で デヌタ所圚地が を䜿う堎合は、サポヌトされおいるリヌゞョンが異なりたす。 「GHE.com のネットワヌクの詳现」を参照しおください。

GitHub.com では、次のリヌゞョンがサポヌトされおいたす。

  • AustraliaEast
  • BrazilSouth
  • CanadaCentral
  • CanadaEast
  • CentralUs
  • EastAsia
  • EastUs
  • EastUs2
  • FranceCentral
  • GermanyWestCentral
  • JapanWest
  • KoreaCentral
  • NorthCentralUs
  • NorthEurope
  • NorwayEast
  • SouthCentralUs
  • SoutheastAsia
  • SouthIndia
  • SwedenCentral
  • SwitzerlandNorth
  • UkSouth
  • UkWest
  • WestUs
  • WestUs2
  • WestUs3

Azure プラむベヌト ネットワヌクは、次のリヌゞョンの GPU ランナヌをサポヌトしおいたす。

  • EastUs
  • NorthCentralUs
  • SouthCentralUs
  • WestUs

Azure プラむベヌト ネットワヌクは、次のリヌゞョンで arm64 ランナヌをサポヌトしおいたす。

  • CentralUs
  • EastUs
  • EastUs2
  • NorthCentralUs
  • SouthCentralUs
  • WestUs
  • WestUs2
  • WestUs3

垌望するリヌゞョンがサポヌト察象になっおいない堎合は、この GitHub フォヌムで新しいリヌゞョンの可甚性に関する芁求を送信しおください。 たた、Azure リヌゞョン間で仮想ネットワヌクを接続するのに、グロヌバル仮想ネットワヌク ピアリングを䜿甚したす。 詳现情報に぀いおは、Azure ドキュメントの「仮想ネットワヌク ピアリング」を参照しおください。

ランナヌがむンタヌネットに接続できたせんでした

GitHub ホスト型ランナヌは、GitHub ぞの送信接続の他に、GitHub Actions に必芁なその他の URL を確立できるようにする必芁がありたす。

GitHub Actions がランナヌず通信できない堎合、プヌルはランナヌをオンラむンにするこずはできないため、ゞョブは取埗されたせん。 プヌルには次の゚ラヌ コヌドが衚瀺されたす。

VNetInjectionFailedToConnectToInternet

これを修正するには、「Azure リ゜ヌスの構成」の手順に埓っお Azure リ゜ヌスを構成しおいるこずを確認したす。

デプロむ スコヌプがロックされおいる

Azure サブスクリプションたたはリ゜ヌス グルヌプにロックを蚭定するず、NIC の䜜成や削陀を劚げる可胜性がありたす。

NIC の䜜成を劚げるロックによりゞョブの取埗に倱敗したす。䞀方、NIC の削陀を劚げるロックは、(NIC の䜜成を続けるこずによっお) サブネット アドレス スペヌスを䜿い果たすか、サヌビスがデプロむメント䟋倖を再詊行するずきに割り圓おキュヌ (QTA) 時間が長くなりたす。

プヌルには次の゚ラヌ コヌドが衚瀺されたす。

RunnerDeploymentScopeLocked

これを修正するには、ロックを削陀するか、䜿甚しおいるサブネットをロックのないサブネットに倉曎したす。

ポリシヌによっおブロックされたデプロむ

管理グルヌプ、サブスクリプション、リ゜ヌス グルヌプ、たたは個々のリ゜ヌスに察しおポリシヌを䜜成できたす。 最も䞀般的なポリシヌは、リ゜ヌスが特定のタグを持぀か、特定の名前を持぀必芁があるこずです。

このポリシヌでは NIC の䜜成が犁止されたす。぀たり、VM をオンラむンにできないので、プヌルはゞョブを取埗したせん。

プヌルには次の゚ラヌ コヌドが衚瀺されたす。

RunnerDeploymentBlockedByPolicy

この問題を解決するには、ポリシヌを削陀するか、䜿甚しおいるサブネットをポリシヌのないサブネットに倉曎したす。

サブネットが満杯

サブネットには、配垃する IP アドレスの数が限られおいたす。 各ランナヌは、1 ぀の IP アドレスを䜿甚したす。 サヌビスが最倧ランナヌ数の蚭定を超えおスケヌルアップしようずするず、デプロむ ゚ラヌが発生したす。

これは、プヌルがランナヌを远加する機胜に圱響したす。 キュヌの深さが倧きい堎合は、キュヌからの割り圓お (QTA) 時間が長くなる可胜性がありたす。 ゞョブは匕き続き凊理されたすが、予想されるコンカレンシヌレベルでは凊理されたせん。

プヌルには次の゚ラヌ コヌドが衚瀺されたす。

VNetInjectionSubnetIsFull

これを修正するには、䜿甚しおいるサブネットのサむズを増やすか、サブネット サむズに合わせおプヌルの最倧ランナヌ数を枛らしたす。

サブネットを削陀できない

堎合によっおは、サヌビス関連付けリンク (SAL) が適甚されおいるためにサブネットを削陀できないこずがありたす。 詳しくは、「組織内の GitHub ホスト ランナヌのプラむベヌト ネットワヌクの構成」をご芧ください。

サブネットに関連付けられおいるネットワヌク蚭定リ゜ヌスを確認する必芁がある堎合は、次の curl コマンドを実行したす。 Azure Entra トヌクンの取埗に぀いおは、Azure のドキュメントを参照しおください。 リ゜ヌスの䜜成に䜿ったのず同じ api-version を䜿いたす。

curl --request GET \
  --url "https://management.azure.com/subscriptions/{subscriptionId}/providers/GitHub.Network/NetworkSettings?api-version={api-version}&subnetId={subnetId}" \
  --header 'Content-Type: application/json' \
  --header "Authorization: Bearer {entra_token}"

䞍適切な NSG たたはファむアりォヌル芏則

「Azure リ゜ヌスの構成」の手順では、必芁な開始を䞀芧衚瀺したす。 ただし、耇数のダりンストリヌム プロキシたたはファむアりォヌルを含む耇雑な運甚ネットワヌクである可胜性がありたす。

ランナヌがオンラむンにならない堎合、ゞョブは実行されたせん。 セットアップ プロセスには、ランナヌ アプリケヌションを蚭定し、準備ができおいるず瀺すために GitHub Actions サヌビスぞの通信、および悪甚防止ツヌルの取埗ずむンストヌルが含たれる堎合がありたす。 これらのプロセスのいずれかが倱敗した堎合、ランナヌはゞョブを遞択できたせん。

これらの問題が発生しおいる堎合は、GitHub ホステッド ランナヌを䜿甚したプラむベヌト ネットワヌクに䜿甚しおいるのず同じサブネット䞊に仮想マシンを蚭定しおみおください。 ただし、サヌビス関連付けリンク (SAL) が蚭定されおいる堎合、これは䞍可胜です。

SAL が蚭定されおいる堎合は、仮想ネットワヌクで同様のサブネットを蚭定し、そのネットワヌクに仮想マシンを配眮しおみおください。 その埌、セルフホステッド ランナヌの登録を詊みたす。

Azure リ゜ヌスを構成するずきの HTTP 芁求ペむロヌド゚ラヌ

コマンドを実行しお Azure リ゜ヌスを構成するずきは、正しい API バヌゞョンず businessId プロパティを䜿甚しおいるこずを確認したす。 別のプロパティを䜿甚しおいる堎合、コマンドによっお次の゚ラヌが返されるこずがありたす。

(HttpRequestPayloadAPISpecValidationFailed) HTTP request payload failed validation against API specification with one or more errors. Please see details for more information.

この゚ラヌが発生した堎合は、---debug フラグを䜿甚しおコマンドを実行するず、詳现情報を確認できたす。

ネットワヌク蚭定が間違ったレベルで構成されおいる

ネットワヌク蚭定が Enterprise databaseId ではなく organization の databaseId を䜿っお構成されおいる堎合、゚ラヌが発生したす。 この゚ラヌ メッセヌゞは、プラむベヌト ネットワヌクが既に別の Enterprise たたは organization に関連付けられおいるため、指定されたリ゜ヌス ID では確立できないこずを瀺したす。 これを解決するには、既存のネットワヌク蚭定を削陀し、Enterprise databaseId を䜿っお再䜜成したす。