Skip to main content

Información sobre el uso de ejecutores hospedados en GitHub en Azure Virtual Network

Puede crear ejecutores hospedados de GitHub en su(s) Virtual Network (VNet) de Azure.

Información sobre cómo usar ejecutores hospedados de GitHub en su Virtual Network (VNet) de Azure

Notas:

  • El uso de ejecutores hospedados en GitHub con una VNET de Azure está en versión beta y sujeto a cambios.
  • Solo se admiten ejecutores de Ubuntu y Windows 4-64 CPU con la VNET de Azure. Para obtener más información acerca de los grupos de ejecutores, véase "Acerca de los ejecutores más grandes."
  • Las regiones admitidas incluyen East US, East US 2 y West US 2. Para solicitar soporte técnico para una región que no está en esta lista, rellene el formulario de solicitud de región.
  • Las redes privadas para ejecutores hospedados en GitHub no son compatibles con direcciones IP estáticas para ejecutadores de mayor capacidad. Debe usar direcciones IP dinámicas, que es la configuración predeterminada para los ejecutadores de mayor capacidad. Para más información sobre conexiones en red para ejecutadores de mayor capacidad, véase "Acerca de los ejecutores más grandes".

Si usa Azure y GitHub Enterprise Cloud, puede crear ejecutores GitHub hospedados en Azure VNET. Esto le permite aprovechar las ventajas de la infraestructura GitHub administrada para su CI/CD, a la vez que proporciona control total sobre las directivas de red de los ejecutores. Para más información sobre Azure VNET, consulta ¿Qué es Azure Virtual Network? en la documentación de Azure.

Puede conectar varios pares de subred VNET a GitHub.com y administrar el acceso a recursos privados para los ejecutores a través de grupos de ejecutores. Para más información acerca de los grupos de ejecutores, consulta "Control del acceso a los ejecutores más grandes."

El uso de ejecutores GitHub-hospedados dentro de Azure VNET permite realizar las siguientes acciones.

  • Conecte de forma privada un ejecutor a los recursos dentro de una VNET de Azure sin abrir puertos de Internet, incluidos los recursos locales accesibles desde la VNet de Azure.
  • Restringe a qué recursos pueden acceder, o conectarse a ellos, los ejecutores GitHub- hospedados con control total sobre las directivas de red salientes.
  • Supervisa los registros de red de los ejecutores GitHub-hospedados y observa toda la conectividad hacia y desde un ejecutor.

Información sobre la comunicación de red

Para facilitar la comunicación entre las redes de GitHub y la VNet, una tarjeta de interfaz de red (NIC) hospedada en GitHub se despliega en su VNet de Azure.

Dado que la NIC reside dentro de la VNET, GitHub no pueden bloquear las conexiones entrantes. De manera predeterminada, las máquinas virtuales de Azure aceptarán conexiones entrantes de la misma VNET. Para más información, consulta AllowVNetInBound en Microsoft Learn. Se recomienda bloquear explícitamente todas las conexiones entrantes a los ejecutores. GitHub nunca requerirá conexiones entrantes a estas máquinas.

Una NIC permite que una máquina virtual (VM) de Azure se comunique con internet, Azure y los recursos en el entorno local. De este modo, toda la comunicación se mantiene privada dentro de los límites de red y las directivas de red aplicadas a la VNet también se aplican al ejecutor. Para más información sobre cómo administrar una interfaz de red, consulta Cambio de la configuración de la interfaz de red en Microsoft Learn.

Diagrama de la arquitectura de comunicación de red entre las redes de GitHub y las redes privadas. En el diagrama se describe cada paso para conectar ejecutores hospedados en GitHub a una VNet de Azure. Cada paso se numera y los números corresponden a las descripciones numeradas del paso que se muestra debajo del diagrama.

  1. Se activó un flujo de trabajo GitHub Actions.
  2. El servicio GitHub Actions crea un ejecutador.
  3. El servicio ejecutor implementa el ejecutor hospedado GitHub de la tarjeta de interfaz de red (NIC) en su Azure VNet.
  4. El agente ejecutor recoge la tarea del flujo de trabajo. El servicio GitHub Actions pone a la espera el trabajo.
  5. El ejecutor devuelve los registros al servicio GitHub Actions.
  6. La NIC accede a los recursos locales.

Acerca de los permisos del servicio GitHub Actions

Para implementar correctamente una NIC y unir una NIC a una subred, el servicio GitHub Actions mantiene los permisos siguientes en la suscripción de Azure.

  • Creación de implementaciones
  • Lectura, escritura y eliminación de NIC
  • Unión y lectura de grupos de seguridad de red (NSG)
  • Direcciones IP públicas de lectura, escritura y combinación
  • Leer redes virtuales
  • Subred de lectura, escritura y combinación

Uso de las directivas de red de la VNet

Dado que el ejecutor hospedado NIC GitHub se implementa en la VNet de Azure, las directivas de red aplicadas a la VNet también se aplican al ejecutor.

Por ejemplo, si la VNet está configurada con una instancia de Azure ExpressRoute para proporcionar acceso a recursos locales (pr ejemplo, artefactos), o conectada a un túnel VPN para proporcionar acceso a otros recursos basados en la nube, esas directivas de acceso también se aplican a los ejecutores. Además, las reglas de salida aplicadas al grupo de seguridad de red (NSG) de la VNet también se aplican, lo que le permite controlar el acceso saliente para los ejecutores.

Si ha habilitado la supervisión de registros de red para la VNet, también puede supervisar el tráfico de red de los ejecutores.

Uso de los ejecutores hospedados GitHub con una VNet de Azure

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. Para obtener más información, véase "Configuración de redes privadas para los ejecutores hospedados en GitHub".