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á.
Criar uma nova versão de uma fórmula de imagem
Esta seção descreve como criar uma nova versão de uma fórmula de imagem.
Conteúdo
Criar uma versão de uma fórmula de imagem com o console
Quando você cria uma nova versão de fórmula, é praticamente o mesmo que criar uma nova fórmula. A diferença é que certos detalhes são pré-selecionados para corresponder à fórmula de base, na maioria dos casos. A lista a seguir descreve as diferenças entre criar uma nova fórmula e criar uma nova versão de uma fórmula existente.
Detalhes da fórmula de base na nova versão
-
Nome: não editável.
-
Versão: obrigatória. Esse detalhe de base não é pré-preenchido com a versão atual nem com qualquer tipo de sequência. Insira o número da versão que você deseja criar no formato <major>.<minor>.<patch>. Se a versão já existir, você encontrará um erro.
-
A opção Selecionar imagem: pré-selecionada, mas você pode editá-la. Se você alterar sua escolha para a fonte da imagem de base, você poderá perder outros detalhes que dependem da opção original escolhida por você.
Para ver detalhes associados à seleção imagem base, escolha a guia que corresponde à sua seleção.
-
Configuração da instância: as configurações são pré-selecionadas, mas você pode editá-las.
-
Atendente do Systems Manager: você pode marcar ou desmarcar essa caixa de seleção para controlar a instalação do atendente do Systems Manager na nova imagem. A caixa de seleção é desmarcada por padrão para incluir o atendente do Systems Manager em sua nova imagem. Para remover o atendente do Systems Manager da imagem final, marque a caixa de seleção para que o atendente não seja incluído na sua AMI.
-
Dados do usuário: você pode usar essa área para fornecer comandos, ou um script de comando a executar, quando você inicializa sua instância de compilação. No entanto, esse valor substitui qualquer comando que o Image Builder possa ter adicionado para garantir que o Systems Manager seja instalado. Esses comandos incluem o script de limpeza que o Image Builder normalmente executa para imagens do Linux antes de criar a nova imagem.
nota
-
Se você inserir dados do usuário, certifique-se de que o atendente do Systems Manager esteja pré-instalado na imagem de base ou que você inclua a instalação nos dados do usuário.
-
Para imagens do Linux, certifique-se de que as etapas de limpeza sejam executadas incluindo um comando para criar um arquivo vazio nomeado
perform_cleanup
no script de dados do usuário. O Image Builder detecta esse arquivo e executa o script de limpeza antes de criar a nova imagem. Para obter mais informações e um exemplo de script, consulte Práticas recomendadas de segurança para o Image Builder.
-
-
-
Diretório de trabalho: pré-selecionado, mas você pode editá-lo.
-
Componentes: os componentes que já estão incluídos na fórmula são exibidos na seção Componentes selecionados no final de cada uma das listas de componentes (compilação e teste). Você pode remover ou reordenar os componentes selecionados para atender às suas necessidades.
Os componentes de endurecimento do CIS não seguem as regras padrão de ordenação de componentes nas fórmulas do Image Builder. Os componentes de endurecimento do CIS sempre são executados por último para garantir que os testes de benchmark sejam executados em relação à sua imagem de saída.
nota
As listas de componentes de compilação e teste exibem os componentes disponíveis com base no tipo de proprietário do componente. Para adicionar um componente, escolha Adicionar componentes de construção e selecione o filtro de propriedade aplicável. Por exemplo, para adicionar um componente de compilação associado a um AWS Marketplace produto, selecione
AWS Marketplace
. Isso abre um painel de seleção no lado direito da interface do console que lista AWS Marketplace os componentes.Para o componente CIS, selecione
Third party managed
.Você pode definir as seguintes configurações para seu componente selecionado:
-
Opções de versionamento: pré-selecionadas, mas você pode alterá-las. Recomendamos que você escolha a opção Usar a versão mais recente disponível do componente para garantir que suas compilações de imagem sempre usem a versão mais recente do componente. Se precisar usar uma versão específica do componente em sua fórmula, você pode escolher Especificar versão do componente e inserir a versão na caixa Versão do componente que aparece.
-
Parâmetros de entrada: exibe os parâmetros de entrada que o componente aceita. O Valor é pré-preenchido com o valor da versão anterior da fórmula. Se você estiver usando esse componente pela primeira vez nessa fórmula e um valor padrão tiver sido definido para o parâmetro de entrada, o valor padrão aparecerá na caixa Valor com texto acinzentado. Se nenhum outro valor for inserido, o Image Builder usará o valor padrão.
Se um parâmetro de entrada for necessário, mas não tiver um valor padrão definido no componente, você deverá fornecer um valor. O Image Builder não criará a versão da fórmula se algum parâmetro obrigatório estiver faltando e não houver um valor padrão definido.
Importante
Os parâmetros do componente são valores de texto simples e estão logados em AWS CloudTrail. Recomendamos que você use AWS Secrets Manager ou o AWS Systems Manager Parameter Store para armazenar seus segredos. Para obter mais informações sobre o Secrets Manager, consulte O que é o Secrets Manager? no AWS Secrets Manager Guia do usuário. Para obter mais informações sobre o AWS Systems Manager Parameter Store, consulte AWS Systems Manager Parameter Store no AWS Systems Manager Guia do usuário.
Para expandir as configurações das opções de versionamento ou dos parâmetros de entrada, você pode escolher a seta ao lado do nome da configuração. Para expandir todas as configurações de todos os componentes selecionados, você pode ativar e desativar a opção Expandir tudo.
-
-
Armazenamento (volumes): são pré-preenchidos. As seleções Nome do dispositivo, Snapshot e IOPS do volume raiz não são editáveis. No entanto, você pode alterar todas as demais configurações, como o Tamanho. Você também pode adicionar novos volumes e criptografar volumes novos ou existentes.
Para criptografar volumes para as imagens que o Image Builder cria em sua conta na região de origem (onde a compilação é executada), você deve usar a criptografia do volume de armazenamento na fórmula de imagem. A criptografia executada durante a fase de distribuição da compilação é somente para imagens que são distribuídas para outras contas ou regiões.
nota
Se você usar criptografia para seus volumes, deverá selecionar a chave de cada volume separadamente, mesmo que a chave seja a mesma usada para o volume-raiz.
Para criar uma nova versão de fórmula de imagem:
-
Na parte superior da página de detalhes da fórmula, escolha Criar nova versão. Isso leva você à página Criar fórmula de imagem.
-
Para criar a nova versão, faça suas alterações e depois escolha Criar fórmula.
Sua imagem final pode conter até quatro códigos de produto de produtos e componentes de AWS Marketplace imagem. Se a imagem base e os componentes selecionados contiverem mais de quatro códigos de produto, o Image Builder retornará um erro quando você tentar criar a receita.
Para obter mais informações sobre como criar uma fórmula de imagem ao criar um pipeline de imagens, consulte Etapa 2: Escolher fórmula na seção Conceitos básicos deste guia.
Crie uma receita de imagem com o AWS CLI
Para criar uma receita de imagem com o create-image-recipe
comando Image Builder no AWS CLI, siga estas etapas:
Pré-requisitos
Antes de executar os comandos do Image Builder nesta seção para criar uma fórmula de imagem a partir de AWS CLI, você deve criar os componentes que a fórmula usa. O exemplo de fórmula de imagem na etapa a seguir se refere a exemplos de componentes que são criados na seção Crie um componente personalizado a partir do AWS CLI deste guia.
Depois de criar seus componentes, ou se estiver usando componentes existentes, anote o ARNs que você deseja incluir na receita.
-
Criar um arquivo JSON de entrada da CLI
Você pode fornecer toda a entrada para o comando create-image-recipe com parâmetros de comando embutidos. No entanto, o comando resultante pode ser bastante longo. Para simplificar o comando, você pode fornecer um arquivo JSON que contenha todas as configurações da fórmula.
nota
A convenção de nomenclatura para os valores de dados no arquivo JSON segue o padrão especificado para os parâmetros de solicitação de operação da API Image Builder. Para revisar os parâmetros da solicitação de operação da API, consulte o CreateImageRecipecomando na Referência da API EC2 Image Builder.
Para fornecer os valores dos dados como parâmetros da linha de comando, consulte os nomes dos parâmetros especificados na AWS CLI Referência de comando.
Aqui está um resumo dos parâmetros que esses exemplos especificam:
-
name (string, obrigatório): o nome da fórmula de imagem.
-
description (string): a descrição da fórmula de imagem.
-
parentImage (string, obrigatório): a imagem que a fórmula de imagem usa como base para sua imagem personalizada. O valor pode ser o ARN de imagem de base ou um ID de AMI.
nota
Os exemplos do Linux e do macOS usam uma AMI do Image Builder, e o exemplo do Windows usa um ARN.
-
semanticVersion (string, obrigatório): a versão semântica da fórmula de imagem, expressa no seguinte formato, com valores numéricos em cada posição para indicar uma versão específica: <major>.<minor>.<patch>. Por exemplo, um valor pode ser
1.0.0
. Para saber mais sobre o versionamento semântico dos recursos do Image Builder, consulte Versionamento semântico no Image Builder. -
components (matriz, obrigatório): contém uma variedade de objetos
ComponentConfiguration
. Pelo menos um componente da compilação deve ser especificado:nota
O Image Builder instala os componentes na ordem em que você os especificou na fórmula. No entanto, os componentes de fortalecimento do CIS sempre são executados por último para garantir que os testes de benchmark sejam executados em relação à sua imagem de saída.
-
componentARN (string, obrigatório): o ARN do componente.
dica
Para usar um dos exemplos para criar sua própria receita de imagem, você deve substituir o exemplo ARNs ARNs pelo dos componentes que você está usando para sua receita.
-
parameters (matriz de objetos): contém uma variedade de objetos
ComponentParameter
. Se um parâmetro de entrada for necessário, mas não tiver um valor padrão definido no componente, você deverá fornecer um valor. O Image Builder não criará a versão da fórmula se algum parâmetro obrigatório estiver faltando e não houver um valor padrão definido.Importante
Os parâmetros do componente são valores de texto simples e estão logados em AWS CloudTrail. Recomendamos que você use AWS Secrets Manager ou o AWS Systems Manager Parameter Store para armazenar seus segredos. Para obter mais informações sobre o Secrets Manager, consulte O que é o Secrets Manager? no AWS Secrets Manager Guia do usuário. Para obter mais informações sobre o AWS Systems Manager Parameter Store, consulte AWS Systems Manager Parameter Store no AWS Systems Manager Guia do usuário.
-
nome (string, obrigatório): o nome do parâmetro do componente a ser definido.
-
value (matriz de strings, obrigatório): contém uma matriz de strings para definir o valor do parâmetro do componente nomeado. Se houver um valor padrão definido para o componente e nenhum outro valor for fornecido, AWSTOE use o valor padrão.
-
-
-
additionalInstanceConfiguration(objeto) — Especifique configurações adicionais e scripts de lançamento para suas instâncias de compilação.
-
systemsManagerAgent(object) — Contém configurações para o agente Systems Manager em sua instância de compilação.
-
uninstallAfterBuild(Boolean) — Controla se o agente do Systems Manager é removido da imagem de compilação final antes de criar a nova AMI. Se essa opção for definida para
true
, o atendente será removido da imagem final. Se a opção for definida parafalse
, o atendente será mantido para que seja incluído na nova AMI. O valor padrão éfalse
.nota
Se o atributo
uninstallAfterBuild
não estiver incluído no arquivo JSON e as condições a seguir forem verdadeiras, o Image Builder removerá o atendente do Systems Manager da imagem final para que ele não fique disponível na AMI:-
O
userDataOverride
está vazio ou foi omitido do arquivo JSON. -
O Image Builder instalou automaticamente o atendente do Systems Manager na instância de compilação de um sistema operacional que não tinha o atendente pré-instalado na imagem de base.
-
-
-
userDataOverride(string) — Forneça comandos ou um script de comando para executar ao iniciar sua instância de compilação.
nota
Os dados do usuário são sempre codificados em base 64. Por exemplo, os seguintes comandos são codificados como
IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhcg==
:#!/bin/bash mkdir -p /var/bb/ touch /var
O exemplo do Linux usa esse valor codificado.
-
-
-
Criar a fórmula
Use o comando a seguir para criar a fórmula. Forneça o nome do arquivo JSON que você criou na etapa anterior no parâmetro
--cli-input-json
:aws imagebuilder create-image-recipe --cli-input-json file://
create-image-recipe.json
nota
-
É necessário incluir a notação
file://
no início do caminho do arquivo JSON. -
O caminho para o arquivo JSON deve seguir a convenção apropriada para o sistema operacional de base no qual você está executando o comando. Por exemplo, o Windows usa a barra invertida (\) para se referir ao caminho do diretório, enquanto o Linux e o macOS usam a barra (/).
Sua imagem final pode conter até quatro códigos de produto de produtos e componentes de AWS Marketplace imagem. Se a imagem base e os componentes selecionados contiverem mais de quatro códigos de produto, o Image Builder retornará um erro ao executar o
create-image-recipe
comando. -
Importar uma VM como sua imagem de base no console
Nesta seção, vamos nos concentrar em como importar uma máquina virtual (VM) como imagem de base para sua fórmula de imagem. Aqui, não abordamos outras etapas envolvidas na criação de uma fórmula ou versão da fórmula. Para ver as etapas adicionais para criar uma nova fórmula de imagem com o assistente de criação de pipeline no console do Image Builder, consulte Assistente de pipeline: criar AMI. Para ver as etapas adicionais para criar uma nova fórmula de imagem ou versão de fórmula, consulte Criar uma nova versão de uma fórmula de imagem.
Para importar uma VM como imagem de base para sua fórmula de imagem no console do Image Builder, siga estas etapas, junto com todas as outras etapas necessárias, para criar sua fórmula ou versão da fórmula.
-
Na seção Selecionar imagem para a imagem de base, selecione a opção Importar imagem de base.
-
Escolha o Sistema operacional (OS) de imagem e a Versão do OS como você faria normalmente.
Configuração de importação de VM
Quando você exporta sua VM do ambiente de virtualização, esse processo cria um conjunto de um ou mais arquivos de contêiner de disco que atuam como snapshots do ambiente, das configurações e dos dados da sua VM. Você pode usar esses arquivos para importar sua VM como imagem de base para sua fórmula de imagem. Para obter mais informações sobre importação VMs no Image Builder, consulte Importar e exportar imagens de VM
Para especificar a localização da sua fonte de importação, siga estas etapas:
Importar fonte
Especifique a fonte do primeiro contêiner de disco ou snapshot de imagem da VM a ser importado na seção Contêiner de disco 1.
-
Fonte: essa pode ser um bucket do S3 ou um snapshot do EBS.
-
Selecione a localização do disco do S3: insira a localização no Amazon S3 onde suas imagens de disco estão armazenadas. Para procurar o local, escolha Browse S3.
-
Para adicionar um contêiner de disco, escolha Adicionar contêiner de disco.
Perfil do IAM
Para associar um Perfil do IAM à sua configuração de importação de VM, selecione o perfil na lista suspensa de Perfil do IAM ou escolha Criar novo perfil para criar um novo. Se você criar um novo perfil, a página do console de Perfis do IAM será aberta em uma guia separada.
Configurações avançadas: opcionais
As seguintes configurações são opcionais. Com essas configurações, você pode configurar criptografia, licenciamento, tags e muito mais para a imagem de base criada pela importação.
Geral
-
Especifique um Nome exclusivo para a imagem de base. Se você não inserir um valor, a imagem de base herdará o nome da fórmula.
-
Especifique uma Versão para a imagem de base. Use o formato a seguir:
<major>.<minor>.<patch>
. Se você não inserir um valor, a imagem de base herdará a versão da fórmula. -
Você também pode inserir uma Descrição para a imagem de base.
Arquitetura da imagem de base
Para especificar a arquitetura da sua fonte de importação de VM, selecione um valor na lista Arquitetura.
Criptografia
Se as imagens de disco da VM estiverem criptografadas, você deverá fornecer uma chave para usar no processo de importação. Para especificar um AWS KMS key para a importação, selecione um valor na lista Criptografia (chave KMS). A lista contém chaves KMS às quais sua conta tem acesso na região atual.
Gerenciamento de licença
Quando você importa uma VM, o processo de importação detecta automaticamente o OS da VM e aplica a licença apropriada à imagem de base. Dependendo da plataforma do seu OS, os tipos de licença são os seguintes:
-
Licença incluída: Uma licença AWS apropriada para sua plataforma é aplicada à sua imagem de base.
-
Traga a sua própria licença (BYOL): Retém a licença da sua VM, se aplicável.
Para anexar configurações de licença criadas com AWS License Manager à sua imagem base, selecione na lista Nome da configuração de licença. Para obter mais informações sobre o License Manager, consulte Trabalhando com AWS License Manager
nota
-
As configurações de licença contêm regras de licenciamento com base nos termos de seus contratos empresariais.
-
O Linux só oferece suporte a licenças BYOL.
Tags (imagem de base)
As tags usam pares de chave–valor para atribuir texto pesquisável ao seu recurso do Image Builder. Para especificar tags para a imagem de base importada, insira pares de chave–valor com as caixas Chave e Valor.
Para adicionar uma tag, escolha Adicionar tag. Para remover uma tag, selecione Remover tag.