Normalmente, o AWS CodeBuild não consegue acessar recursos em uma VPC. Para habilitar o acesso, é necessário fornecer informações adicionais de configuração específicas da VPC na configuração do projeto do CodeBuild. Isso inclui o ID da VPC, os IDs de sub-rede da VPC e os IDs de security group da VPC. As compilações habilitadas para VPC podem acessar recursos dentro da VPC. Para obter mais informações sobre como configurar uma VPC na Amazon VPC, consulte o Guia do usuário da Amazon VPC.
Tópicos
Casos de uso
A conectividade da VPC das compilações do AWS CodeBuild possibilita:
-
Executar testes de integração na compilação em relação a dados em um banco de dados do Amazon RDS isolado em uma sub-rede privada.
-
Consultar dados em um cluster do Amazon ElastiCache diretamente de testes.
-
Interagir com serviços web internos hospedados no Amazon EC2, no Amazon ECS ou em serviços que usam o Elastic Load Balancing interno.
-
Recuperar dependências de repositórios de artefatos auto-hospedados, internos, como PyPI para Python, Maven para Java e npm para Node.js.
-
Acessar objetos em um bucket do S3 configurado para permitir acesso apenas por meio de um endpoint da VPC da Amazon.
-
Consultar serviços da web externos que exijam endereços IP fixos por meio do endereço IP elástico do gateway NAT ou da instância NAT associados à sub-rede.
As compilações podem acessar qualquer recurso hospedado na VPC.
Práticas recomendadas para VPCs
Use esta lista de verificação ao configurar uma VPC para funcionar com o CodeBuild.
-
Configure a VPC com sub-redes públicas e privadas e um gateway NAT. O gateway NAT deve estar localizado em uma sub-rede pública. Para obter mais informações, consulte VPC com sub-redes privadas e públicas (NAT) no Guia do usuário da Amazon VPC.
Importante
É necessário ter um gateway NAT ou uma instância NAT para usar o CodeBuild com a VPC, de maneira que o CodeBuild possa acessar endpoints públicos (por exemplo, para executar comandos da CLI ao executar compilações). Não é possível usar o gateway da Internet, em vez de um gateway NAT ou de uma instância NAT, porque o CodeBuild não é compatível com a atribuição de endereços IP elásticos às interfaces de rede criadas, e a autoatribuição de um endereço IP público não é compatível com o Amazon EC2 para interfaces de rede criadas fora das execuções de instâncias do Amazon EC2.
-
Inclua várias zonas de disponibilidade com a VPC.
-
Certifique-se de que os security groups não tenham tráfego de entrada permitido para as compilações. O CodeBuild não tem requisitos específicos para tráfego de saída, mas é preciso conceder acesso a todos os recursos da internet necessários para a compilação, como o GitHub ou o Amazon S3.
Para obter mais informações, consulte Regras de grupos de segurança no Guia do usuário da Amazon VPC.
-
Configure sub-redes à parte para as compilações.
-
Ao configurar os projetos do CodeBuild para acessar a VPC, escolha apenas sub-redes privadas.
Para obter mais informações sobre como configurar uma VPC na Amazon VPC, consulte o Guia do usuário da Amazon VPC.
Para obter mais informações sobre como usar o AWS CloudFormation para configurar uma VPC a fim de usar o atributo da VPC do CodeBuild, consulte Modelo da VPC do AWS CloudFormation.
Limitações das VPCs
-
A conectividade da VPC do CodeBuild não é compatível com VPCs compartilhadas.