Erstellen Sie die Beispielbildbeschreibung für Amazon Linux 2023 - Amazon Elastic Compute Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie die Beispielbildbeschreibung für Amazon Linux 2023

AWS bietet ein Beispiel für eine Amazon Linux 2023-Imagebeschreibung, die Sie als Ausgangspunkt für die Erstellung Ihres eigenen benutzerdefinierten Attestable AMIs für Ihre Workloads verwenden können. Die Beschreibung des Beispielimages umfasst Amazon Linux 2023 als Basisbetriebssystem dm-verity und erofs Konfigurationen für die Unveränderlichkeit des Dateisystems. Außerdem wird jeglicher interaktiver Zugriff (wie SSH, EC2 Instance-Verbindung und serielle Konsole) entfernt, um eine isolierte Rechenumgebung zu schaffen. Weitere Informationen zur Beschreibung des Beispiel-Images finden Sie im Github-Repo.

Die Beschreibung des Beispielbilds installiert automatisch die NitroTPM-Tools (nitro-tpm-pcr-computeundnitro-tpm-attest) im erstellten Image im Verzeichnis. /usr/bin/ Dadurch wird sichergestellt, dass die Tools auf Instances vorinstalliert sind, die über das AMI gestartet werden.

Die Beschreibung des Beispielbilds umfasst ein Skriptedit_boot_install.sh, das die Befehle enthält, die zum Generieren der Referenzmessungen erforderlich sind. Das Skript hängt die von KIWI NG erstellte Raw-Disk-Image-Datei (.raw) auf einem Loopback-Gerät ein, lokalisiert die UKI mit der .efi Dateierweiterung und führt dann das nitro-tpm-pcr-compute Hilfsprogramm aus, um die Referenzmessungen für das AMI zu generieren. Das Skript wird während der Build-Zeit automatisch von KIWI NG ausgeführt.

Dieses Tutorial zeigt Ihnen, wie Sie die Beispiel-Image-Beschreibung erstellen, um ein attestierbares AMI zu erstellen.

Weitere Informationen zum Erstellen eigener Image-Beschreibungen finden Sie in der folgenden KIWI NG-Dokumentation:

So erstellen Sie die Amazon Linux 2023-Beispielbildbeschreibung mit KIWI NG
  1. Starten Sie eine EC2 Amazon-Instance mit dem neuesten AL2 023-AMI. Um sicherzustellen, dass Ihre Instance über ausreichend Speicherplatz für die Erstellung des AMI verfügt, stellen Sie sicher, dass Sie mindestens 12 GB Speicher bereitstellen.

  2. Installieren Sie die erforderlichen Abhängigkeiten. Mit dem folgenden Befehl werden die folgenden Dienstprogramme installiert:

    • kiwi-cli

    • veritysetup

    • erofs-utils

    • aws-nitro-tpm-tools

    sudo dnf install -y kiwi-cli python3-kiwi kiwi-systemdeps-core python3-poetry-core qemu-img veritysetup erofs-utils git cargo aws-nitro-tpm-tools
  3. Installieren Sie das coldsnap Hilfsprogramm. Mit diesem Tool können Sie Amazon EBS-Snapshots aus Rohbilddaten erstellen. Sie verwenden dieses Hilfsprogramm, um einen EBS-Snapshot aus der von KIWI NG erstellten Raw-Disk-Image-Datei zu erstellen.

    git clone https://github.com/awslabs/coldsnap.git cd coldsnap cargo install --locked coldsnap cd ..
  4. Holen Sie sich die Beispieldateien mit der Bildbeschreibung.

    sudo dnf install kiwi-image-descriptions-examples

    Die Beispieldateien mit Bildbeschreibungen werden in das folgende Verzeichnis heruntergeladen: /usr/share/kiwi-image-descriptions-examples/al2023/attestable-image-example

  5. Erstellen Sie die Beschreibung des Beispielbilds mit dem system build Befehl KIWI NG. Mit dem folgenden Befehl wird eine Raw-Disk-Image-Datei im ./image Verzeichnis erstellt.

    sudo kiwi-ng \ --color-output \ --loglevel 0 \ system build \ --description usr/share/kiwi-image-descriptions-examples/al2023/attestable-image-example \ --target-dir ./image

    Weitere Informationen finden Sie in der Kiwi-ng System Build-Dokumentation.

  6. Holen Sie sich die Referenzmessungen für das AMI. Die Messungen werden vom nitro-tpm-pcr-compute Programm während der Image-Erstellung im vorherigen Schritt generiert. Sie können die Referenzmessungen in der folgenden Datei finden:./image/pcr_measurements.json.

    Die Messungen werden im folgenden JSON-Format bereitgestellt:

    { "Measurements": { "HashAlgorithm": "SHA384 { ... }", "PCR4": "PCR4_measurement", "PCR7": "PCR7_measurement" } }
  7. Verwenden Sie das coldsnap Hilfsprogramm, um das von KIWI NG erstellte Festplatten-Raw-Image in einen EBS-Snapshot hochzuladen. Der Befehl gibt die Snapshot-ID zurück. Notieren Sie sich die ID, Sie benötigen sie für den nächsten Schritt.

    SNAPSHOT=$(.cargo/bin/coldsnap upload ./image/kiwi*.raw) echo "Created snapshot: $SNAPSHOT"

    Weitere Informationen über das coldsnap Hilfsprogramm finden Sie im GitHub Coldsnap-Repo.

  8. Registrieren Sie ein TPM 2.0-fähiges AMI im UEFI-Startmodus mithilfe des Snapshots aus dem vorherigen Schritt. Geben Sie für --architecture Intel oder x86_64 arm64 für Graviton an.

    aws ec2 register-image \ --name "attestable_isolated_al2023_ami" \ --virtualization-type hvm \ --boot-mode uefi \ --architecture x86_64|arm64 \ --root-device-name /dev/xvda \ --block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=${SNAPSHOT}} \ --tpm-support v2.0 \ --ena-support