View a markdown version of this page

Gerenciar fórmulas no Image Builder - EC2 Image Builder

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á.

Gerenciar fórmulas no Image Builder

Uma receita do EC2 Image Builder é o plano para criar uma imagem de máquina personalizada. Uma receita especifica três elementos principais:

  1. Imagem base — O ponto de partida para sua imagem (uma AMI, uma imagem de contêiner ou uma VM importada).

  2. Componentes — As etapas de criação e teste que personalizam sua imagem. Os componentes são opcionais. Esse design oferece suporte a fluxos de trabalho de teste e distribuição somente.

  3. Configuração — volumes de armazenamento, configurações da instância, diretório de trabalho e outros parâmetros de tempo de construção.

O Image Builder oferece suporte a dois tipos de receitas:

  • As receitas de imagem produzem imagens de máquina da Amazon (AMIs) que você pode usar para iniciar instâncias do Amazon EC2.

  • As receitas de Docker contêineres produzem imagens de contêineres armazenadas nos repositórios do Amazon ECR.

As receitas são imutáveis. Depois de criar uma fórmula, não é possível modificá-la ou substituí-la. Para atualizar componentes ou qualquer outra configuração, você deve criar uma nova receita ou versão da receita. O Image Builder mantém todas as versões anteriores. Isso permite rastrear a linhagem da imagem até a receita exata que produziu cada saída. Você sempre pode aplicar tags às fórmulas existentes. Para obter mais informações sobre como marcar seus recursos usando os comandos do Image Builder no AWS CLI, consulte a Marcar recursos seção deste guia.

dica

Você pode usar componentes gerenciados pela Amazon em suas receitas ou desenvolver seus próprios componentes personalizados. Para obter mais informações, consulte Desenvolver componentes personalizados para imagens do Image Builder. Para receitas de imagem que criam AMIs de saída, você também pode usar produtos e componentes de AWS Marketplace imagem. Para obter mais informações sobre integração com AWS Marketplace produtos, consulteAWS Marketplace integração no Image Builder.

Use os tópicos desta seção para gerenciar suas receitas do EC2 Image Builder, incluindo listar receitas existentes, visualizar seus detalhes e criar novas versões de receitas.

Receitas de imagem em comparação com receitas de contêineres

A tabela a seguir compara os recursos de receitas de imagem e receitas de contêineres.

Recurso Fórmula da imagem Fórmula do contêiner
Output AMI Dockerimagem de contêiner no Amazon ECR
Fontes básicas de imagem ID da AMI, ARN da imagem do Image Builder, parâmetro SSM, produto AWS Marketplace Docker Hubimagem, imagem do Amazon ECR, imagem, Amazon-managed imagem do Image Builder ARN
Dockerfile Não aplicável Obrigatório (modelo com variáveis contextuais)
Repositório de destino Não aplicável Amazon ECR (obrigatório)
Configuração de armazenamento Bloquear mapeamentos de dispositivos para a AMI de saída Bloquear mapeamentos de dispositivos para a instância de compilação
Dados do usuário Compatível (substitui o cloud-init padrão) Não suportado no nível da receita
Controle de agentes do Systems Manager Configurável (desinstalar após a compilação) Não configurável
AWS Marketplace componentes Compatível Não compatível
Substituição de plataforma Não aplicável (detectado pela AMI) Disponível para Amazon ECR e imagens Docker Hub

Controle de versão da receita

<major>Cada receita usa controle de versão semântico no formato. <minor>. <patch>. Cada nó de versão aceita valores de 0 a 1.073.741.823 (2^30 - 1).

Você pode usar um curinga (x) em uma posição para ativar o incremento automático da versão. Quando você cria uma receita com uma versão curinga, o Image Builder substitui o x pelo próximo número disponível para essa posição.

Padrão Comportamento Exemplo de sequência
1.0.x Incrementa o número do patch 1.0.1, 1.0.2, 1.0.3,...
1.x.0 Incrementa o número menor 1.1.0, 1.2.0, 1.3.0,...
x.0.0 Incrementa o número principal 1.0.0, 2.0.0, 3.0.0,...

As regras a seguir se aplicam às versões curinga:

  • Somente um x curinga é permitido por string de versão.

  • O curinga pode aparecer em qualquer posição única (principal, secundária ou fragmentada).

  • Os valores numéricos nas posições restantes devem ser números inteiros explícitos.

dica

Use versões curinga em sua CI/CD automação para que você não precise rastrear e incrementar as versões da receita manualmente. Sempre que você cria uma receita com o mesmo curinga, o Image Builder resolve a próxima versão disponível. Por exemplo, uma receita que sempre usa 1.0.x resolve para 1.0.11.0.2, then e assim por diante. Para saber mais sobre o versionamento semântico dos recursos do Image Builder, consulte Versionamento semântico no Image Builder.

Restrições e limites da receita

Antes de criar uma receita, revise as restrições a seguir.

Restrição Limite Observações
Componentes por receita 20 (padrão) Inclui componentes de construção e teste. Você pode solicitar um aumento por meio de AWS Support.
Tamanho máximo da receita 25 KB O tamanho cumulativo de todas as configurações de componentes, incluindo valores de parâmetros.
Códigos de produto por imagem de saída 9 Combinado a partir da imagem base e AWS Marketplace dos componentes.
Exclusividade do componente Um por receita O mesmo componente (independentemente da versão) só pode aparecer uma vez.
Máximo de nós de versão 1.073.741.823 Por nó (principal, secundário ou patch).
Nome da fórmula Não pode ser alterado O nome é corrigido após a criação. Crie uma nova receita com um nome diferente.

Os componentes também devem atender aos seguintes requisitos de compatibilidade:

  • Os componentes devem corresponder à plataforma da receita (Linux, Windows ou macOS).

  • Os componentes devem oferecer suporte à versão do sistema operacional da imagem principal, quando os metadados da versão do sistema operacional estiverem disponíveis.

  • Componentes com DISABLED status DEPRECATED or não podem ser adicionados às novas receitas.

  • Os componentes de endurecimento do CIS exigem uma CIS-published imagem principal.

Limpar os recursos

Para evitar cobranças inesperadas, certifique-se de limpar os recursos e pipelines que você criou com base nos exemplos deste guia. Para obter mais informações sobre exclusão de recursos no Image Builder, consulte Excluir recursos desatualizados ou não utilizados do Image Builder.