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-compute e nitro-tpm-attest) nell’immagine creata nella directory /usr/bin/. Questo garantisce che gli strumenti siano preinstallati sulle istanze avviate dall’AMI.

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

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

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

Per creare la descrizione dell’immagine di esempio di Amazon Linux 2023 utilizzando 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, verifica di fornire almeno 12 GB di spazio di archiviazione.

  2. Installare le dipendenze richieste. Il seguente comando 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 snapshot di Amazon EBS da dati di immagini non elaborati. Userai questa utilità per creare uno snapshot 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 dell’immagine di esempio.

    sudo dnf install kiwi-image-descriptions-examples

    I file di descrizione dell’immagine 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 utilizzando il comando system build KIWI NG. Il seguente comando crea un file di immagine non elaborato del disco nella directory ./image.

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

    Per ulteriori informazioni, consulta la documentazione relativa alla compilazione del sistema kiwi-ng.

  6. Ottieni le misure di riferimento per l’AMI. Le misurazioni vengono generate dall’utilità nitro-tpm-pcr-computedurante la creazione dell’immagine nel passaggio precedente. Puoi 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", "PCR12": "PCR12_measurement" } }
  7. Utilizza l’utilità coldsnap per caricare l’immagine grezza del disco creata da KIWI NG su uno snapshot EBS. Questo comando restituisce l’ID dello snapshot. 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 lo snapshot del passaggio precedente. Per --architecture, specifica x86_64 per Intel o arm64 per Graviton.

    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