View a markdown version of this page

Criar uma configuração de infraestrutura - 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á.

Criar uma configuração de infraestrutura

Esta seção descreve como você pode usar o console ou os imagebuilder comandos do Image Builder AWS CLI para criar uma configuração de infraestrutura.

Console

Para criar um recurso de configuração de infraestrutura a partir do console Image Builder, siga estas etapas:

  1. Abra o console do EC2 Image Builder em https://console.aws.amazon.com/imagebuilder/.

  2. No painel de navegação, escolha Configuração de infraestrutura.

  3. Escolha Criar configuração de infraestrutura.

  4. Na seção Geral, insira as seguintes informações obrigatórias:

    • Insira o nome do seu recurso de configuração de infraestrutura.

    • Selecione um perfil do IAM que você deseja associar ao perfil de instância para permissões de componente em suas instâncias de compilação e teste. O Image Builder usa essas permissões para baixar e executar seus componentes, fazer upload de registros e realizar quaisquer ações adicionais especificadas pelos componentes em sua receita. CloudWatch

  5. No painel de AWS infraestrutura, defina as configurações de infraestrutura restantes. Insira as seguintes informações obrigatórias:

    • Tipo de instância – Você pode especificar um ou mais tipos de instância para usar nessa compilação. O Image Builder seleciona um desses tipos de instância com base na disponibilidade.

      nota

      Instâncias do Mac são executadas em instâncias do tipo .metal em um host dedicado. Seu tipo de instância deve corresponder a um dos tipos definidos para o host em que ela é executada. Para obter mais informações sobre instâncias Mac e uma lista de tipos de instância que oferecem suporte nativo ao sistema operacional macOS, consulte Instâncias Mac do Amazon EC2 no Manual do usuário do Amazon EC2.

    • Tópico do SNS (opcional): selecione um tópico do SNS para receber notificações e alertas do EC2 Image Builder.

    Se você não fornecer valores para as configurações a seguir, elas usarão padrões específicos do serviço, quando aplicável.

    • VPC, sub-rede e grupos de segurança: o Image Builder usa sua VPC e a sub-rede padrão. Para obter mais informações sobre como configurar os endpoint da interface da VPC, consulte Image Builder e AWS PrivateLink interface de VPC endpoints.

    • Na seção Configurações de solução de problemas, defina os seguintes valores:

      • Por padrão, a caixa de seleção Encerrar instância em caso de falha está marcada. No entanto, quando uma compilação falha, você pode se conectar à instância do Amazon EC2 para solucionar problemas. Se você quiser que sua instância continue em execução após uma falha de compilação, desmarque a caixa de seleção.

      • Par de chaves — Se sua instância do Amazon EC2 continuar em execução após uma falha de compilação, você poderá criar um par de chaves ou usar um par de chaves existente para se conectar à instância e solucionar problemas.

      • Logs — Você pode especificar um bucket do Amazon S3 em que o Image Builder pode gravar registros de aplicativos para ajudar a solucionar problemas de compilação e testes. Se você não especificar um bucket do Amazon S3, o Image Builder grava os logs do aplicativo na instância.

    • Na seção Configurações de metadados da instância, defina os seguintes valores para aplicar às instâncias do Amazon EC2 que o Image Builder usa para criar e testar sua imagem:

      • Selecione a versão de metadados para determinar se o Amazon EC2 exige um cabeçalho de token assinado para solicitações de recuperação de metadados da instância.

        • V1 e V2 (token opcional): valor padrão se você não selecionar nada.

        • V2 (token obrigatório)

        nota

        Recomendamos que você configure todas as instâncias do EC2 que o Image Builder executa a partir de um pipeline criado para usar o IMDSv2, de forma que as solicitações de recuperação de metadados da instância exijam um cabeçalho de token assinado.

      • Metadata token response hop limit (Limite de salto de resposta do token de metadados) - número permitido de saltos de rede para o token de metadados. Intervalo válido: 1—64. Se você não definir um valor, o Image Builder aplica um limite de salto de 2.

    • Na seção Instance placement settings, configure os seguintes valores para aplicar às instâncias do Amazon EC2 que o Image Builder usa para criar e testar sua imagem:

      • Você pode selecionar a Zona de disponibilidade em que o Image Builder inicia instâncias durante a criação da imagem.

      • Como opção, selecione Locação para os servidores que executam as instâncias que você inicia. Por padrão, as instâncias do Amazon EC2 são executadas em hardware de locação compartilhado. Isso significa que várias Contas da AWS podem compartilhar o mesmo hardware físico. Uma instância com locação dedicated é executada em um hardware de locatário único. Uma instância com locação host é executada em um host dedicado.

        As instâncias do Mac exigem um host dedicado criado como pré-requisito antes de você compilar uma imagem personalizada. Selecione host para sua imagem do macOS. Em seguida, você pode selecionar um host de destino ou um grupo de recursos do host para iniciar instâncias, mas isso não é necessário se seu host dedicado tiver o posicionamento automático habilitado. Para obter mais informações, consulte Auto-placement o Guia do usuário do Amazon EC2.

        • ID do host de locação: o ID do host dedicado no qual as instâncias são executadas.

        • Grupo de recursos do host de locação: o nome do recurso da Amazon (ARN) do grupo de recursos do host no qual as instâncias serão executadas.

  6. Na seção Tags de infraestrutura (opcional), você pode atribuir tags de metadados à instância do Amazon EC2 que o Image Builder executa durante o processo de compilação. Insira tags como pares de valores-chave.

  7. Na seção Tags (opcional), você pode atribuir tags de metadados ao recurso de configuração de infraestrutura que o Image Builder cria como saída. Insira tags como pares de valores-chave.

