Configuração de imagens de computação e runtime - Amazon CodeCatalyst

Configuração de imagens de computação e runtime

Em um fluxo de trabalho do CodeCatalyst, é possível especificar a imagem do ambiente de computação e runtime que o CodeCatalyst usa para executar as ações de fluxo de trabalho.

Computação refere-se ao mecanismo de computação (CPU, memória e sistema operacional) gerenciado e mantido pelo CodeCatalyst para realizar ações de fluxo de trabalho.

nota

Se a computação for definida como uma propriedade do fluxo de trabalho, ela não poderá ser definida como uma propriedade de nenhuma ação nesse fluxo de trabalho. Da mesma forma, se computação for definida como uma propriedade de qualquer ação, ela não poderá ser definida no fluxo de trabalho.

Uma imagem do ambiente de runtime é um contêiner do Docker no qual o CodeCatalyst executa ações do fluxo de trabalho. O contêiner do Docker é executado na plataforma de computação escolhida e inclui um sistema operacional e ferramentas extras de que uma ação de fluxo de trabalho pode precisar, como a AWS CLI, Node.js e .tar.

Tipos de computação

O CodeCatalyst oferece os seguintes tipos de computação:

  • Amazon EC2

  • AWS Lambda

O Amazon EC2 oferece flexibilidade otimizada durante as execuções de ações e o Lambda oferece velocidades otimizadas de inicialização de ações. O Lambda é compatível com execuções de ações de fluxo de trabalho mais rápidas devido a uma menor latência de inicialização. O Lambda permite executar fluxos de trabalho básicos que podem criar, testar e implantar aplicações com tecnologia sem servidor com runtimes comuns. Esses runtimes incluem Node.js, Python, Java, .NET e Go. No entanto, há alguns casos de uso não compatíveis com o Lambda e, se eles afetarem você, use o tipo de computação do Amazon EC2:

  • O Lambda não é compatível com imagens de ambiente de runtime de um registro especificado.

  • O Lambda não é compatível com ferramentas que exijam permissões de raiz. Para ferramentas como yum ou rpm, use o tipo de computação do Amazon EC2 ou outras ferramentas que não exijam permissões de raiz.

  • O Lambda não é compatível com compilações ou execuções do Docker. As seguintes ações que usam imagens do Docker não são aceitas: Implantar pilha do AWS CloudFormation, Implantar no Amazon ECS, Publicação no Amazon S3, Inicialização do AWS CDK, Implantação do AWS CDK, invocação do AWS Lambda e GitHub Actions. As ações do GitHub baseadas no Docker que estão sendo executadas na ação GitHub Actions do CodeCatalyst também não são compatíveis com a computação Lambda. É possível usar alternativas que não exijam permissões de raiz, como o Podman.

  • O Lambda não é compatível com a gravação em arquivos externos a /tmp. Ao configurar suas ações de fluxo de trabalho, você pode reconfigurar suas ferramentas para instalação ou gravação de /tmp. Se você tiver uma ação de criação que instale npm, configure-a para instalar em /tmp.

  • O Lambda não é compatível com runtimes de mais de 15 minutos.

Frotas de computação

O CodeCatalyst oferece as seguintes frotas de computação:

  • Frotas sob demanda

  • Frotas provisionadas

Com frotas sob demanda, quando uma ação de fluxo de trabalho é iniciada, o fluxo de trabalho provisiona os recursos necessários. As máquinas são destruídas quando a ação termina. Você só paga pelo número de minutos em que executar suas ações. As frotas sob demanda são totalmente gerenciadas e incluem recursos de escalabilidade automática para lidar com picos de demanda.

O CodeCatalyst também oferece frotas provisionadas que contêm máquinas desenvolvidas pelo Amazon EC2 que são mantidas pelo CodeCatalyst. Com frotas provisionadas, você configura um conjunto de máquinas dedicadas para realizar as ações do fluxo de trabalho. Essas máquinas permanecem ociosas, prontas para processar ações imediatamente. Com frotas provisionadas, suas máquinas estão sempre funcionando e incorrerão em custos enquanto forem provisionadas.

Para criar, atualizar ou excluir uma frota, você deve ter o perfil de administrador do espaço ou o perfil de administrador do projeto.

Propriedades da frota sob demanda

O CodeCatalyst fornece as seguintes frotas sob demanda:

Nome Sistema operacional Arquitetura vCPUs Memória (GiB) Espaço em disco Tipos de computação compatíveis
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

As especificações para frotas sob demanda variam de acordo com seu nível de faturamento. Para obter mais informações, consulte Preços.

Se nenhuma frota for selecionada, o CodeCatalyst usará Linux.x86-64.Large.

Propriedades da frota provisionada

Uma frota provisionada contém as seguintes propriedades:

Sistema operacional

O sistema operacional Os seguintes sistemas operacionais estão disponíveis:

  • Amazon Linux 2

  • Windows Server 2022

    nota

    As frotas do Windows são compatíveis somente na ação de criação. Outras ações atualmente não são compatíveis com o Windows.

Arquitetura

A arquitetura do processador. As seguintes arquiteturas estão disponíveis:

  • x86_64

  • Arm64

Tipo de máquina

O tipo de máquina para cada instância. Os seguintes tipos de máquina estão disponíveis:

vCPUs Memória (GiB) Espaço em disco Sistema operacional
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
Capacidade

O número inicial de máquinas alocadas para a frota, que define o número de ações que podem ser executadas paralelamente.

Modo de escalabilidade

Define o comportamento quando o número de ações excede a capacidade da frota.

Provisionamento da capacidade adicional sob demanda

Máquinas adicionais são configuradas sob demanda, o que aumenta a escala verticalmente de forma automática em resposta à execução de novas ações e, depois, reduz a escala verticalmente para a capacidade básica ao finalizar as ações. Isso pode gerar custos adicionais, já que você paga por minuto por cada máquina em funcionamento.

Esperar até que a capacidade adicional da frota esteja disponível

As execuções de ação são colocadas em uma fila até que uma máquina esteja disponível. Isso limita os custos adicionais porque nenhuma máquina adicional é alocada.