Modos y tipos de computación del entorno de compilación - 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.

Modos y tipos de computación del entorno de compilación

En CodeBuild, puede especificar la imagen del entorno de procesamiento y tiempo de ejecución que se CodeBuild utiliza para ejecutar las compilaciones. El término cómputo se refiere al motor informático (la CPU, la memoria y el sistema operativo) que administra y mantiene CodeBuild. Una imagen de entorno de ejecución es una imagen de contenedor que se ejecuta sobre la plataforma de procesamiento seleccionada e incluye herramientas adicionales que la compilación podría necesitar, como la AWS CLI.

Acerca de los modos de computación

CodeBuild ofrece los siguientes modos de procesamiento:

  • EC2

  • AWS Lambda

EC2 ofrece una flexibilidad optimizada durante la construcción y AWS Lambda ofrece velocidades de arranque optimizadas. AWS Lambda admite compilaciones más rápidas debido a una latencia de inicio más baja. AWS Lambda también se escala automáticamente, por lo que las compilaciones no tienen que hacer cola para ejecutarse. Para obtener más información, consulte Trabajar con la AWS Lambda computación en AWS CodeBuild.

Acerca de los tipos de entornos

AWS CodeBuild proporciona entornos de compilación con la siguiente memoria, vCPU y espacio en disco disponibles para el modo de cómputo EC2:

Tipo de computación Valor de computeType del entorno Valor de tipo del entorno Memoria vCPU Espacio en disco
ARM Small BUILD_GENERAL1_SMALL ARM_CONTAINER 4 GB 2 50 GB
ARM Large BUILD_GENERAL1_LARGE ARM_CONTAINER 16 GB 8 50 GB
Linux Small ¹ BUILD_GENERAL1_SMALL LINUX_CONTAINER 3 GB 2 64 GB
Linux Medium ¹ BUILD_GENERAL1_MEDIUM LINUX_CONTAINER 7 GB 4 128 GB
Linux Large ¹ BUILD_GENERAL1_LARGE LINUX_CONTAINER 15 GB 8 128 GB
Linux XLarge BUILD_GENERAL1_XLARGE LINUX_CONTAINER 70 GB 36 256 GB
Linux 2XLarge BUILD_GENERAL1_2XLARGE LINUX_CONTAINER 145 GB 72 824 GB (SSD)
Linux GPU Small BUILD_GENERAL1_SMALL LINUX_GPU_CONTAINER 16 GB 4 220 GB
Linux GPU Large BUILD_GENERAL1_LARGE LINUX_GPU_CONTAINER 255 GB 32 50 GB
Windows Medium BUILD_GENERAL1_MEDIUM WINDOWS_SERVER_2019_CONTAINER 7 GB 4 128 GB
Windows Large BUILD_GENERAL1_LARGE WINDOWS_SERVER_2019_CONTAINER 15 GB 8 128 GB

¹ La última versión de este tipo de imagen está almacenada en la caché. Si especificas una versión más específica, CodeBuild aprovisiona esa versión en lugar de la versión en caché. Esto puede dar lugar a tiempos de desarrollo más largos. Por ejemplo, para beneficiarse del almacenamiento en caché, especifique aws/codebuild/amazonlinux2-x86_64-standard:5.0 en lugar de una versión más detallada, como aws/codebuild/amazonlinux2-x86_64-standard:5.0-1.0.0.

AWS CodeBuild proporciona entornos de compilación con la siguiente memoria y espacio en disco disponibles para el modo de AWS Lambda procesamiento:

Tipo de computación Valor de computeType del entorno Valor de tipo del entorno Memoria Espacio en disco
ARM Lambda 1GB BUILD_LAMBDA_1GB ARM_LAMBDA_CONTAINER 1 GB 10 GB
ARM Lambda 2GB BUILD_LAMBDA_2GB ARM_LAMBDA_CONTAINER 2 GB 10 GB
ARM Lambda 4GB BUILD_LAMBDA_4GB ARM_LAMBDA_CONTAINER 4 GB 10 GB
ARM Lambda 8GB BUILD_LAMBDA_8GB ARM_LAMBDA_CONTAINER 8 GB 10 GB
ARM Lambda de 10 GB BUILD_LAMBDA_10GB ARM_LAMBDA_CONTAINER 10 GB 10 GB
Linux Lambda 1GB BUILD_LAMBDA_1GB LINUX_LAMBDA_CONTAINER 1 GB 10 GB
Linux Lambda 2GB BUILD_LAMBDA_2GB LINUX_LAMBDA_CONTAINER 2 GB 10 GB
Linux Lambda 4GB BUILD_LAMBDA_4GB LINUX_LAMBDA_CONTAINER 4 GB 10 GB
Linux Lambda 8GB BUILD_LAMBDA_8GB LINUX_LAMBDA_CONTAINER 8 GB 10 GB
Linux Lambda 10GB BUILD_LAMBDA_10GB LINUX_LAMBDA_CONTAINER 10 GB 10 GB

Al utilizar otros tipos de entornos, se recomienda utilizar una imagen en caché para reducir los tiempos de compilación.

El espacio de disco indicado para cada entorno de compilación solo está disponible en el directorio especificado por la variable de entorno CODEBUILD_SRC_DIR.

