Wie erstelle ich ein verschlüsseltes AMI für AWS Batch?

Lesedauer: 3 Minute
0

Ich möchte ein verschlüsseltes Amazon Machine Image (AMI) für AWS Batch erstellen.

Kurzbeschreibung

Sie können benutzerdefinierte AWS Key Management Service (AWS KMS)-Schlüssel verwenden, um Ihre AMIs zu verschlüsseln, und anschließend verschlüsselte AMIs verwenden, um AWS Batch-Instances zu starten.

Lösung

Erstellen Sie einen Snapshot eines AMI, das für Amazon Elastic Container Service (Amazon ECS) optimiert ist

1.Starten Sie eine Amazon Elastic Compute Cloud (Amazon EC2)-Instance, die auf einem Amazon ECS-optimierten AMI basiert.

**Hinweis:**Informationen zur Auswahl eines AMI finden Sie unter Linux Amazon ECS-optimierte AMIs.

2.Erstellen Sie einen Snapshot vom Root-Volume der EC2-Instance, die Sie in Schritt 1 gestartet haben.

3.Um Gebühren zu vermeiden, löschen Sie die in Schritt 1 erstellte EC2-Instance.

Verschlüsseln Sie den Snapshot und erstellen Sie ein AMI des verschlüsselten Snapshots

1.Öffnen Sie die Amazon EC2-Konsole.

2.Wählen Sie im Navigationsbereich im Abschnitt Elastic Block Store die Option Snapshots aus.

3.Wählen Sie den Snapshot aus, den Sie zuvor erstellt haben, anschließend Aktionen und dann Kopieren.

4.Aktivieren Sie im Fenster Snapshot kopieren unter Verschlüsselung das Kontrollkästchen Diesen Snapshot verschlüsseln.

5.Wählen Sie als Root Key Ihren eigenen, vom Kunden verwalteten AWS KMS-Schlüssel aus.

Hinweis: Der für die Verschlüsselung in diesen Schritten verwendete Schlüssel ist ein symmetrischer Schlüssel.

  1. Wählen Sie Kopieren und dann Schließen aus.

  2. Wählen Sie den verschlüsselten Snapshot aus, nachdem er den Status „Abgeschlossen“ erreicht hat, anschließend Aktionen und dann Image erstellen.

Sie verfügen nun über ein verschlüsseltes AMI, mit dem Sie Ihre AWS Batch-Instances starten können.

Hinweis: Sie können das AMI über die Amazon EC2-Konsole anzeigen lassen. Wählen Sie im Navigationsbereich im Abschnitt Images die Option AMIs aus.

Gewähren Sie der dienstverknüpften Rolle Zugriff auf den KMS-Schlüssel<br>

Wenn Sie einen vom Kunden verwalteten KMS-Schlüssel für die Amazon Elastic Block Store (Amazon EBS)-Verschlüsselung angeben, müssen Sie der entsprechenden dienstverknüpften Rolle Zugriff auf den KMS-Schlüssel gewähren. So kann Amazon EC2 Auto Scaling Instances in Ihrem Namen starten. Um diesen Zugriff zu gewähren, müssen Sie die Schlüsselrichtlinie Ihres KMS-Schlüssels ändern.

Wenn Sie die Richtlinie aktualisieren, stellen Sie sicher, dass Sie AWSServiceRoleForAutoScaling als Hauptbenutzer für den KMS-Schlüssel festlegen.

Wenn Sie diese Richtlinie verwenden, ersetzen Sie den Amazon-Ressourcennamen (ARN) durch den ARN der entsprechenden dienstverknüpften Rolle, der Zugriff auf den KMS-Schlüssel gewährt wird. Siehe folgende Beispielrichtlinie:

{
    "Id": "key-consolepolicy-3",
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Enable IAM User Permissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        },
        {
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling"
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:DescribeKey"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Allow attachment of persistent resources",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling"
            },
            "Action": [
                "kms:CreateGrant",
                "kms:ListGrants",
                "kms:RevokeGrant"
            ],
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": "true"
                }
            }
        }
    ]
}

Hinweis: Wenn Sie die Spot-Rechenumgebung mit einer Best-Fit-Strategie verwenden, verwenden Sie in der vorherigen Schlüsselrichtlinie AWSServiceRoleForEC2SpotFleet anstelle von AWSServiceRoleForAutoScaling.

Erstellen Sie eine neue Rechenumgebung

Erstellen Sie eine neue Rechenumgebung.

**Wichtig:**Wenn Sie Ihre Rechenumgebung erstellen, müssen Sie das Kontrollkästchen Benutzerdefinierte Ami-ID aktivieren auswählen. Geben Sie anschließend Ihre AMI-ID in das angezeigte Feld AMI-ID ein und wählen Sie AMI validieren aus.


AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Jahren