Crea la descrizione dell'immagine di esempio di Amazon Linux 2023 - Amazon Elastic Compute Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea la descrizione dell'immagine di esempio di Amazon Linux 2023

AWS fornisce un esempio di descrizione dell'immagine Amazon Linux 2023 che puoi usare come punto di partenza per creare il tuo Attestable personalizzato AMIs per i tuoi carichi di lavoro. La descrizione dell'immagine di esempio include Amazon Linux 2023 come sistema operativo di base dm-verity e erofs configurazioni per l'immutabilità del file system e rimuove tutti gli accessi interattivi (come SSH, connessione a EC2 istanze e console seriale) per creare un ambiente di calcolo isolato. Per ulteriori informazioni sulla descrizione dell'immagine di esempio, consulta il repository Github.

La descrizione dell'immagine di esempio installa automaticamente gli strumenti NitroTPM (nitro-tpm-pcr-computeenitro-tpm-attest) nell'immagine incorporata nella directory. /usr/bin/ Ciò garantisce che gli strumenti siano preinstallati sulle istanze avviate dall'AMI.

La descrizione dell'immagine di esempio include uno script che include i comandi necessari per generare le misurazioni di riferimento. edit_boot_install.sh Lo script monta il file di immagine del disco non elaborato (.raw) creato da KIWI NG su un dispositivo di loopback, individua l'UKI, che ha l'estensione del .efi file, quindi esegue l'nitro-tpm-pcr-computeutilità per generare le misurazioni di riferimento per l'AMI. Lo script viene eseguito automaticamente da KIWI NG durante la compilazione.

Questo tutorial mostra come creare la descrizione dell'immagine di esempio per creare un'AMI attestabile.

Per ulteriori informazioni sulla creazione di descrizioni personalizzate delle immagini, consulta la seguente documentazione KIWI NG:

Per creare la descrizione dell'immagine di esempio di Amazon Linux 2023 usando KIWI NG
  1. Avvia un' EC2 istanza Amazon utilizzando l'AMI AL2 023 più recente. Per assicurarti che l'istanza disponga di spazio di archiviazione sufficiente per creare l'AMI, assicurati di fornire almeno 12 GB di spazio di archiviazione.

  2. Installare le dipendenze richieste. Il comando seguente installa le seguenti utilità:

    • 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. Installa l'utilità. coldsnap Questa utilità consente di creare istantanee di Amazon EBS da dati di immagini non elaborati. Utilizzerai questa utilità per creare un'istantanea EBS dal file di immagine del disco non elaborato creato da KIWI NG.

    git clone https://github.com/awslabs/coldsnap.git cd coldsnap cargo install --locked coldsnap cd ..
  4. Ottieni i file di descrizione delle immagini di esempio.

    sudo dnf install kiwi-image-descriptions-examples

    I file di descrizione delle immagini di esempio vengono scaricati nella seguente directory: /usr/share/kiwi-image-descriptions-examples/al2023/attestable-image-example

  5. Crea la descrizione dell'immagine di esempio usando il system build comando KIWI NG. Il comando seguente crea un file di immagine non elaborato del disco nella ./image directory.

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

    Per maggiori informazioni, consulta la documentazione sulla build del sistema kiwi-ng.

  6. Ottieni le misure di riferimento per l'AMI. Le misurazioni vengono generate dall'nitro-tpm-pcr-computeutilità durante la creazione dell'immagine nel passaggio precedente. È possibile individuare le misurazioni di riferimento nel seguente file:./image/pcr_measurements.json.

    Le misurazioni sono fornite nel seguente formato JSON:

    { "Measurements": { "HashAlgorithm": "SHA384 { ... }", "PCR4": "PCR4_measurement", "PCR7": "PCR7_measurement" } }
  7. Usa l'coldsnaputilità per caricare l'immagine grezza del disco creata da KIWI NG su un'istantanea EBS. Il comando restituisce l'ID dell'istantanea. Prendi nota dell'ID, ti servirà per il passaggio successivo.

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

    Per ulteriori informazioni sull'coldsnaputilità, consulta il repository coldsnap GitHub .

  8. Registra un'AMI abilitata per TPM 2.0 con la modalità di avvio UEFI utilizzando l'istantanea del passaggio precedente. Per--architecture, specifica per Intel o x86_64 per Graviton. arm64

    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