As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Executar compilações em frotas de capacidade reservada
CodeBuild oferece as seguintes frotas de computação:
-
Frotas sob demanda
-
Frotas de capacidade reservada
Com frotas sob demanda, CodeBuild fornece computação para suas construções. As máquinas são destruídas quando a compilação termina. As frotas sob demanda são totalmente gerenciadas e incluem recursos de escalabilidade automática para lidar com picos de demanda.
nota
As frotas sob demanda não são compatíveis com macOS ou Windows Server 2022.
CodeBuild também oferece frotas de capacidade reservada que contêm instâncias desenvolvidas pela Amazon EC2 que são mantidas pela CodeBuild. Com frotas de capacidade reservada, você configura um conjunto de instâncias dedicadas para seu ambiente de compilação. Essas máquinas permanecem ociosas, prontas para processar compilações ou testes imediatamente e reduzem a duração da compilação. Com frotas de capacidade reservada, suas máquinas estão sempre funcionando e continuarão a incorrer em custos enquanto forem provisionadas.
Importante
Independentemente do tempo em que você executa uma instância, as frotas de capacidade reservada incorrem em uma cobrança inicial por instância, após a qual poderá haver custos associados adicionais. Para obter mais informações, consulte https://aws.amazon.com/codebuild/pricing/
Tópicos
Criar uma frota de capacidade reservada
Use as instruções a seguir para criar uma frota de capacidade reservada.
Para criar uma frota de capacidade reservada
Faça login no AWS Management Console e abra o AWS CodeBuild console em https://console.aws.amazon.com/codesuite/codebuild/home
. -
No painel de navegação, escolha Frotas de computação e Criar frota.
-
No campo de texto Nome da frota de computação, insira um nome para a frota.
-
No menu suspenso Sistema operacional, escolha o sistema operacional.
-
No menu suspenso Arquitetura, escolha a arquitetura.
-
No menu suspenso Tipo de ambiente, escolha o tipo de ambiente.
-
Para v CPUs, escolha o número de v CPUs a ser incluído em sua frota.
-
Em Memória, escolha a quantidade de memória a ser incluída em sua frota.
-
Em Disco, escolha a quantidade de espaço em disco a ser incluída em sua frota.
-
Para fornecer desempenho de E/S de menor latência, selecione Usar armazenamento de instâncias NVMe SSD.
-
No campo de texto Capacidade, insira o número mínimo de instâncias na frota.
-
No campo Comportamento de estouro, escolha o comportamento quando a demanda excede a capacidade da frota. Para obter mais informações sobre essas opções, consulte Propriedades da frota de capacidade reservada.
-
(Opcional) Em Configuração adicional, faça o seguinte:
-
No menu suspenso VPC - opcional, selecione uma VPC que sua frota acessará. CodeBuild
-
No menu suspenso Sub-redes, selecione as sub-redes que CodeBuild devem ser usadas para definir sua configuração de VPC.
-
No menu suspenso Grupos de segurança, selecione os grupos de segurança que CodeBuild devem ser usados para trabalhar com sua VPC.
-
No campo Perfil de serviço de frota, escolha um perfil de serviço existente.
nota
Verifique se a função da frota tem as permissões necessárias. Para obter mais informações, consulte Permitir que um usuário adicione uma política de permissão para um perfil de serviço de frota.
-
Se você escolheu o sistema operacional Amazon Linux, selecione Definir configurações de proxy - opcional para aplicar o controle de acesso à rede para as instâncias de capacidade reservada.
-
Em Comportamento padrão, escolha permitir ou negar tráfego de saída para todos os destinos por padrão.
-
Em Regras de proxy, escolha Adicionar regra de proxy para especificar domínios de destino ou IPs para permitir ou negar o controle de acesso à rede.
-
-
Escolha Criar frota de computação.
-
Depois que a frota computacional for criada, crie um novo CodeBuild projeto ou edite um existente. Em Ambiente, escolha Capacidade reservada em Modelo de provisionamento e escolha a frota especificada em Nome da frota.
Práticas recomendadas
Ao usar frotas de capacidade reservada, recomendamos que você siga estas práticas recomendadas.
-
Recomendamos usar o modo de cache de origem para ajudar a melhorar o desempenho da compilação armazenando a fonte em cache.
-
Recomendamos usar o cache de camadas do Docker para ajudar a melhorar o desempenho da compilação armazenando em cache as camadas existentes do Docker.
Posso compartilhar uma frota de capacidade reservada em vários CodeBuild projetos?
Sim, você pode maximizar a utilização da capacidade de uma frota usando-a em vários projetos.
Importante
Ao usar o recurso de capacidade reservada, os dados armazenados em cache nas instâncias da frota, incluindo arquivos de origem, camadas do Docker e diretórios em cache especificados no buildspec, podem ser acessados por outros projetos na mesma conta. Isso ocorre por design e permite que projetos dentro da mesma conta compartilhem instâncias de frota.
Como funciona a computação baseada em atributos?
Se você escolher ATTRIBUTE_BASED_COMPUTE
como da sua frotacomputeType
, poderá especificar os atributos em um novo campo chamadocomputeConfiguration
. Esses atributos incluem vCPUs, memória, espaço em disco e machineType
o. Isso machineType
é um GENERAL
ou outroNVME
. Depois de especificar um ou alguns dos atributos disponíveis, CodeBuild escolherá um tipo de computação entre os tipos de instância compatíveis disponíveis como finalizado. computeConfiguration
nota
CodeBuild escolherá a instância mais barata que atenda a todos os requisitos de entrada. A memóriaCPUs, v e espaço em disco das instâncias escolhidas serão todos maiores ou iguais aos requisitos de entrada. Você pode verificar o resolvido computeConfiguration
na frota criada ou atualizada.
Se você inserir uma informação computeConfiguration
que não seja possível de satisfazer CodeBuild, você receberá uma exceção de validação. Observe também que o comportamento de estouro de frota sob demanda será substituído pelo comportamento da fila se não estiver disponível sob demanda. computeConfiguration
Quais regiões são compatíveis com frotas de capacidade reservada?
Capacidade reservada As frotas Amazon Linux e Windows são suportadas no seguinte Regiões da AWS: Leste dos EUA (Norte da Virgínia), Leste dos EUA (Ohio), Oeste dos EUA (Oregon), Ásia-Pacífico (Mumbai), Ásia-Pacífico (Cingapura), Ásia-Pacífico (Sydney), Ásia-Pacífico (Tóquio), Europa (Frankfurt), Europa (Irlanda) e América do Sul (São Paulo). Para obter mais informações sobre Regiões da AWS onde CodeBuild está disponível, consulte AWS Serviços por região
As frotas de macOS Medium com capacidade reservada são suportadas no seguinte Regiões da AWS: Leste dos EUA (Norte da Virgínia), Leste dos EUA (Ohio), Oeste dos EUA (Oregon), Ásia-Pacífico (Sydney) e Europa (Frankfurt). Capacidade reservada macOS Grandes frotas são compatíveis com o seguinte Regiões da AWS: Leste dos EUA (Norte da Virgínia), Leste dos EUA (Ohio), Oeste dos EUA (Oregon) e Ásia-Pacífico (Sydney).
Como configurar uma frota macOS de capacidade reservada?
Para configurar uma frota macOS de capacidade reservada
Faça login no AWS Management Console e abra o AWS CodeBuild console em https://console.aws.amazon.com/codesuite/codebuild/home
. -
No painel de navegação, escolha Frotas de computação e Criar frota.
-
No campo de texto Nome da frota de computação, insira um nome para a frota.
-
No menu suspenso Sistema operacional, escolha macOS.
-
No campo Computação, escolha um dos seguintes tipos de máquina de computação: Apple M2, 24 GB de memória, 8 v CPUs ou Apple M2, 32 GB de memória, 12 v. CPUs
-
No campo de texto Capacidade, insira o número mínimo de instâncias na frota.
-
(Opcional) Para usar uma imagem personalizada para sua frota, certifique-se de Como configuro uma Amazon Machine Image (AMI) personalizada para uma frota de capacidade reservada? que sua Amazon Machine Image (AMI) tenha os pré-requisitos necessários.
-
(Opcional) Para configurar uma VPC com a frota, em Configuração adicional, faça o seguinte:
-
No menu suspenso VPC - opcional, selecione uma VPC que sua frota acessará. CodeBuild
-
No menu suspenso Sub-redes, selecione as sub-redes que CodeBuild devem ser usadas para definir sua configuração de VPC.
-
No menu suspenso Grupos de segurança, selecione os grupos de segurança que CodeBuild devem ser usados para trabalhar com sua VPC.
-
No campo Perfil de serviço de frota, escolha um perfil de serviço existente.
nota
Verifique se a função da frota tem as permissões necessárias. Para obter mais informações, consulte Permitir que um usuário adicione uma política de permissão para um perfil de serviço de frota.
-
-
Escolha Criar frota de computação e aguarde a inicialização da instância da frota. Uma vez lançada, a capacidade será
, onden
/n
n
está a capacidade fornecida. -
Depois que a frota de computação for lançada, crie um novo CodeBuild projeto ou edite um existente. Em Ambiente, escolha Capacidade reservada em Modelo de provisionamento e escolha a frota especificada em Nome da frota.
Como configuro uma Amazon Machine Image (AMI) personalizada para uma frota de capacidade reservada?
Para configurar uma Amazon Machine Image (AMI) personalizada para uma frota de capacidade reservada
Faça login no AWS Management Console e abra o AWS CodeBuild console em https://console.aws.amazon.com/codesuite/codebuild/home
. -
No painel de navegação, escolha Frotas de computação e Criar frota.
-
No campo de texto Nome da frota de computação, insira um nome para a frota.
-
Escolha uma imagem personalizada para sua frota e garanta que sua Amazon Machine Image (AMI) tenha os seguintes pré-requisitos:
-
Se seu tipo de ambiente for
MAC_ARM
, certifique-se de que sua arquitetura de AMI seja de 64 bitsMac-Arm
. -
Se seu tipo de ambiente for
LINUX_EC2
, certifique-se de que sua arquitetura de AMI seja de 64 bitsx86
. -
Se seu tipo de ambiente for
ARM_EC2
, certifique-se de que sua arquitetura de AMI seja de 64 bitsArm
. -
Se seu tipo de ambiente for
WINDOWS_EC2
, certifique-se de que sua arquitetura de AMI seja de 64 bitsx86
. -
A AMI permite o ARN da organização de CodeBuild serviços. Para obter uma lista de organizações ARNs, consulteAmazon Machine Images (AMI).
-
Se a AMI for criptografada com uma AWS KMS chave, a AWS KMS chave também deverá permitir a ID da organização do CodeBuild serviço. Para obter uma lista de organizações IDs, consulteAmazon Machine Images (AMI). Para obter mais informações sobre AWS KMS chaves, consulte Permitir organizações e OUs usar uma chave KMS no Guia do EC2 usuário da Amazon. Para dar permissão à CodeBuild organização para usar uma chave KMS, adicione a seguinte declaração à política de chaves:
{ "Sid": "Allow access for organization root", "Effect": "Allow", "Principal": "*", "Action": [ "kms:Describe*", "kms:List*", "kms:Get*", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-123example" } } }
-
No campo Função de serviço da frota, conceda as seguintes EC2 permissões da Amazon:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeImages", "ec2:DescribeSnapshots" ], "Resource": "*" } ] }
-
Limitações de frotas de capacidade reservada
Há alguns casos de uso que as frotas de capacidade reservada não permitem e, se afetarem você, use as frotas sob demanda:
-
As frotas de capacidade reservada não oferecem suporte a métricas de utilização de compilações.
-
As frotas macOS de capacidade reservada não são compatíveis com a sessão de depuração.
Consulte mais informações sobre cotas e limites em Frotas de computação.