Para elegir un tipo de computación:

Algunos tipos de entorno y computación no están disponibles en todas las regiones:

  • El tipo de procesamiento Linux GPU Small (LINUX_GPU_CONTAINER) solo está disponible en las regiones siguientes:

    • Este de EE. UU. (Norte de Virginia)

    • Oeste de EE. UU. (Oregón)

    • Asia-Pacífico (Tokio)

    • Canadá (centro)

    • Europa (Fráncfort)

    • Europa (Irlanda)

    • Europa (Londres)

  • El tipo de procesamiento Linux GPU Large (LINUX_GPU_CONTAINER) solo está disponible en las regiones siguientes:

    • US East (Ohio)

    • Este de EE. UU. (Norte de Virginia)

    • Oeste de EE. UU. (Oregón)

    • Asia-Pacífico (Seúl)

    • Asia-Pacífico (Singapur)

    • Asia-Pacífico (Sídney)

    • Asia-Pacífico (Tokio)

    • Canadá (centro)

    • China (Pekín)

    • China (Ningxia)

    • Europa (Fráncfort)

    • Europa (Irlanda)

    • Europa (Londres)

  • El tipo de entorno ARM_CONTAINER solo está disponible en las regiones siguientes:

    • US East (Ohio)

    • Este de EE. UU. (Norte de Virginia)

    • Oeste de EE. UU. (Norte de California)

    • Oeste de EE. UU. (Oregón)

    • Asia-Pacífico (Hong Kong)

    • Asia-Pacífico (Yakarta)

    • Asia-Pacífico (Hyderabad)

    • Asia-Pacífico (Bombay)

    • Asia-Pacífico (Osaka)

    • Asia-Pacífico (Seúl)

    • Asia-Pacífico (Singapur)

    • Asia-Pacífico (Sídney)

    • Asia-Pacífico (Tokio)

    • Canadá (centro)

    • China (Pekín)

    • China (Ningxia)

    • Europa (Fráncfort)

    • Europa (Irlanda)

    • Europa (Londres)

    • Europa (Milán)

    • Europa (París)

    • Europa (España)

    • Europa (Estocolmo)

    • Israel (Tel Aviv)

    • Medio Oriente (Baréin)

    • Medio Oriente (EAU)

    • América del Sur (São Paulo)

  • El tipo de computación BUILD_GENERAL1_2XLARGE solo está disponible en las regiones siguientes:

    • US East (Ohio)

    • Este de EE. UU. (Norte de Virginia)

    • Oeste de EE. UU. (Norte de California)

    • Oeste de EE. UU. (Oregón)

    • Asia-Pacífico (Hyderabad)

    • Asia-Pacífico (Hong Kong)

    • Asia-Pacífico (Yakarta)

    • Asia-Pacífico (Melbourne)

    • Asia-Pacífico (Bombay)

    • Asia-Pacífico (Seúl)

    • Asia-Pacífico (Singapur)

    • Asia-Pacífico (Sídney)

    • Asia-Pacífico (Tokio)

    • Canadá (centro)

    • China (Pekín)

    • China (Ningxia)

    • Europa (Fráncfort)

    • Europa (Irlanda)

    • Europa (Londres)

    • Europa (París)

    • Europa (España)

    • Europa (Estocolmo)

    • Europa (Zúrich)

    • Israel (Tel Aviv)

    • Medio Oriente (Baréin)

    • Medio Oriente (EAU)

    • América del Sur (São Paulo)

  • El modo de cómputo AWS Lambda (ARM_LAMBDA_CONTAINERyLINUX_LAMBDA_CONTAINER) solo está disponible en las siguientes regiones:

    • Este de EE. UU. (Norte de Virginia)

    • Este de EE. UU. (Ohio)

    • Oeste de EE. UU. (Oregón)

    • Asia-Pacífico (Bombay)

    • Asia-Pacífico (Singapur)

    • Asia-Pacífico (Sídney)

    • Asia-Pacífico (Tokio)

    • Europa (Fráncfort)

    • Europa (Irlanda)

    • América del Sur (São Paulo)

Para el tipo de proceso BUILD_GENERAL1_2XLARGE, se admiten las imágenes de Docker de hasta 100 GB sin comprimir.

nota

Para imágenes de entornos de compilación personalizados, CodeBuild admite imágenes de Docker de hasta 50 GB sin comprimir en Linux y Windows, independientemente del tipo de procesamiento. Para comprobar el tamaño de la imagen de compilación, use Docker para ejecutar el comando docker images REPOSITORY:TAG.

Puede utilizar Amazon EFS para acceder a más espacio en el contenedor de compilación. Para obtener más información, consulte Ejemplo de Amazon Elastic File System para AWS CodeBuild. Si desea manipular el espacio en disco del contenedor durante una compilación, la compilación debe ejecutarse en modo privilegiado.

nota

De forma predeterminada, el daemon de Docker está habilitado para compilaciones que no son de VPC. Si quieres usar contenedores Docker para compilaciones de VPC, consulta Privilegios de tiempo de ejecución y capacidades de Linux en el sitio web de Docker Docs y habilita el modo privilegiado. Además, Windows no admite el modo privilegiado.