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 CodeBuild utiliza para ejecutar las compilaciones. La computación se refiere al motor de computación (la CPU, la memoria y el sistema operativo) adminitrados y mantenidos por 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.
Temas
Acerca de computación
CodeBuild ofrece los modos de computación EC2 y AWS Lambda. EC2 ofrece flexibilidad optimizada durante la compilació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 para que las compilaciones no tengan que esperar en la cola para su ejecución. Para obtener más información, consulte Ejecución de compilaciones en la computación de AWS Lambda.
Con el modo de computación EC2, puede ejecutar compilaciones con flotas de capacidad reservada o bajo demanda. Para flotas bajo demanda, puede seleccionar tipos de computación predefinidos, como o BUILD_GENERAL1_SMALL o BUILD_GENERAL1_LARGE. Para obtener más información, consulte Acerca de los tipos de entorno bajo demanda. Para flotas de capacidad reservada, puede seleccionar configuraciones de computación, incluidas vCPU, memoria y espacio en disco. Tras especificar las configuraciones, CodeBuild elegirá un tipo de computación compatible que se ajuste a sus requisitos. Para obtener más información, consulte Acerca de los tipos de entorno de capacidad reservada.
Acerca de los tipos de entorno de capacidad reservada
AWS CodeBuild proporciona los tipos de entorno Linux x86, Arm, GPU, Windows y macOS para flotas de capacidad reservada. En la siguiente tabla se muestran el tipo de equipo, memoria, vCPU y espacio en disco disponibles, ordenados por región:
Para elegir un tipo de computación:
-
En la consola de CodeBuild, en la página Configuración de la flota de computación, elija una de las opciones de vCPU, Memoria y Disco. Para obtener más información, consulte Creación de una flota de capacidad reservada.
-
Para la AWS CLI, ejecute el comando
create-fleetoupdate-fleet, especificando el valor decomputeTypecomoATTRIBUTE_BASED_COMPUTE. Para obtener más información, consulte create-fleet o update-fleet. -
Para el SDK de AWS, llame al equivalente de la operación
CreateFleetoUpdateFleetpara su lenguaje de programación de destino, especificando el valor decomputeTypecomoATTRIBUTE_BASED_COMPUTE. Para obtener más información, consulte la AWSReferencia de los SDK y las herramientas de .
nota
Para la AWS CLI y los AWS SDK, puede seguir utilizando entradas de computeType como BUILD_GENERAL1_SMALL, por ejemplo, los tipos de computación en lugar de ATTRIBUTE_BASED_COMPUTE. Para obtener más información, consulte Acerca de los tipos de entorno bajo demanda.
Familias de instancias soportadas
AWS CodeBuild admite las siguientes instancias para las flotas de capacidad reservada:
-
De uso general: M5 | M5a | M5ad | M5d | M5dn | M5n | M5zn | M6a | M6g | M6gd | M6i | M6id | M6idn | M6in | M7a | M7g | M7gd | M7i | M7i-flex | M8g | T3 | T3a | T4g
-
Optimizadas para la computación: C5 | C5a | C5ad | C5d | C5n | C6a | C6g | C6gd | C6gn | C6i | C6id | C6in | C7a | C7g | C7gd | C7gn | C7i | C7i-flex | C8g
-
Optimizadas para la memoria: R5 | R5a | R5ad | R5b | R5d | R5dn | R5n | R6a | R6g | R6gd | R6i | R6idn | R6in | R6id | R7a | R7g | R7gd | R7i | R7iz | R8g | U-3tb1 | U-6tb1 | U-9tb1 | U-12tb1 | U-18tb1 | U-24tb1 | U7i-6tb | U7i-8tb | U7i-12tb | U7in-16tb | U7in-24tb | U7in-32tb | X1 | X1e | X2gd | X2idn | X2iedn | X2iezn | X8g | z1d
-
Optimizadas para el almacenamiento: D3 | D3en | I3 | I3en | I4g | I4i | I7ie | I8g | Im4gn | Is4gen
-
Computación acelerada: DL1 | DL2q | F1 | F2 | G4ad | G4dn | G5 | G5g | G6 | G6e | Gr6 | Inf1 | Inf2 | P3 | P3dn | P4d | P5 | P5e | P5en | Trn1 | Trn1n | Trn2 | VT1
-
De computación de alto rendimiento: Hpc6a | Hpc6id | Hpc7a | Hpc7g
-
Generación anterior: A1
Cómo crear una flota de capacidad reservada con un tipo de instancia específico:
-
En la consola de CodeBuild, en la página de Configuración de flota de computación, vaya a la sección Configuración de capacidad. En Modo de selección de computación, seleccione Entrada manual y en Tipo de instancia de computación, elija uno de los tipos de instancia del menú desplegable. Para obtener más información, consulte Creación de una flota de capacidad reservada.
-
Para la AWS CLI, ejecute el comando
create-fleetoupdate-fleet, especificando el valor decomputeTypecomoCUSTOM_INSTANCE_TYPEy elComputeConfigurationinstanceTypecomo el tipo de instancia especificado. Para obtener más información, consulte create-fleet o update-fleet. -
Para el SDK de AWS, llame al equivalente de la operación
CreateFleetoUpdateFleetpara su lenguaje de programación de destino, especificando el valor decomputeTypecomoCUSTOM_INSTANCE_TYPEy ComputeConfigurationinstanceTypecomo el tipo de instancia especificado. Para obtener más información, consulte la AWSReferencia de los SDK y las herramientas de .
Acerca de los tipos de entorno bajo demanda
AWS CodeBuild proporciona entornos de compilación con la siguiente memoria, CPU virtuales y espacio en disco disponibles para el modo de computación 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 |
|
4 GiB | 2 | 64 GB |
| ARM Medium ¹ | BUILD_GENERAL1_MEDIUM |
|
8 GiB | 4 | 128 GB |
| ARM Large ¹ | BUILD_GENERAL1_LARGE |
|
16 GiB | 8 | 128 GB |
| ARM XLarge ¹ | BUILD_GENERAL1_XLARGE |
ARM_CONTAINER |
64 GiB | 32 | 256 GB |
| ARM 2XLarge ¹ | BUILD_GENERAL1_2XLARGE |
ARM_CONTAINER |
96 GiB | 48 | 824 GB |
| Linux Small ¹ | BUILD_GENERAL1_SMALL |
|
4 GiB | 2 | 64 GB |
| Linux Medium ¹ | BUILD_GENERAL1_MEDIUM |
|
8 GiB | 4 | 128 GB |
| Linux Large ¹ | BUILD_GENERAL1_LARGE |
|
16 GiB | 8 | 128 GB |
| Linux XLarge ¹ | BUILD_GENERAL1_XLARGE |
LINUX_CONTAINER |
72 GiB | 36 | 256 GB |
| Linux 2XLarge | BUILD_GENERAL1_2XLARGE |
LINUX_CONTAINER |
144 GiB | 72 | 824 GB (SSD) |
| Linux GPU Small | BUILD_GENERAL1_SMALL |
LINUX_GPU_CONTAINER |
16 GiB | 4 | 235 GB (SSD) |
| Linux GPU Large | BUILD_GENERAL1_LARGE |
LINUX_GPU_CONTAINER |
255 GiB | 32 | 50 GB |
| Windows Medium ¹ | BUILD_GENERAL1_MEDIUM |
|
8 GiB | 4 | 128 GB |
| Windows Large ¹ | BUILD_GENERAL1_LARGE |
|
16 GiB | 8 | 128 GB |
| Windows XLarge ¹ | BUILD_GENERAL1_XLARGE |
|
72 GiB | 36 | 256 GB |
| Windows 2XLarge ¹ | BUILD_GENERAL1_2XLARGE |
|
144 GiB | 72 | 824 GB |
¹ La última versión de este tipo de imagen está almacenada en la caché. Si se especifica una versión más concreta, CodeBuild aprovisiona esa versión en lugar de la versión en la caché. Esto puede dar lugar a tiempos de desarrollo más largos. Por ejemplo, para beneficiarse del almacenamiento en caché, especifique aws/codebuild/amazonlinux-x86_64-standard:5.0 en lugar de una versión más detallada, como aws/codebuild/amazonlinux-x86_64-standard:5.0-1.0.0.
AWS CodeBuild proporciona entornos de compilación con la memoria disponible y el espacio en disco siguientes para el modo de computación AWS Lambda:
| 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 GiB | 10 GB |
| ARM Lambda 2GB | BUILD_LAMBDA_2GB |
ARM_LAMBDA_CONTAINER |
2 GiB | 10 GB |
| ARM Lambda 4GB | BUILD_LAMBDA_4GB |
ARM_LAMBDA_CONTAINER |
4 GiB | 10 GB |
| ARM Lambda 8GB | BUILD_LAMBDA_8GB |
ARM_LAMBDA_CONTAINER |
8 GiB | 10 GB |
| ARM Lambda de 10 GB | BUILD_LAMBDA_10GB |
ARM_LAMBDA_CONTAINER |
10 GiB | 10 GB |
| Linux Lambda 1GB | BUILD_LAMBDA_1GB |
LINUX_LAMBDA_CONTAINER |
1 GiB | 10 GB |
| Linux Lambda 2GB | BUILD_LAMBDA_2GB |
LINUX_LAMBDA_CONTAINER |
2 GiB | 10 GB |
| Linux Lambda 4GB | BUILD_LAMBDA_4GB |
LINUX_LAMBDA_CONTAINER |
4 GiB | 10 GB |
| Linux Lambda 8GB | BUILD_LAMBDA_8GB |
LINUX_LAMBDA_CONTAINER |
8 GiB | 10 GB |
| Linux Lambda 10GB | BUILD_LAMBDA_10GB |
LINUX_LAMBDA_CONTAINER |
10 GiB | 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:
-
En la consola de CodeBuild, en el asistente Crear proyecto de compilación o la página Editar proyecto de compilación, en Entorno, expanda Configuración adicional y, a continuación, seleccione una de las opciones de Tipo de computación. Para obtener más información, consulte Creación de un proyecto de compilación (consola) o Cambiar la configuración de un proyecto de compilación (consola).
-
Para la AWS CLI, ejecute el comando
create-projectoupdate-project, especificando el valor decomputeTypedel objetoenvironment. Para obtener más información, consulte Crear un proyecto de compilación (AWS CLI) o Cambiar la configuración de un proyecto de compilación (AWS CLI). -
Para el SDK de AWS, llame al equivalente de la operación
CreateProjectoUpdateProjectpara su lenguaje de programación de destino, especificando el equivalente del valor decomputeTypedel objetoenvironment. Para obtener más información, consulte la AWSReferencia de los SDK y las herramientas de .
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:-
Este de EE. UU. (Ohio)
-
Este de EE. UU. (Norte de Virginia)
-
Oeste de EE. UU. (Oregón)
-
Asia-Pacífico (Seúl)
-
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 computación
BUILD_GENERAL1_2XLARGEsolo está disponible en las regiones siguientes:-
Este de EE. UU. (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 (Mumbai)
-
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 tipo de entorno
ARM_CONTAINERsolo está disponible en las regiones siguientes:-
Este de EE. UU. (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 (Mumbai)
-
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 entorno
WINDOWS_SERVER_2022_CONTAINERsolo está disponible en las regiones siguientes:-
Este de EE. UU. (Ohio)
-
Este de EE. UU. (Norte de Virginia)
-
Oeste de EE. UU. (Oregón)
-
Asia-Pacífico (Sídney)
-
Asia-Pacífico (Tokio)
-
Europa (Fráncfort)
-
Europa (Irlanda)
-
América del Sur (São Paulo)
-
-
El tipo de entorno
LINUX_EC2(BUILD_GENERAL1_SMALL,BUILD_GENERAL1_MEDIUM,BUILD_GENERAL1_LARGE) solo está disponible en las regiones siguientes:-
Este de EE. UU. (Ohio)
-
Este de EE. UU. (Norte de Virginia)
-
Oeste de EE. UU. (Norte de California)
-
Oeste de EE. UU. (Oregón)
-
África (Ciudad del Cabo)
-
Asia-Pacífico (Hong Kong)
-
Asia-Pacífico (Yakarta)
-
Asia-Pacífico (Melbourne)
-
Europa (Zúrich)
-
Asia-Pacífico (Hyderabad)
-
Asia-Pacífico (Mumbai)
-
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)
-
AWS GovCloud (EE. UU. Oeste)
-
AWS GovCloud (Este de EE. UU.)
-
-
El tipo de entorno
ARM_EC2(BUILD_GENERAL1_SMALL,BUILD_GENERAL1_MEDIUM,BUILD_GENERAL1_LARGE) solo está disponible en las regiones siguientes:-
Este de EE. UU. (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)
-
Europa (Zúrich)
-
Asia-Pacífico (Hyderabad)
-
Asia-Pacífico (Mumbai)
-
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)
-
América del Sur (São Paulo)
-
AWS GovCloud (EE. UU. Oeste)
-
AWS GovCloud (Este de EE. UU.)
-
-
El tipo de entorno
WINDOWS_EC2(BUILD_GENERAL1_MEDIUM,BUILD_GENERAL1_LARGE) solo está disponible en las regiones siguientes:-
Este de EE. UU. (Ohio)
-
Este de EE. UU. (Norte de Virginia)
-
Oeste de EE. UU. (Oregón)
-
Asia-Pacífico (Sídney)
-
Asia-Pacífico (Tokio)
-
Europa (Fráncfort)
-
Europa (Irlanda)
-
América del Sur (São Paulo)
-
-
El modo de computación AWS Lambda (
ARM_LAMBDA_CONTAINERyLINUX_LAMBDA_CONTAINER) solo está disponible en las regiones siguientes:-
Este de EE. UU. (Norte de Virginia)
-
Este de EE. UU. (Ohio)
-
Oeste de EE. UU. (Oregón)
-
Asia-Pacífico (Mumbai)
-
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)
-
-
El modo de computación
MAC_ARMsolo está disponible en las regiones siguientes:-
Este de EE. UU. (Norte de Virginia)
-
Este de EE. UU. (Ohio)
-
Oeste de EE. UU. (Oregón)
-
Asia-Pacífico (Sídney)
-
Europa (Fráncfort)
-
Para el tipo de proceso BUILD_GENERAL1_2XLARGE, se admiten las imágenes de Docker de hasta 100 GB sin comprimir.
nota
Para crear imágenes del entorno de compilación personalizadas, CodeBuild permite el uso de imágenes de Docker de hasta 50 GB sin comprimir en Linux y Windows, independientemente del tipo de computación. 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 sin VPC. Si quiere usar contenedores de Docker para las compilaciones de VPC, consulte Runtime Privilege and Linux Capabilities