Skip to main content

Sobre o uso de executores hospedados no GitHub em sua Rede Virtual do Azure

Você pode criar executores hospedados no GitHub em suas Redes Virtuais do Azure (VNET).

Sobre o uso de executores hospedados pelo GitHub na sua Rede Virtual do Azure (VNET)

Observações:

  • O uso de executores hospedados pela GitHub com uma VNET do Azure está na versão beta e sujeito a alterações.
  • Apenas 4 executores de 64 CPU, Ubuntu e Windows têm suporte com o Azure VNET. Para obter mais informações sobre esses tipos de executores, consulte "Sobre executores maiores".
  • As regiões com suporte incluem East US, East US 2 e West US 2. Para solicitar suporte para uma região que não esteja nessa lista, preencha o formulário de solicitação de região.
  • A rede privada para executores hospedados pela GitHub não oferece suporte para endereços IP estáticos para executores avançados. Você deve usar endereços IP dinâmicos, que é a configuração padrão de executores avançados. Para saber mais sobre redes para executores maiores, confira "Sobre executores maiores".

Se você estiver usando o Azure e o GitHub Enterprise Cloud, poderá criar executores hospedados pela GitHub na VNET do Azure. Isso permite usufruir da infraestrutura gerenciada pela GitHub para seu CI/CD e, ao mesmo tempo, fornece controle total sobre as políticas de rede dos seus executores. Para obter mais informações sobre VNETs do Azure, consulte O que é uma Rede Virtual do Azure?, na documentação do Azure.

Você pode conectar vários pares de sub-rede VNET ao GitHub.com e gerenciar o acesso aos recursos privados para seus executores por meio de grupos de executores. Para obter mais informações sobre os grupos de executores, confira "Como controlar o acesso a executores maiores".

O uso de executores hospedados em GitHub na VNET do Azure permite que você execute as seguintes ações.

  • Conectar um executor de forma privada a recursos dentro de uma VNET do Azure sem abrir portas da Internet, incluindo recursos locais acessíveis a partir da VNET do Azure.
  • Restrinja o que os executores hospedados em GitHub podem acessar ou se conectar com controle total sobre as políticas de rede de saída.
  • Monitore os logs de rede dos executores hospedados em GitHub e exiba toda a conectividade de e para um executor.

Sobre a comunicação em rede

Para facilitar a comunicação entre as redes do GitHub e sua VNET, uma placa de interface de rede (NIC) do executor hospedado pela GitHub é implantada na VNET do Azure.

Como a NIC vive dentro da sua VNET, a GitHub não pode bloquear conexões de entrada. Por padrão, as máquinas virtuais do Azure aceitarão conexões de entrada da mesma VNET. Para obter mais informações, confira AllowVNetInBound no Microsoft Learn. Recomenda-se bloquear explicitamente todas as conexões de entrada para os corredores. O GitHub nunca exigirá conexões de entrada para essas máquinas.

Uma NIC permite que uma VM (máquina virtual) do Azure comunique-se com a Internet, com o Azure e com recursos locais. Dessa forma, toda a comunicação é mantida privada dentro dos limites da rede, e as políticas de rede aplicadas à VNET também se aplicam ao executor. Para obter mais informações sobre como gerenciar uma interface de rede, consulte Alterar configurações da interface de rede no Microsoft Learn.

Diagrama da arquitetura de comunicação de rede entre as redes do GitHub e suas redes privadas. O diagrama descreve cada etapa da conexão de executores hospedados no GitHub a uma VNET do Azure. Cada etapa é numerada e os números correspondem às descrições numeradas da etapa listada abaixo do diagrama.

  1. Um fluxo de trabalho do GitHub Actions é acionado.
  2. O serviço GitHub Actions cria um executor.
  3. O serviço do executor implanta a placa de interface de rede (NIC) do executor hospedado pelo GitHub em sua VNET do Azure.
  4. O agente de execução seleciona o trabalho de fluxo de trabalho. O serviço GitHub Actions coloca o trabalho na fila.
  5. O executor envia os registros de volta para o serviço GitHub Actions.
  6. A NIC acessa recursos no local.

Sobre as permissões do serviço GitHub Actions

Para implantar com êxito uma NIC e ingressar uma NIC em uma sub-rede, o serviço GitHub Actions mantém as seguintes permissões na sua assinatura do Azure.

  • Criar implantações
  • NICs de leitura/gravação/exclusão
  • NSGs (grupos de segurança de rede) de ingresso/leitura.
  • IPs públicos de leitura/gravação/ingresso
  • Ler redes virtuais
  • Sub-rede de leitura/gravação/ingresso

Usando políticas de rede da sua VNET

Como a NIC do executor hospedado no GitHub é implantada em sua VNET do Azure, as políticas de rede aplicadas à VNET também se aplicam ao executor.

Por exemplo, se a sua VNET estiver configurada com um Azure ExpressRoute para fornecer acesso a recursos locais (por exemplo, Artifactory) ou conectada a um túnel VPN para fornecer acesso a outros recursos baseados em nuvem, essas políticas de acesso também se aplicarão aos seus executores. Além disso, todas as regras de saída aplicadas ao grupo de segurança de rede (NSG) da VNET também se aplicam, o que lhe dá a capacidade de controlar o acesso de saída dos seus executores.

Se você tiver ativado qualquer monitoramento de logs de rede para a VNET, também poderá monitorar o tráfego de rede para seus executores.

Usando executores hospedados no GitHub com uma VNET do 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 obter mais informações, consulte "Configurar redes privadas para executores hospedados no GitHub".