Configuración de imágenes de computación y tiempo de ejecución
En un flujo de trabajo de CodeCatalyst, puede especificar la imagen del entorno de computación y tiempo de ejecución que utiliza CodeCatalyst para ejecutar acciones del flujo de trabajo.
La computación se refiere al motor de computación (la CPU, la memoria y el sistema operativo) administrados y mantenidos por CodeCatalyst para ejecutar acciones de flujo de trabajo.
nota
Si la computación se define como una propiedad del flujo de trabajo, no se puede definir como una propiedad de ninguna acción de ese flujo de trabajo. De modo similar, si la computación se define como la propiedad de una acción, no puede definirse en el flujo de trabajo.
Una imagen de entorno en tiempo de ejecución es un contenedor de Docker en el que CodeCatalyst ejecuta las acciones del flujo de trabajo. El contenedor de Docker se ejecuta sobre la plataforma de computación seleccionada e incluye un sistema operativo y las herramientas adicionales que una acción de flujo de trabajo podría necesitar, como la AWS CLI, Node.js y .tar.
Temas
- Tipos de computación
- Flotas de computación
- Propiedades de las flotas bajo demanda
- Propiedades de flotas aprovisionadas
- Edición de una flota aprovisionada
- Edición de una flota aprovisionada
- Eliminación de una flota aprovisionada
- Asignación de una flota o computación a una acción
- Uso compartido de recursos de computación entre acciones
- Especificación de imágenes del entorno en tiempo de ejecución
Tipos de computación
CodeCatalyst ofrece los siguientes tipos de computación:
-
Amazon EC2
-
AWS Lambda
Amazon EC2 ofrece una flexibilidad optimizada durante las ejecuciones de acciones y Lambda ofrece velocidades optimizadas de inicio de las acciones. Lambda permite ejecutar acciones de flujo de trabajo más rápidas debido a una latencia de inicio más baja. Lambda le permite ejecutar flujos de trabajo básicos que permiten compilar, probar e implementar aplicaciones sin servidor con tiempos de ejecución comunes. Entre estos tiempos de ejecución se incluyen Node.js, Python, Java, .NET y Go. Sin embargo, hay algunos casos de uso con los que Lambda no es compatible; si esto le afecta, utilice el tipo de computación de Amazon EC2:
-
Lambda no es compatible con imágenes de entorno de tiempo de ejecución de un registro específico.
-
Lambda no admite herramientas que requieran permisos raíz. En el caso de herramientas como
yum
orpm
, utilice el tipo de computación de Amazon EC2 u otras herramientas que no requieran permisos raíz. -
Lambda no admite compilaciones ni ejecuciones de Docker. No se admiten las siguientes acciones que utilizan imágenes de Docker: Deploy AWS CloudFormation stack, Deploy to Amazon ECS, Amazon S3 publish, AWS CDK bootstrap, AWS CDK deploy, AWS Lambda invoke y GitHub Actions. Las GitHub Actions basadas en Docker que se ejecutan en la acción GitHub Actions de CodeCatalyst tampoco son compatibles con la computación de Lambda. Puede utilizar alternativas que no requieran permisos raíz, como Podman.
-
Lambda no admite la escritura en archivos fuera de
/tmp
. Al configurar las acciones de un flujo de trabajo, puede reconfigurar las herramientas para instalar o escribir en/tmp
. Si tiene una acción de compilación que instalenpm
, asegúrese de configurarla para que instale en/tmp
. -
Lambda no es compatible con los tiempos de ejecución de más de 15 minutos.
Flotas de computación
CodeCatalyst ofrece las siguientes flotas de computación:
-
Flotas bajo demanda
-
Flotas aprovisionadas
En el caso de las flotas bajo demanda, cuando se inicia una acción de flujo de trabajo, el flujo de trabajo aprovisiona los recursos que necesita. Las máquinas se destruyen cuando finaliza la acción. Solo pagará por la cantidad de minutos durante los que se ejecuten sus acciones. Las flotas bajo demanda están completamente administradas e incluyen capacidades de escalado automático para administrar los picos de demanda.
CodeCatalyst también ofrece flotas de aprovisionadas que contienen máquinas que funcionan con Amazon EC2 y que mantiene CodeCatalyst. Con las flotas aprovisionadas, configura un conjunto de máquinas dedicadas para ejecutar las acciones del flujo de trabajo. Estas máquinas permanecen inactivas, listas para procesar acciones de forma inmediata. Con flotas aprovisionadas, sus máquinas estarán siempre en funcionamiento e incurrirán en costos mientras estén aprovisionadas.
Para crear, actualizar o eliminar una flota, debe tener el rol de Administrador del espacio o el rol de Administrador del proyecto.
Propiedades de las flotas bajo demanda
CodeCatalyst proporciona las siguientes flotas bajo demanda:
Nombre | Sistema operativo | Arquitectura | vCPU | Memoria (GiB) | Espacio en disco | Tipos de computación compatibles |
---|---|---|---|---|---|---|
Linux.Arm64.Large |
Amazon Linux 2 | Arm64 | 2 | 4 |
64 GB |
Amazon EC2 |
10 GB |
Lambda |
|||||
Linux.Arm64.XLarge |
Amazon Linux 2 | Arm64 | 4 | 8 |
128 GB |
Amazon EC2 |
10 GB |
Lambda |
|||||
Linux.Arm64.2XLarge |
Amazon Linux 2 | Arm64 | 8 | 16 | 128 GB | Amazon EC2 |
Linux.x86-64.Large |
Amazon Linux 2 | x86-64 | 2 | 4 |
64 GB |
Amazon EC2 |
10 GB |
Lambda |
|||||
Linux.x86-64.XLarge |
Amazon Linux 2 | x86-64 | 4 | 8 |
128 GB |
Amazon EC2 |
10 GB |
Lambda |
|||||
Linux.x86-64.2XLarge |
Amazon Linux 2 | x86-64 | 8 | 16 | 128 GB | Amazon EC2 |
nota
Las especificaciones de las flotas bajo demanda variarán en función del nivel de facturación. Para obtener más información, consulte Precios
Si no se selecciona ninguna flota, CodeCatalyst utilizará Linux.x86-64.Large
.
Propiedades de flotas aprovisionadas
Una flota aprovisionada contiene las siguientes propiedades:
- Sistema operativo
-
El sistema operativo. A continuación, se muestran los sistemas operativos disponibles:
-
Amazon Linux 2
-
Windows Server 2022
nota
Las flotas de Windows solo son compatibles en la acción de compilación. Otras acciones no son compatibles actualmente con Windows.
-
- Arquitectura
-
Arquitectura del procesador. Están disponibles las siguientes arquitecturas:
-
x86_64
-
Arm64
-
- Tipo de máquina
-
El tipo de máquina de cada instancia. Dispone de los siguientes tipos de máquina:
vCPU Memoria (GiB) Espacio en disco Sistema operativo 2 4 64 GB
Amazon Linux 2 4 8 128 GB
Amazon Linux 2 Windows Server 2022 8 16 128 GB
Amazon Linux 2 Windows Server 2022 - Capacidad
-
El número inicial de máquinas asignadas a la flota, que define el número de acciones que pueden funcionar en paralelo.
- Modo de escalado
-
Define el comportamiento cuando el número de acciones supera la capacidad de la flota.
- Aprovisionamiento de capacidad adicional bajo demanda
-
Se configuran máquinas adicionales bajo demanda, que se escalan verticalmente de forma automática en respuesta a las nuevas acciones en ejecución y, posteriormente, se reducen verticalmente a la capacidad base a medida que finalizan. Esto puede conllevar costos adicionales, ya que se paga por minuto por cada máquina en ejecución.
- Esperar hasta que se disponga de capacidad de flota adicional
-
Las ejecuciones de acciones se colocan en una cola hasta que haya una máquina disponible. Esto limita los costos adicionales, ya que no se asignan máquinas adicionales.