Ir para o conteúdo

Como soluciono falhas de execução de instâncias do EC2 causadas por problemas de AMI?

4 minuto de leitura
0

Quero solucionar o problema da minha imagem de máquina da Amazon (AMI) que não consegue executar uma instância do Amazon Elastic Compute Cloud (Amazon EC2).

Breve descrição

Ao executar uma instância a partir de uma AMI, você pode receber uma das seguintes mensagens de erro:

  • “Error launching AMI: In order to use the AWS Marketplace product you need to accept the terms and subscribe.”
  • “Error: The instance configuration for this AWS Marketplace product is not supported.”

Ou sua instância pode parar imediatamente após você iniciá-la. Esse problema normalmente ocorre quando você criptografa os volumes do Amazon Elastic Block Store (Amazon EBS) da instância.

Resolução

Solucione o erro “you need to accept the terms and subscribe”

Você pode criar ou lançar novas AMIs e snapshots a partir de instâncias que você criou com uma AMI do AWS Marketplace. As contas da AWS com as quais você compartilha essas instâncias devem assinar a AMI do AWS Marketplace. Se a conta compartilhada não estiver inscrita na AMI original do AWS Marketplace, você não poderá executar uma instância a partir da nova AMI. Você também não pode anexar um volume do EBS que você criou a partir do snapshot dessa AMI.

Para resolver esse problema, abra o link na mensagem de erro para inscrever a conta na AMI. Em seguida, concorde com os termos da AMI. Ou use o console do AWS Marketplace para assinar a AMI.

Solucione o erro “instance configuration for this AWS Marketplace product is not supported”

Você pode restringir as AMIs do AWS Marketplace por fornecedor para permitir apenas tipos específicos de instância. Se você tentar executar um tipo de instância não compatível, receberá a mensagem de erro “instance configuration for this AWS Marketplace product is not supported”.

Consulte a página da AMI no AWS Marketplace para obter mais informações sobre os tipos de instância compatíveis. Certifique-se de usar um tipo de instância compatível para a AMI.

Solucionar problemas de volume criptografado do EBS

O usuário do AWS Identity and Access Management (AWS IAM) deve ter acesso à chave de criptografia do AWS Key Management Service (AWS KMS) para executar a instância. Caso contrário, a execução da instância falhará.

Para resolver esse problema, confirme se você compartilhou corretamente a AMI com a conta de destino. Para compartilhar uma AMI, o usuário ou o perfil do IAM da conta de origem deve ter permissões ModifyImageAttribute na AMI. Exemplo de política do IAM:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:ModifyImageAttribute"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/12345678"
            ]                                                    
        }
    ]
}

Observação: substitua arn:aws:ec2:us-east-1::image/12345678 pelo nome do recurso da Amazon (ARN) AMI.

Na conta de origem, conclua as seguintes etapas para compartilhar a chave do AWS KMS com a conta de destino:

  1. Abra o console do AWS KMS.
  2. No painel de navegação, escolha Chaves gerenciadas pelo cliente e, em seguida, escolha sua chave do AWS KMS.
  3. Em Outras contas da AWS, escolha Adicionar outras contas da AWS e, em seguida, escolha Adicionar outra conta da AWS.
  4. Para arn:aws:iam::, insira o ID da sua conta de destino. Por exemplo, 1234567890.
  5. Escolha Salvar alterações.

Na conta de destino, confirme se o usuário ou perfil do IAM tem as permissões de criptografia necessárias. Exemplo de política:

{  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:DescribeKey",
        "kms:ReEncrypt*",
        "kms:Decrypt",
        "kms:GenerateDataKeyWithoutPlainText"
      ],
      "Resource": [
        "arn:aws:kms:us-east-1:Source-Account:key/key-id"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "kms:CreateGrant",
      "Resource": [
        "arn:aws:kms:us-east-1:Source-Account:key/key-id"
      ],
      "Condition": {
        "Bool": {
          "kms:GrantIsForAWSResource": true
        }
      }
    }
  ]
}

Observação: substitua us-east-1 pela sua região da AWS, Source-Account pelo ID da conta de origem e key-id pelo ID da chave do AWS KMS.

Para testar sua configuração, execute sua instância do EC2 com a AMI criptografada. Ao usar uma AMI criptografada compartilhada, você pode usar sua própria chave do AWS KMS ou o AWS KMS de origem para criptografia de volume. É uma prática recomendada usar um AWS KMS da conta de destino para recriptografar volumes para se proteger contra problemas de comprometimento da chave de origem ou revogação de permissão.

Para obter mais informações, consulte Como compartilhar AMIs criptografadas entre contas para executar instâncias do EC2 criptografadas.

AWS OFICIALAtualizada há um ano