Úselo AWS CodeBuild con Amazon Virtual Private Cloud - AWS CodeBuild

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.

Úselo AWS CodeBuild con Amazon Virtual Private Cloud

Por lo general, AWS CodeBuild no puede acceder a los recursos de una VPC. Para habilitar el acceso, debe proporcionar información de configuración adicional específica de VPC en la configuración de su CodeBuild proyecto. 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 la Guía del usuario de Amazon VPC.

Casos de uso

La conectividad de VPC desde las AWS CodeBuild compilaciones permite:

  • Ejecutar pruebas de integración desde la compilación con los datos de una base de datos de Amazon RDS aislada en una subred privada.

  • Consulta datos en un ElastiCache clúster de Amazon directamente desde las pruebas.

  • Interactúe con los servicios web internos alojados en Amazon EC2, Amazon ECS o servicios que utilizan el equilibrador de carga Elastic.

  • Recuperar las dependencias de repositorios de artefactos internos y autoalojados, como PyPI para Python, Maven para Java y npm para Node.js.

  • Acceda a los objetos de un bucket de S3 configurado para permitir el acceso únicamente a través de un punto de conexión 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 a sus proyectos CodeBuild

Incluya estos ajustes en la configuración de su VPC:

  • Para el ID de VPC, elija el ID de VPC que utilice. CodeBuild

  • En el caso de las subredes, elija una subred privada con traducción de NAT que incluya o tenga rutas hacia los recursos que utilizan. CodeBuild

  • En el caso de los grupos de seguridad, elija los grupos de seguridad que se CodeBuild utilizan 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). Al crear o cambiar el CodeBuild proyecto, en la VPC, elige el ID, las subredes y los grupos de seguridad de la VPC.

Para usar el AWS CLI para crear un proyecto de compilación, consulte. Crear un proyecto de compilación (AWS CLI) Si utiliza la función AWS CLI with CodeBuild, la función de servicio utilizada por el usuario de IAM CodeBuild para interactuar con los servicios en nombre del usuario de IAM debe tener una política adjunta. Para obtener más información, consulte Permitir el CodeBuild acceso a AWS los servicios necesarios para crear una interfaz de red de VPC.

El objeto VPCConfig debe incluir el securityGroupIdsvPCid y las subredes.

  • vpcId: obligatorio. El ID de VPC que CodeBuild utiliza. Ejecute este comando para obtener una lista de todos los ID de VPC de Amazon de su región:

    aws ec2 describe-vpcs
  • subnets: obligatorio. Los ID de subred que incluyen los 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 la us-east-1 por su región.

  • securityGroupIds: Obligatorio. Los ID de los grupos de seguridad que utilizan CodeBuild para permitir el acceso a los recursos de 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 la us-east-1 por su región.

Prácticas recomendadas para las VPC

Utilice esta lista de comprobación cuando configure una VPC con la que trabajar. CodeBuild

  • Configure su VPC con subredes públicas y privadas y una puerta de enlace NAT. La puerta de enlace NAT debe estar alojada 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 puerta de enlace de NAT o una instancia de NAT para utilizarla CodeBuild con su VPC de forma que CodeBuild pueda llegar a los puntos finales públicos (por ejemplo, para ejecutar comandos de CLI al ejecutar compilaciones). No puede usar la puerta de enlace de Internet en lugar de una puerta de enlace NAT o una instancia de NAT porque CodeBuild no admite la asignación de direcciones IP elásticas a las interfaces de red que crea, y Amazon EC2 no admite la asignación automática de una dirección IP pública para ninguna interfaz de red creada fuera del lanzamiento de instancias de Amazon EC2.

  • Incluya varias zonas de disponibilidad con su VPC.

  • Asegúrese de que sus grupos de seguridad no permiten el acceso de tráfico entrante (de entrada) a sus compilaciones. CodeBuild no tiene requisitos específicos para el tráfico saliente, pero debe permitir el acceso a todos los recursos de Internet necesarios para su compilación, como GitHub 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 CodeBuild proyectos para acceder a su VPC, elija solo subredes privadas.

Para obtener más información acerca de cómo configurar una VPC en Amazon VPC, consulte la Guía del usuario de Amazon VPC.

Para obtener más información sobre AWS CloudFormation cómo configurar una VPC para usar la función CodeBuild VPC, 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.

Las siguientes son algunas pautas que le ayudarán a solucionar un error común de CodeBuild VPC:. Build does not have internet connectivity. Please check subnet network configuration

  1. Asegúrese de que la gateway de Internet está conectada a la VPC.

  2. Asegúrese de que la tabla de enrutamiento de su subred pública apunta a la gateway de Internet.

  3. Asegúrese de que las ACL de red permiten el tráfico.

  4. Asegúrese de que los grupos de seguridad permiten el tráfico.

  5. Solucione los problemas de la gateway NAT.

  6. Asegúrese de que la tabla de enrutamiento de las subredes privadas apunta a la gateway NAT.

  7. Asegúrese de que la función de servicio utilizada por el usuario de IAM CodeBuild para interactuar con los servicios en nombre del usuario de IAM tenga los permisos de esta política. Para obtener más información, consulte Crear un rol de servicio de CodeBuild.

    Si faltan permisos, CodeBuild es posible que reciba un mensaje de error que diga:. Unexpected EC2 error: UnauthorizedOperation Este error puede producirse si CodeBuild no tiene los permisos de Amazon EC2 necesarios para trabajar con una VPC.

Limitaciones de las VPC

  • Windows no admite la conectividad de CodeBuild VPC desde.

  • La conectividad de VPC desde no CodeBuild es compatible con las VPC compartidas.