

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à.

# NoCloud (`seed.iso`) `cloud-init` configurazione per Amazon Linux 2023 su KVM e VMware
<a name="seed-iso"></a>

 Questa sezione spiega come creare e utilizzare un'`seed.iso`immagine per configurare Amazon Linux 2023 in esecuzione su KVM oppure VMware. Perché KVM e VMware gli ambienti non dispongono di [ Amazon EC2 Instance Meta Data Service (IMDS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service), è richiesto un metodo alternativo per configurare Amazon Linux 2023 e fornire `seed.iso` un'immagine è uno di questi metodi. 

 L'immagine di avvio `seed.iso` include le informazioni di configurazione iniziale necessarie per avviare e configurare la nuova VM, ad esempio la configurazione di rete, il nome host e i dati utente. 

**Nota**  
 L'immagine `seed.iso` include solo le informazioni di configurazione richieste per avviare la VM. Non include invece i file del sistema operativo Amazon Linux 2023. 

 Per generare l'immagine `seed.iso`, sono necessari almeno due file di configurazione, talvolta tre: 

** `meta-data` **  
 Questo file solitamente include il nome host per la macchina virtuale. 

** `user-data` **  
 Questo file configura in genere gli account utente, le relative password, ssh coppie di chiavi e/o meccanismi di accesso. Per impostazione predefinita, il KVM e VMware le immagini di Amazon Linux 2023 creano un account `ec2-user` utente. Puoi usare il file di configurazione `user-data` per impostare la password e/o le chiavi ssh per tale account utente predefinito. 

** `network-config`(opzionale) **  
 Questo file fornisce solitamente una configurazione di rete per la macchina virtuale che va a sostituire quella predefinita. La configurazione predefinita è quella di utilizzare DHCP sulla prima interfaccia di rete disponibile. 

**Creazione dell'immagine disco `seed.iso`**

1. Su un computer Linux o macOS, puoi creare una nuova cartella denominata `seedconfig` ed esplorarne il contenuto.
**Nota**  
 È possibile usare Windows o un altro sistema operativo per completare questi passaggi, ma è necessario trovare uno strumento equivalente a `mkisofs` per completare la creazione dell'immagine `seed.iso`. 

1. Crea il file di configurazione `meta-data`.

   1. Crea un nuovo file denominato `meta-data`.

   1.  Apri il `meta-data` file utilizzando il tuo editor preferito e aggiungi quanto segue, sostituendolo *vm-hostname* con il nome host della macchina virtuale: 

      ```
      #cloud-config
      local-hostname: vm-hostname
      ```

   1. Salva e chiudi il file di configurazione `meta-data`.

1. Crea il file di configurazione `user-data`.

   1. Crea un nuovo file denominato `user-data`.

   1.  Apri il file `user-data` utilizzando l'editor preferito e aggiungi quanto segue, effettuando le opportune sostituzioni: 

      ```
      #cloud-config
      #vim:syntax=yaml
      users:
      # A user by the name 'ec2-user' is created in the image by default.
        - default
        - name: ec2-user
      ssh_authorized_keys:
        - ssh-rsa ssh-key
      # In the above line, replace ssh key with the content of your ssh public key.
      ```

   1.  Facoltativamente, puoi aggiungere altri account utente al `user-data` file di configurazione. 

       Puoi specificare account utente aggiuntivi, definendone i meccanismi di accesso, le password e le coppie di chiavi. Per ulteriori informazioni sulle direttive supportate, consulta la [documentazione della versione upstream di `cloud-init`](https://cloudinit.readthedocs.io/en/22.2/topics/format.html). 

   1. Salva e chiudi il file di configurazione `user-data`.

1. (Facoltativo) Crea il file di configurazione `network-config`.

   1. Crea un nuovo file denominato `network-config`.

   1.  Apri il file `network-config` utilizzando l'editor preferito e aggiungi quanto segue, sostituendo i vari indirizzi IP con quelli appropriati per la configurazione desiderata. 

      ```
      #cloud-config
      version: 2
      ethernets:
        enp1s0:
          addresses:
            - 192.168.122.161/24
          gateway4: 192.168.122.1
          nameservers:
            addresses: 192.168.122.1
      ```
**Nota**  
 `cloud-init`la configurazione di rete fornisce meccanismi di confronto con MAC indirizzo dell'interfaccia invece di specificare il nome dell'interfaccia che può cambiare a seconda della configurazione della macchina virtuale. Queste (e altre) funzionalità `cloud-init` per la configurazione di rete sono descritte più dettagliatamente nella [documentazione della versione 2 della configurazione di rete upstream `cloud-init`](https://cloudinit.readthedocs.io/en/22.2/topics/network-config-format-v2.html). 

   1. Salva e chiudi il file di configurazione `network-config`.

1.  Crea l'immagine disco `seed.iso` utilizzando i file di configurazione `meta-data`, `user-data` e `network-config` opzionale che sono stati creati nei passaggi precedenti. 

    Esegui una delle seguenti operazioni, a seconda del sistema operativo su stai creando l'immagine disco `seed.iso`. 
   +  Sui sistemi Linux, usa uno strumento come **mkisofs** o **genisoimage** per creare il file `seed.iso` completo. Vai alla cartella `seedconfig` ed esegui il comando seguente: 

     ```
     $ mkisofs -output seed.iso -volid cidata -joliet -rock user-data meta-data
     ```
   +  Se usi una `network-config`, includila nell'invocazione di **mkisofs**: 

     ```
     $ mkisofs -output seed.iso -volid cidata -joliet -rock user-data meta-data network-config
     ```
   +  Sui sistemi macOS, puoi usare uno strumento come **hdiutil** per generare il file `seed.iso` completo. Poiché **hdiutil** richiede un nome di percorso anziché un elenco di file, la stessa invocazione può essere utilizzata indipendentemente dal fatto che un file di configurazione `network-config` sia stato creato o meno. 

     ```
     $ hdiutil makehybrid -o seed.iso -hfs -joliet -iso -default-volume-name cidata seedconfig/
     ```

1.  Il `seed.iso` file risultante può ora essere allegato alla tua nuova macchina virtuale Amazon Linux 2023 utilizzando un'unità CD-ROM virtuale da trovare `cloud-init` al primo avvio e applicare la configurazione al sistema. 