Ú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 un. VPC Para habilitar el acceso, debe proporcionar información VPC de configuración adicional específica en la configuración de su CodeBuild proyecto. Esto incluye el VPC ID, la VPC subred y el IDs grupo de VPC seguridad. IDs VPCLas compilaciones habilitadas pueden entonces acceder a los recursos dentro de su. VPC Para obtener más información sobre cómo configurar una VPC en AmazonVPC, consulta la Guía del VPC usuario de Amazon.

Casos de uso

VPCla conectividad de las AWS CodeBuild compilaciones permite:

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

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

  • Interactúa con servicios web internos alojados en Amazon EC2ECS, Amazon 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.

  • Acceda a los objetos de un bucket de S3 configurado para permitir el acceso únicamente a través de un VPC punto de conexión de Amazon.

  • Consulte los servicios web externos que requieren direcciones IP fijas a través de la dirección IP elástica de la NAT puerta de enlace o NAT instancia asociada a su subred.

Sus compilaciones pueden acceder a cualquier recurso que esté alojado en suVPC.

Permitir el VPC acceso de Amazon a tus CodeBuild proyectos

Incluye estos ajustes en tu VPC configuración:

  • En VPCID, elija el VPC ID que CodeBuild utilice.

  • En el caso de las subredes, elija una subred privada con NAT traducción 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 del. VPCs

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 VPC, elija su VPC ID, subredes y grupos de seguridad.

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

La vpcConfig el objeto debe incluir su vpcId, securityGroupIds, y subnets.

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

    aws ec2 describe-vpcs
  • subnets: obligatorio. La subred IDs que incluye los recursos utilizados por CodeBuild. Ejecute este comando y obtenga lo siguiente: IDs

    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. El grupo de seguridad IDs utilizado por CodeBuild para permitir el acceso a los recursos delVPCs. Ejecute este comando para obtener lo IDs siguiente:

    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 VPCs

Utilice esta lista de comprobación cuando configure un con CodeBuild el VPC que trabajar.

  • Configure la suya VPC con subredes públicas y privadas y una NAT puerta de enlace. La NAT puerta de enlace debe residir en una subred pública. Para obtener más información, consulte VPCCon subredes públicas y privadas (NAT) en la Guía del VPC usuario de Amazon.

    importante

    Necesita una NAT puerta de enlace o una NAT instancia para utilizarla CodeBuild con la suya de VPC forma que CodeBuild pueda llegar a los puntos finales públicos (por ejemplo, para ejecutar CLI comandos al ejecutar compilaciones). No puede usar la puerta de enlace de Internet en lugar de una NAT puerta de enlace o una NAT instancia porque CodeBuild no admite la asignación de direcciones IP elásticas a las interfaces de red que crea, y Amazon no admite la asignación automática de una dirección IP pública EC2 para ninguna interfaz de red creada fuera del lanzamiento de instancias de AmazonEC2.

  • Incluye varias zonas de disponibilidad en la tuya. 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, consulta las reglas de los grupos de seguridad en la Guía del VPC usuario de Amazon.

  • Configure subredes independientes para sus compilaciones.

  • Cuando configure sus CodeBuild proyectos para acceder a los suyosVPC, elija únicamente subredes privadas.

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

Para obtener más información sobre AWS CloudFormation cómo VPC configurar un uso de la CodeBuild VPC función, consulta laPlantilla de VPC de AWS CloudFormation.

Solución de problemas de VPC la configuración

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 CodeBuild VPC error común:Build does not have internet connectivity. Please check subnet network configuration.

  1. Asegúrese de que su puerta de enlace de Internet esté conectada a 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 la red ACLs permita que el tráfico fluya.

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

  5. Solucione los problemas de su NAT puerta de enlace.

  6. Asegúrese de que la tabla de enrutamiento de las subredes privadas apunte a la NAT puerta de enlace.

  7. Asegúrese de que la función de servicio que utiliza CodeBuild para interactuar con los servicios en nombre del IAM usuario 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 EC2 permisos de Amazon necesarios para trabajar con unVPC.

Limitaciones de VPCs

  • VPCla conectividad desde no CodeBuild es compatible con la compartidaVPCs.