Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
UsarAWS CodeBuildcon Amazon Virtual Private Cloud
Normalmente, AWS CodeBuild no puede obtener acceso a los recursos de una VPC. Para habilitar el acceso, debe proporcionar información adicional sobre los ajustes específicos de la VPC durante la configuración del proyecto de CodeBuild. Esta información incluye el ID de la VPC, los identificadores de subred de la VPC y los identificadores de grupo de seguridad de la VPC. Las compilaciones habilitadas para VPC pueden acceder a los recursos que se encuentran dentro de la VPC. Para obtener más información acerca de cómo configurar una VPC en Amazon VPC, consulte laAmazon VPC User Guide.
La conectividad con la VPC desde CodeBuild no es compatible con Windows.
Si configura una VPC,Almacenamiento en caché localno es compatible. A partir del 28/02/22, la compilación de la VPC tardará más tiempo desde que se utilizará una nueva instancia de Amazon EC2 para cada compilación.
Temas
Casos de uso
La conectividad con la VPC desde las compilaciones de AWS CodeBuild permite:
-
Ejecutar pruebas de integración desde la compilación con los datos de una base de datos de Amazon RDS que esté aislada en una subred privada.
-
Consultar datos en un AmazonElastiCacheclúster de directamente desde las pruebas.
-
Interactuar con los servicios web internos alojados en Amazon EC2, Amazon ECS o servicios que utilizan Elastic Load Balancing interno.
-
Recuperar las dependencias de repositorios de artefactos internos y autoalojados, como PyPI para Python, Maven para Java y npm para Node.js.
-
Obtener acceso a los objetos de un bucket de S3 configurado para permitir el acceso únicamente a través de un punto de enlace de Amazon VPC.
-
Consultar servicios web externos que requieren direcciones IP fijas a través de la dirección IP elástica de la gateway NAT o la instancia NAT asociada a la subred.
Sus compilaciones pueden tener acceso a cualquier recurso alojado en su VPC.
Permitir el acceso de Amazon VPC en suCodeBuildProyectos de
Incluya estos ajustes en la configuración de su VPC:
-
En VPC ID (ID de VPC), elija el ID de la VPC que CodeBuild utiliza.
-
En Subnets (Subredes), elija una subred privada con traducción de NAT que incluya o tenga rutas a los recursos utilizados por CodeBuild.
-
En Security Groups (Grupos de seguridad), elija los grupos de seguridad que usa CodeBuild para permitir el acceso a los recursos de las VPC.
Si desea utilizar la consola para crear un proyecto de compilación, consulte Creación de un proyecto de compilación (consola). Cuando cree o cambie un proyecto de CodeBuild, en VPC, elija el ID de la VPC, las subredes y los grupos de seguridad.
Si desea utilizar AWS CLI para crear un proyecto de compilación, consulte Crear un proyecto de compilación (AWS CLI). Si utiliza AWS CLI con CodeBuild, el rol de servicio empleado en CodeBuild para interactuar con los servicios en nombre del usuario de IAM debe tener asociada una política. Para obtener información, consulte Permitir el CodeBuild acceso aAWS los servicios necesarios para crear una interfaz de red VPC.
LaVPCConfig
objeto debe incluir suvpcId
,securityGroupIds
, ysubredes
.
-
vpcId
: Obligatorio. El ID de la VPC que usa CodeBuild. Ejecute este comando para obtener una lista de todos los ID de Amazon VPC de su región:aws ec2 describe-vpcs
-
subredes
: Obligatorio. Los ID de subred que incluyen recursos utilizados por CodeBuild. Ejecute este comando para obtener estos identificadores:aws ec2 describe-subnets --filters "Name=vpc-id,Values=<vpc-id>" --region us-east-1
nota Reemplace
us-east-1
por la región. -
securityGroupIds
: Obligatorio. Los ID de grupo de seguridad utilizados por CodeBuild para permitir el acceso a los recursos en las VPC. Ejecute este comando para obtener estos identificadores:aws ec2 describe-security-groups --filters "Name=vpc-id,Values=<vpc-id>" --region us-east-1
nota Reemplace
us-east-1
por la región.
Prácticas recomendadas para las VPC
Utilice esta lista de comprobación cuando configure una VPC para que funcione con CodeBuild.
-
Configure su VPC con subredes públicas y privadas y una gateway NAT. La gateway NAT debe estar en una subred pública. Para obtener más información, consulte VPC son subredes públicas y privadas (NAT) en la Guía del usuario de Amazon VPC.
importante Necesita una gateway NAT o una instancia NAT para utilizarCodeBuildcon tu VPC para queCodeBuildpuede tener acceso a los puntos de enlace públicos (por ejemplo, para ejecutar comandos de la CLI durante las compilaciones). No puede utilizar la gateway de Internet en lugar de una gateway NAT o instancia NAT porqueCodeBuildNo permite asignar direcciones IP elásticas a las interfaces de red que crea y Amazon EC2 no permite asignar automáticamente una dirección IP pública para las interfaces de red creadas fuera de la instancia que lanza Amazon EC2.
-
Incluya varias zonas de disponibilidad con su VPC.
-
Asegúrese de que los grupos de seguridad no permitan el tráfico de entrada de sus compilaciones. CodeBuildno tiene requisitos específicos para el tráfico saliente, pero debe permitir el acceso a los recursos de Internet necesarios para la compilación, comoGitHubo Amazon S3.
Para obtener más información, consulte Reglas del grupo de seguridad en la Guía del usuario de Amazon VPC.
-
Configure subredes independientes para sus compilaciones.
-
Cuando configure sus proyectos de CodeBuild para tener acceso a la VPC, elija únicamente subredes privadas.
Para obtener más información acerca de cómo configurar una VPC en Amazon VPC, consulte laAmazon VPC User Guide.
Para obtener más información sobre el uso de AWS CloudFormation para configurar la característica de VPC de CodeBuild, consulte la Plantilla de VPC de AWS CloudFormation
Solución de problemas con la configuración de la VPC
Utilice la información que aparece en el mensaje de error para ayudarle a identificar, diagnosticar y resolver los problemas.
A continuación, se indican algunas pautas que le ayudarán a solucionar un error frecuente de la VPC de CodeBuild: Build does not have internet connectivity. Please check subnet network
configuration
.
-
Asegúrese de que la gateway de Internet está conectada a la VPC.
-
Asegúrese de que la tabla de enrutamiento de su subred pública apunta a la gateway de Internet.
-
Asegúrese de que los grupos de seguridad permiten el tráfico.
-
Asegúrese de que la tabla de enrutamiento de las subredes privadas apunta a la gateway NAT.
-
Asegúrese de que la función de servicio utilizada por CodeBuild para interactuar con los servicios en nombre del usuario de IAM tiene los permisos de esta política. Para obtener más información, consulte Crear un rol CodeBuild de servicio.
Si faltan permisos en CodeBuild, es posible que aparezca el error siguiente:
Unexpected EC2 error: UnauthorizedOperation
. Este error puede producirse siCodeBuildno tiene los permisos de Amazon EC2 necesarios para trabajar con una VPC.