Salta al contenuto

Come posso risolvere gli errori di avvio di un'istanza EC2 causati da problemi dell'AMI?

4 minuti di lettura
0

Desidero risolvere i problemi di una mia Amazon Machine Image (AMI) che non riesce ad avviare un'istanza Amazon Elastic Compute Cloud (Amazon EC2).

Breve descrizione

Quando avvii un'istanza da un'AMI, potresti ricevere uno dei seguenti messaggi di errore:

  • "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."

Oppure l'istanza potrebbe arrestarsi immediatamente dopo l'avvio. Il problema si verifica in genere quando crittografi i volumi Amazon Elastic Block Store (Amazon EBS) dell'istanza.

Risoluzione

Risolvi l'errore "you need to accept the terms and subscribe"

Puoi creare o avviare nuovi snapshot e AMI da istanze create con un'AMI di AWS Marketplace. Gli account AWS con cui condividi le istanze devono abbonarsi all'AMI in AWS Marketplace. Se l'account condiviso non è abbonato all'AMI originale in AWS Marketplace, non puoi avviare un'istanza dalla nuova AMI. Inoltre, non puoi allegare un volume EBS che hai creato dallo snapshot di quell'AMI.

Per risolvere il problema, apri il link nel messaggio di errore per abbonare l'account all'AMI. Quindi accetta i termini dell'AMI. In alternativa, utilizza la console AWS Marketplace per abbonarti all'AMI.

Risolvi l'errore "instance configuration for this AWS Marketplace product is not supported"

Puoi limitare le AMI in AWS Marketplace in base al fornitore in modo che consentano solo tipi di istanze specifici. Se tenti di avviare un tipo di istanza non supportato, ricevi il messaggio di errore "instance configuration for this AWS Marketplace product is not supported".

Consulta la pagina di AWS Marketplace relativa all'AMI per informazioni sui tipi di istanza supportati. Assicurati di utilizzare un tipo di istanza supportato dall'AMI.

Risolvi i problemi relativi ai volumi EBS crittografati

L'utente AWS Identity and Access Management (AWS IAM) deve avere accesso alla chiave di crittografia del Servizio AWS di gestione delle chiavi (AWS KMS) per avviare l'istanza. In caso contrario, l'istanza non si avvia.

Per risolvere il problema, verifica di aver condiviso correttamente l'AMI con l'account di destinazione. Per condividere un'AMI, l'utente o il ruolo IAM dell'account di origine deve avere le autorizzazioni ModifyImageAttribute per l'AMI. Esempio di policy IAM:

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

Nota: sostituisci arn:aws:ec2:us-east-1::image/12345678 con il nome della risorsa Amazon (ARN) dell'AMI.

Nell'account di origine, completa i seguenti passaggi per condividere la chiave AWS KMS con l'account di destinazione:

  1. Apri la console AWS KMS.
  2. Nel pannello di navigazione scegli Chiavi gestite dal cliente, quindi scegli la chiave AWS KMS.
  3. In Altri account AWS, scegli Aggiungi altri account AWS, quindi Aggiungi un altro account AWS.
  4. Per arn:aws:iam::, inserisci l'ID dell'account di destinazione. Ad esempio, 1234567890.
  5. Scegli Salva le modifiche.

Nell'account di destinazione, verifica che l'utente o il ruolo IAM abbia le autorizzazioni di crittografia richieste. Esempio di policy:

{  "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
        }
      }
    }
  ]
}

Nota: sostituisci us-east-1 con la tua Regione AWS, il Source-Account con l'ID dell'account di origine e il key-id con l'ID della chiave AWS KMS.

Per testare la configurazione, avvia l'istanza EC2 con l'AMI crittografata. Quando utilizzi un'AMI crittografata condivisa, puoi utilizzare la tua chiave AWS KMS o l'AWS KMS di origine per la crittografia dei volumi. È consigliabile utilizzare un AWS KMS dell'account di destinazione per crittografare nuovamente i volumi e proteggersi da problemi di compromissione della chiave di origine o revoca delle autorizzazioni.

Per ulteriori informazioni, consulta How to share encrypted AMIs across accounts to launch encrypted EC2 instances (Condivisione di AMI crittografate tra account per avviare istanze EC2 crittografate).

AWS UFFICIALEAggiornata un anno fa