Direkt zum Inhalt

Wie behebe ich Fehler beim Start von EC2-Instances, die durch AMI-Probleme verursacht wurden?

Lesedauer: 4 Minute
0

Ich möchte eine Fehlerbehebung für mein Amazon Machine Image (AMI) durchführen, das eine Amazon Elastic Compute Cloud (Amazon EC2)-Instance nicht startet.

Kurzbeschreibung

Wenn du eine Instance von einem AMI aus startest, erhältst du möglicherweise eine der folgenden Fehlermeldungen:

  • „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.“

Oder deine Instance wird möglicherweise sofort beendet, nachdem du sie gestartet hast. Dieses Problem tritt in der Regel auf, wenn du die Amazon Elastic Block Store (Amazon EBS)-Volumes der Instance verschlüsselst.

Lösung

Fehler „you need to accept the terms and subscribe“ beheben

Du kannst neue AMIs und Snapshots von Instances erstellen oder starten, die du mit einem AWS Marketplace-AMI erstellt hast. AWS-Konten, mit denen du diese Instances teilst, müssen das AWS Marketplace-AMI abonnieren. Wenn das gemeinsame Konto nicht das ursprüngliche AWS Marketplace-AMI abonniert hat, kannst du keine Instance vom neuen AMI aus starten. Du kannst auch kein EBS-Volume anhängen, das du aus dem Snapshot dieses AMI erstellt hast.

Um dieses Problem zu beheben, öffne den Link in der Fehlermeldung, um das AMI mit dem Konto zu abonnieren. Stimme dann den Bedingungen des AMI zu. Oder verwende die AWS Marketplace-Konsole, um das AMI zu abonnieren.

Fehler „instance configuration for this AWS Marketplace product is not supported“ beheben

Du kannst AWS Marketplace-AMIs nach Anbieter einschränken, um nur bestimmte Instance-Typen zuzulassen. Wenn du versuchst, einen Instance-Typ zu starten, der nicht unterstützt wird, erhältst du die Fehlermeldung „instance configuration for this AWS Marketplace product is not supported“.

Informationen zu den unterstützten Instance-Typen findest du auf der AWS Marketplace-Seite für das AMI. Stelle sicher, dass du einen unterstützten Instance-Typ für das AMI verwendest.

Probleme mit verschlüsselten EBS-Volumes beheben

Der AWS Identity and Access Management (IAM)-Benutzer muss Zugriff auf den AWS Key Management Service (AWS KMS)-Verschlüsselungsschlüssel haben, um die Instance starten zu können. Andernfalls schlägt der Instance-Start fehl.

Um dieses Problem zu beheben, stelle sicher, dass du das AMI korrekt mit dem Zielkonto geteilt hast. Um ein AMI gemeinsam zu nutzen, muss der IAM-Benutzer oder die IAM-Rolle des Quellkontos über ModifyImageAttribute-Berechtigungen für das AMI verfügen. Beispiel für eine IAM-Richtlinie:

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

**Hinweis:**Ersetze arn:aws:ec2:us-east-1::image/12345678 durch den AMI-Amazon-Ressourcennamen (ARN).

Gehe im Quellkonto wie folgt vor, um den AWS-KMS-Schlüssel für das Zielkonto freizugeben:

  1. Öffne die AWS-KMS-Konsole.
  2. Wähle im Navigationsbereich Vom Kunden verwaltete Schlüssel und dann deinen AWS-KMS-Schlüssel aus.
  3. Wähle unter Andere AWS-Konten die Option Weitere AWS-Konten hinzufügen aus und wähle dann Weiteres AWS-Konto hinzufügen aus.
  4. Gib für arn:aws:iam:: die ID deines Zielkontos ein. Zum Beispiel 1234567890.
  5. Wähle Änderungen speichern aus.

Vergewissere dich im Zielkonto, dass der IAM-Benutzer oder die IAM-Rolle über die erforderlichen Verschlüsselungsberechtigungen verfügt. Beispiel für eine Richtlinie:

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

Hinweis: Ersetze us-east-1 durch deine AWS-Region, Source-Account durch die Quellkonto-ID und key-id durch die AWS-KMS-Schlüssel-ID.

Um deine Konfiguration zu testen, starte deine EC2-Instance mit dem verschlüsselten AMI. Wenn du ein gemeinsam genutztes verschlüsseltes AMI verwendest, kannst du deinen eigenen AWS-KMS-Schlüssel oder den Quell-AWS-KMS für die Volumenverschlüsselung verwenden. Es hat sich bewährt, ein AWS-KMS vom Zielkonto zum erneuten Verschlüsseln von Volumes zu verwenden, um sich vor der Kompromittierung des Quellschlüssels oder Problemen mit dem Widerruf von Berechtigungen zu schützen.

Weitere Informationen findest du unter So teilst du verschlüsselte AMIs kontoübergreifend, um verschlüsselte EC2-Instances zu starten.

AWS OFFICIALAktualisiert vor einem Jahr