Informationen zu privaten Azure-Netzwerken für GitHubgehostete Runner
Sie können GitHub-gehosteten Runnern in einem Azure-VNET verwenden. Dies ermöglicht es Ihnen, die Vorteile der von GitHub verwalteten Infrastruktur für Ihren CI/CD-Prozess nutzen und gleichzeitig vollständige Kontrolle über die Netzwerkrichtlinien Ihrer Runner zu haben. Weitere Informationen zu Azure-VNET findest du in der Azure-Dokumentation unter Was ist Azure Virtual Network?.
Sie können mehrere VNET-Subnetze mit GitHub verbinden und den privaten Ressourcenzugriff für Ihre Runner über Runner-Gruppen verwalten. Weitere Informationen zu Runnergruppen findest du unter Steuern des Zugriffs auf größere Runner.
Mithilfe von in GitHub gehosteten Runnern in einem Azure-VNET können sie die folgenden Aktionen ausführen.
- Verbinden Sie einen Runner privat mit Ressourcen in einem Azure VNET, ohne Internetports zu öffnen – das umfasst auch lokale Ressourcen, auf die über das Azure VNET zugegriffen werden kann.
- Schränken Sie ein, worauf von GitHub gehostete Runner zugreifen oder womit sie eine Verbindung herstellen dürfen. Dazu haben Sie vollständige Kontrolle über ausgehende Netzwerkrichtlinien.
- Überwache Netzwerkprotokolle für auf von GitHub gehostete Runner, und zeige die gesamte Konnektivität mit und von einem Runner an.
Informationen zur Verwendung größerer Runner mit Azure VNET
Nur 2-64 vCPU Ubuntu und Windows-Runner werden mit Azure VNET unterstützt. Weitere Informationen zu diesen Runner-Typen findest du unter Größere Läufer.
Private Netzwerke für GitHub-gehosteten Runnern unterstützen keine statischen IP-Adressen für größere Runner. Sie müssen dynamische IP-Adressen verwenden, bei denen es sich um die Standardkonfiguration für größere Runner handelt. Weitere Informationen zu Netztechnologien für größeren Runner findest du unter Größere Läufer.
Über Netzwerkkommunikation
Um die Kommunikation zwischen GitHub-Netzwerken und Ihrem VNET zu erleichtern, Ihrem Azure VNET die Netzwerkschnittstellenkarte (Network Interface Car, NIC) eines GitHub-gehosteten Runners bereitgestellt.
Da sich die NIC in Ihrem VNET befindet, kann GitHub eingehende Verbindungen nicht blockieren. Standardmäßig akzeptieren virtuelle Azure-Computer eingehende Verbindungen vom gleichen VNET. Weitere Informationen finden Sie unter AllowVNetInBound auf Microsoft Learn. Es wird empfohlen, alle eingehenden Verbindungen mit den Runners explizit zu blockieren. GitHub erfordern niemals eingehende Verbindungen zu diesen Computern.
Eine NIC ermöglicht einem virtuellen Azure-Computer (VM) die Kommunikation mit dem Internet, Azure und lokalen Ressourcen. Dadurch ist die gesamte Kommunikation innerhalb der Netzwerkgrenzen privat, und Netzwerkrichtlinien, die auf das VNET angewendet werden, gelten auch für den Runner. Weitere Informationen zum Verwalten einer Netzwerkschnittstelle finden Sie unter Ändern der Netzwerkschnittstelleneinstellungen auf Microsoft Learn.
Hinweis
In Kürze werden NICs, die vom GitHub Actions-Dienst erstellt wurden, nicht mehr in deinen Azure-Abonnements angezeigt. Zukünftig werden Netzwerkkarten im Rahmen eines Service-Abonnements bereitgestellt und IP-Adressen aus deinem Subnetz zugewiesen.