AWS CLI

O procedimento a seguir mostra como configurar a infraestrutura da sua imagem com o comando create-infrastructure-configuration do Image Builder na AWS CLI. O comando na Etapa 2 incorpora o arquivo que você criou na Etapa 1. Para esses exemplos, o arquivo da Etapa 1 é chamado create-infrastructure-configuration.json.

O exemplo a seguir define campos de infraestrutura comuns. Para exigir tokens IMDSv2 nas instâncias de construção e teste, adicione um instanceMetadataOptions bloco com httpTokens set to. required

nota

Recomendamos que você configure todas as instâncias do EC2 que o Image Builder executa a partir de um pipeline criado para usar o IMDSv2, de forma que as solicitações de recuperação de metadados da instância exijam um cabeçalho de token assinado.

  1. Criar um arquivo JSON de entrada da CLI

    Os exemplos a seguir mostram variações do arquivo JSON que você pode criar para a configuração da infraestrutura. Use uma ferramenta de edição de arquivos para criar seu próprio arquivo JSON.

    Exemplo 1: configuração para reter uma instância de uma compilação com falha

    Este exemplo especifica dois tipos de instância: m7i.large e m7i.xlarge. Recomendamos que você especifique mais de um tipo de instância, pois isso permite que o Image Builder execute uma instância a partir de um grupo com capacidade suficiente. Isto pode reduzir suas falhas transitórias de compilação.

    O instanceProfileName especifica o perfil de instância que fornece à instância as permissões que o perfil exige para realizar atividades de personalização. Por exemplo, se você tem um componente que recupera recursos do Amazon S3, o perfil de instância exige permissões para acessar esses arquivos. O perfil de instância também exige um conjunto mínimo de permissões para que o EC2 Image Builder se comunique com sucesso com a instância. Para obter mais informações, consulte Configurar compilação de imagens personalizadas com o Image Builder.

    { "name": "ExampleInfraConfigDontTerminate", "description": "An example that will retain instances of failed builds", "instanceTypes": [ "m7i.large", "m7i.xlarge" ], "instanceProfileName": "myIAMInstanceProfileName", "securityGroupIds": [ "sg-12345678" ], "subnetId": "subnet-12345678", "logging": { "s3Logs": { "s3BucketName": "my-logging-bucket", "s3KeyPrefix": "my-path" } }, "keyPair": "myKeyPairName", "terminateInstanceOnFailure": false, "snsTopicArn": "arn:aws:sns:us-west-2:123456789012:MyTopic" }
    Exemplo 2: configuração do macOS com posicionamento automático

    Este exemplo especifica os tipos de instância e o posicionamento de uma instância do Mac em que o host dedicado tem o posicionamento automático habilitado.

    { "name": "macOSInfraConfigAutoPlacement", "description": "An example infrastructure configuration for macOS.", "instanceProfileName": "EC2InstanceProfileForImageBuilder", "instanceTypes": ["mac1.metal", "mac2.metal"], "terminateInstanceOnFailure": false, "placement": { "tenancy": "host" } }
    Exemplo 3: configuração do macOS com o ID do host especificado

    Este exemplo especifica o tipo de instância e o posicionamento de uma instância do Mac que tem como destino um host dedicado específico.

    { "name": "macOSInfraConfigHostPlacement", "description": "An example infrastructure configuration for macOS.", "instanceProfileName": "EC2InstanceProfileForImageBuilder", "instanceTypes": ["mac2-m1ultra.metal"], "terminateInstanceOnFailure": false, "placement": { "tenancy": "host", "hostId" : "h-1234567890abcdef0" } }
    Exemplo 4: VPC personalizada com registro em log do IMDSv2 e do Amazon S3

    Este exemplo inicia instâncias em uma sub-rede e um grupo de segurança específicos, exige tokens IMDSv2 e grava registros de aplicativos no Amazon S3. Como o exemplo definesubnetId, ele também deve ser definidosecurityGroupIds.

    { "name": "VpcInfraConfigWithLogging", "description": "Build in a custom VPC with IMDSv2 and S3 logging", "instanceTypes": ["m7i.large", "m8i.large"], "instanceProfileName": "EC2InstanceProfileForImageBuilder", "subnetId": "subnet-12345678", "securityGroupIds": ["sg-12345678"], "instanceMetadataOptions": { "httpTokens": "required", "httpPutResponseHopLimit": 2 }, "logging": { "s3Logs": { "s3BucketName": "my-logging-bucket", "s3KeyPrefix": "image-builder-logs" } }, "resourceTags": { "Project": "golden-ami" }, "terminateInstanceOnFailure": true }
    Exemplo 5: Colocação de host dedicado com um grupo de recursos de host

    Este exemplo tem como alvo um grupo de recursos de host em vez de um ID de host específico. Por tenancy issohost, você pode especificar um ARN do grupo de recursos do host. Também não especifique umhostId.

    { "name": "HostResourceGroupInfraConfig", "instanceProfileName": "EC2InstanceProfileForImageBuilder", "instanceTypes": ["mac2.metal"], "terminateInstanceOnFailure": false, "placement": { "tenancy": "host", "hostResourceGroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/my-host-group" } }
  2. Use o arquivo que você criou como entrada quando executar o seguinte comando.
    aws imagebuilder create-infrastructure-configuration --cli-input-json file://create-infrastructure-configuration.json