Skip to main content

Informationen zur Verwendung von GitHub gehosteten Runnern in Ihrem virtuellen Azure-Netzwerk

Sie können -gehosteten Runnern in Ihrem virtuellen Azure-Netzwerk (VNET) erstellen.

Informationen zur Verwendung von GitHub-gehosteten Läufern in Ihrem Azure-Netzwerk (VNET)

Hinweise:

  • Die Verwendung der von GitHub gehosteten Runner mit einem Azure VNET befindet sich in der Betaphase und kann sich jederzeit ändern.
  • Nur 4-64 CPU Ubuntu und Windows-Runner werden mit Azure VNET unterstützt. Weitere Informationen zu diesen Runner-Typen finden Sie unter „Informationen zu großen Runnern“.
  • Unterstützte Regionen umfassen East US, East US 2 und West US 2. Um Unterstützung für eine Region anzufordern, die sich nicht in dieser Liste befindet, füllen Sie das Regionsanforderung-Formular aus.
  • 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 finden Sie unter „Informationen zu großen Runnern“.

Wenn Azure GitHub Enterprise Cloud verwendet wird, können von GitHub gehostete Runner in Azure VNET(s) erstellt werden. So kannst du die Vorteile der von GitHub verwalteten Infrastruktur für deinen CI/CD-Prozess nutzen und hast gleichzeitig vollständige Kontrolle über die Netzwerkrichtlinien deiner Runner. Weitere Informationen zu Azure-VNET findest du in der Azure-Dokumentation unter Was ist Azure Virtual Network?.

Sie können mehrere VNET-Subnetzpaare mit GitHub.com 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.

Ü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.

Diagramm der Netzwerkkommunikationsarchitektur zwischen GitHub-Netzwerken und Ihren privaten Netzwerken. Das Diagramm beschreibt jeden Schritt beim Verbinden von GitHub-gehosteten Runnern mit einem Azure-VNET. Jeder Schritt ist nummeriert, und die Zahlen entsprechen den nummerierten Beschreibungen des Schritts unterhalb des Diagramms.

  1. GitHub Actions-Workflows werden ausgelöst.
  2. Der GitHub Actions-Dienst erstellt einen Runner.
  3. Mit dem Runner-Dienst wird die Netzwerkschnittstellenkarte (NIC) des GitHub-gehosteten Runners in Ihrem Azure-VNET bereitgestellt.
  4. Der Runner-Agent nimmt den Workflowauftrag auf. Der GitHub Actions-Dienst reiht den Job in die Warteschlange ein.
  5. Der Runner sendet Protokolle zurück an den GitHub Actions-Dienst.
  6. Die NIC greift auf lokale Ressourcen zu.

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 in Ihrem Azure-Abonnement beibehalten.

  • Erstellen von Bereitstellungen
  • NICs lesen/schreiben/löschen
  • Netzwerksicherheitsgruppen (NSGs) beitreten/lesen
  • Öffentliche IP-Adressen lesen/schreiben/beitreten
  • Lesen von virtuellen Netzwerken
  • Subnetz lesen/schreiben/beitreten

Verwenden der 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.

Verwenden von GitHub-gehosteten Runnern mit einem Azure-VNET

To use GitHub-hosted runners with Azure VNET, you will need to configure your Azure resources then create an Azure private network configuration in GitHub. Weitere Informationen finden Sie unter „Konfigurieren von privaten Netzwerken mit von GitHub gehosteten Runnern“.