- GitHub Actions-Workflows werden ausgelöst.
- Der GitHub Actions-Dienst erstellt einen Runner.
- Mit dem Runner-Dienst wird die Netzwerkschnittstellenkarte (NIC) des GitHub-gehosteten Runners in Ihrem Azure-VNET bereitgestellt.
- Der Runner-Agent nimmt den Workflowauftrag auf. Der GitHub Actions-Dienst reiht den Job in die Warteschlange ein.
- Der Runner sendet Protokolle zurück an den GitHub Actions-Dienst.
- Die NIC greift auf lokale Ressourcen zu.
Über unterstützte Regionen
Der GitHub Actions Dienst unterstützt eine Teilmenge aller Regionen, die Azure bereitstellt. Um die Kommunikation zwischen dem GitHub Actions Dienst und Ihrem Subnetz zu erleichtern, muss sich Ihr Subnetz in einer der unterstützten Regionen befinden.
Hinweis
Wenn Sie Datenresidenz auf GHE.com verwenden, sind die unterstützten Regionen unterschiedlich. Weitere Informationen findest du unter Netzwerkdetails für GHE.com.
Die folgenden Regionen werden auf GitHub.com unterstützt.
AustraliaEastBrazilSouthCanadaCentralCanadaEastCentralUsEastAsiaEastUsEastUs2FranceCentralGermanyWestCentralJapanWestKoreaCentralNorthCentralUsNorthEuropeNorwayEastSouthCentralUsSoutheastAsiaSouthIndiaSwedenCentralSwitzerlandNorthUkSouthUkWestWestUsWestUs2WestUs3
Private Azure-Netzwerke unterstützen GPU-Runner in den folgenden Regionen.
EastUsNorthCentralUsSouthCentralUsWestUs
Private Azure-Netzwerke unterstützen arm64-Runner in den folgenden Regionen.
CentralUsEastUsEastUs2NorthCentralUsSouthCentralUsWestUsWestUs2WestUs3
Wir werden in Kürze einen Prozess starten, um Unterstützung für neue Regionen anzufordern. Sie können auch globales Peering virtueller Netzwerke verwenden, um virtuelle Netzwerke über Azure-Regionen hinweg zu verbinden. Weitere Informationen finden Sie unter Peering virtueller Netzwerke in der Azure-Dokumentation.
Informationen zu den GitHub Actions Dienstberechtigungen
Um eine NIC erfolgreich bereitzustellen und eine NIC mit einem Subnetz zu verbinden, muss der Dienst GitHub Actions die folgenden Berechtigungen zur rollenbasierten Zugriffssteuerung (RBAC) in Ihrem Azure-Abonnement beibehalten. Weitere Informationen zur fein abgestuften Zugriffsverwaltung von Azure-Ressourcen finden Sie unter Azure RBAC in der Azure-Dokumentation.
GitHub.Network/operations/readGitHub.Network/networkSettings/readGitHub.Network/networkSettings/writeGitHub.Network/networkSettings/deleteGitHub.Network/RegisteredSubscriptions/readMicrosoft.Network/locations/operations/readMicrosoft.Network/locations/operationResults/readMicrosoft.Network/locations/usages/readMicrosoft.Network/networkInterfaces/readMicrosoft.Network/networkInterfaces/writeMicrosoft.Network/networkInterfaces/deleteMicrosoft.Network/networkInterfaces/join/actionMicrosoft.Network/networkSecurityGroups/join/actionMicrosoft.Network/networkSecurityGroups/readMicrosoft.Network/publicIpAddresses/readMicrosoft.Network/publicIpAddresses/writeMicrosoft.Network/publicIPAddresses/join/actionMicrosoft.Network/routeTables/join/actionMicrosoft.Network/virtualNetworks/readMicrosoft.Network/virtualNetworks/subnets/join/actionMicrosoft.Network/virtualNetworks/subnets/readMicrosoft.Network/virtualNetworks/subnets/writeMicrosoft.Network/virtualNetworks/subnets/serviceAssociationLinks/deleteMicrosoft.Network/virtualNetworks/subnets/serviceAssociationLinks/readMicrosoft.Network/virtualNetworks/subnets/serviceAssociationLinks/writeMicrosoft.Network/virtualNetworks/subnets/serviceAssociationLinks/details/readMicrosoft.Network/virtualNetworks/subnets/serviceAssociationLinks/validate/actionMicrosoft.Resources/subscriptions/resourceGroups/readMicrosoft.Resources/subscriptions/resourcegroups/deployments/readMicrosoft.Resources/subscriptions/resourcegroups/deployments/writeMicrosoft.Resources/subscriptions/resourcegroups/deployments/operations/readMicrosoft.Resources/deployments/readMicrosoft.Resources/deployments/writeMicrosoft.Resources/deployments/operationStatuses/read
Die folgenden Berechtigungen sind in zwei Unternehmensanwendungen in Ihrem Azure-Mandanten vorhanden. Sie sehen die Unternehmensanwendungen Ihres Azure-Mandanten nach der Konfiguration des privaten Azure-Netzwerks.
GitHub CPS Network ServiceID:85c49807-809d-4249-86e7-192762525474GitHub Actions APIID:4435c199-c3da-46b9-a61d-76de3f2c9f82
Verwenden Sie die Netzwerkrichtlinien Ihres VNET
Da die GitHub-gehostete NIC des Runners in Ihrem Azure VNET bereitgestellt wird, gelten Netzwerkrichtlinien, die auf das VNET angewendet werden, auch für den Runner.
Wenn Ihr VNET beispielsweise mit einer Azure ExpressRoute konfiguriert ist, um Zugriff auf lokale Ressourcen zu ermöglichen (z. B. artefaktbasiert), oder wenn das VNET mit einem VPN-Tunnel verbunden ist, um Zugriff auf andere cloudbasierte Ressourcen zu ermöglichen, gelten diese Zugriffsrichtlinien auch für Ihre Runner. Darüber hinaus gelten alle ausgehenden Regeln, die auf die Netzwerksicherheitsgruppe (NSG) Ihres VNET angewendet werden, sodass Sie den ausgehenden Zugriff für Ihre Runner steuern können.
Wenn Sie die Überwachung von Netzwerkprotokollen für Ihr VNET aktiviert haben, können Sie auch Netzwerkdatenverkehr für Ihre Runner überwachen.
GitHub-gehostete Läufer verwenden die in Ihrem Netzwerk verwendete Ausgangskontrolle. Wenn Ihr Netzwerk den standardmäßigen ausgehenden Zugriff von Azure verwendet, sind die IP-Adressen nicht vorhersehbar und können nicht der Liste der GitHub-IP-Zulassungsliste hinzugefügt werden. Empfehlungen zur Verwendung einer stabilen ausgehenden IP finden Sie in der Azure-Dokumentation unter Standardmäßiger ausgehender Zugriff.
Informationen zum VNET-Failover
Hinweis
Das VNET-Failover befindet sich in öffentliche Vorschau und unterliegt Änderungen.
Sie können ein Failovernetzwerk für Ihre Netzwerkkonfiguration konfigurieren. Ein Failovernetzwerk ist ein sekundäres Virtuelles Azure-Netzwerk-Subnetz, das sich in einer anderen Azure-Region als Ihrem primären Subnetz befinden kann. Wenn Ihr primäres Subnetz aufgrund eines regionalen Ausfalls oder einer anderen Unterbrechung nicht verfügbar ist, können Sie das Failovernetzwerk aktivieren, um den Läuferdatenverkehr über das sekundäre Subnetz weiterzuleiten und die Kontinuität für Ihre GitHub Actions Workflows aufrechtzuerhalten.
Wichtige Punkte zum VNET-Failover:
- Das Failoversubnetz kann sich in einer anderen Azure-Region als dem primären Subnetz befinden.
- Der Wechsel zwischen primären und Failoversubnetzen ist ein manueller Prozess. Sie aktivieren oder deaktivieren das Failovernetzwerk nach Eigenem Ermessen.
- Sowohl die primären als auch die Failoversubnetze müssen mit den erforderlichen Azure-Ressourcen (VNET/Subnetz, Netzwerkeinstellungen usw.) konfiguriert werden, bevor Sie Failover verwenden können.
- Das Failoversubnetz muss sich in einer unterstützten Region befinden.
Weitere Informationen zum Konfigurieren eines Failovernetzwerks finden Sie unter Konfigurieren eines privaten Netzwerks für GitHub-Runner in Ihrem Unternehmen.
Verwalten von Netzwerkkonfigurations-Richtlinien für Organisationen in deinem Unternehmen
Sie können Organisationsbesitzern in Ihrem Unternehmen die Möglichkeit geben, Netzwerkkonfigurationen auf Organisationsebene für GitHub-gehostete Runner einzurichten und zu verwalten.
Weitere Informationen finden Sie unter Konfigurieren eines privaten Netzwerks für GitHub-Runner in Ihrem Unternehmen.
Verwenden von GitHubgehosteten Runnern mit einem Azure-VNET
Um GitHub-gehostete Runner mit einem Azure VNET zu verwenden, müssen Sie Ihre Azure-Ressourcen konfigurieren und dann eine Netzwerkkonfiguration in GitHub erstellen.
Standardmäßig können Organisationen in einem Unternehmen keine neuen Netzwerkkonfigurationen erstellen und nur Netzwerkkonfigurationen auf Unternehmensebene erben. Unternehmensbesitzer*innen können eine Richtlinie festlegen, mit der Organisationen im Unternehmen Netzwerkkonfigurationen erstellen können, die unabhängig vom Unternehmen sind. Weitere Informationen finden Sie unter Konfigurieren eines privaten Netzwerks für GitHub-Runner in Ihrem Unternehmen.
Verfahren zum Konfigurieren privater Azure-Netzwerke auf Unternehmensebene findest du unter Konfigurieren eines privaten Netzwerks für GitHub-Runner in Ihrem Unternehmen.
Vorgehensweise zum Konfigurieren privater Azure-Netzwerke auf Unternehmensebene findest du unter Konfiguration privater Netzwerke für GitHub-gehostete Runner in Ihrer Organisation.