

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuración de NoCloud (`seed.iso`) `cloud-init` para Amazon Linux 2023 en KVM y VMware
<a name="seed-iso"></a>

 En esta sección se explica cómo crear y usar una imagen `seed.iso` para configurar Amazon Linux 2023 en KVM o VMware. Como los entornos KVM y VMware no tienen el [Servicio de metadatos de instancias de Amazon EC2 (IMDS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service), se requiere un método alternativo para configurar Amazon Linux 2023, y uno de esos métodos es proporcionar una imagen `seed.iso`. 

 La imagen de arranque `seed.iso` contiene la información de configuración inicial necesaria para arrancar y configurar la nueva máquina virtual, como, por ejemplo, la configuración de red, el nombre de host y los datos de usuario. 

**nota**  
 La imagen `seed.iso` solo contiene la información de configuración necesaria para arrancar la máquina virtual. No contiene los archivos de sistema operativo Amazon Linux 2023. 

 Para generar la imagen `seed.iso`, necesita al menos dos archivos de configuración, a veces tres: 

** `meta-data` **  
 Este archivo normalmente incluye el nombre de host de la máquina virtual. 

** `user-data` **  
 Este archivo normalmente configura las cuentas de usuario, sus contraseñas, pares de claves ssh o mecanismos de acceso. De forma predeterminada, las imágenes de VMware y KVM en Amazon Linux 2023 crean una cuenta de usuario `ec2-user`. Usted puede utilizar el archivo de configuración `user-data` para establecer la contraseña o las claves ssh de esta cuenta de usuario predeterminada. 

** `network-config` (opcional) **  
 Por lo general, este archivo proporciona una configuración de red para la máquina virtual que anulará la configuración predeterminada. La configuración predeterminada utiliza DHCP en la primera interfaz de red disponible. 

**Creación de la imagen `seed.iso` del disco**

1. En un equipo Linux o macOS, cree una nueva carpeta llamada `seedconfig` y acceda a ella.
**nota**  
 Es posible usar Windows u otro sistema operativo para completar estos pasos, pero tendrá que buscar la herramienta equivalente a `mkisofs` para completar la creación de la imagen `seed.iso`. 

1. Cree el archivo de configuración `meta-data`.

   1. Cree un nuevo archivo llamado `meta-data`.

   1.  Abra el archivo `meta-data` con su editor preferido y agregue lo siguiente, reemplazando {{vm-hostname}} con el nombre de host de la máquina virtual: 

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

   1. Guarde y cierre el archivo de configuración `meta-data`.

1. Cree el archivo de configuración `user-data`.

   1. Cree un nuevo archivo llamado `user-data`.

   1.  Abra el archivo `user-data` con su editor preferido y agregue lo siguiente, realizando sustituciones según sea necesario: 

      ```
      #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.  Si lo desea, puede añadir más cuentas de usuario al archivo de configuración `user-data`. 

       También puede crear cuentas de usuario adicionales y especificar sus mecanismos de acceso, contraseñas y pares de claves. Para obtener más información sobre las directivas admitidas, [consulte la documentación de upstream de `cloud-init`](https://cloudinit.readthedocs.io/en/22.2/topics/format.html). 

   1. Guarde y cierre el archivo de configuración `user-data`.

1. (Opcional) Cree el archivo de configuración `network-config`.

   1. Cree un nuevo archivo llamado `network-config`.

   1.  Abra el archivo `network-config` con su editor preferido y agregue lo siguiente, reemplazando las distintas direcciones IP con las apropiadas para su configuración. 

      ```
      #cloud-config
      version: 2
      ethernets:
        enp1s0:
          addresses:
            - {{192.168.122.161/24}}
          gateway4: {{192.168.122.1}}
          nameservers:
            addresses: {{192.168.122.1}}
      ```
**nota**  
 La configuración de red `cloud-init` proporciona mecanismos para hacer coincidir la dirección de la interfaz MAC en lugar de especificar el nombre de la interfaz, que puede cambiar en función de la configuración de la máquina virtual. Esta (y más) características `cloud-init` para la configuración de la red se describen con más detalle en la [documentación upstream de Network Config versión 2 `cloud-init`](https://cloudinit.readthedocs.io/en/22.2/topics/network-config-format-v2.html). 

   1. Guarde y cierre el archivo de configuración `network-config`.

1.  Cree la imagen de disco `seed.iso` con los archivos de configuración `meta-data`, `user-data` y `network-config` opcional creados en los pasos anteriores. 

    Lleve a cabo una de las siguientes acciones, dependiendo del sistema operativo en el que esté creando la imagen de disco `seed.iso`. 
   +  En los sistemas Linux, utilice una herramienta como **mkisofs** o **genisoimage** para crear el archivo completo `seed.iso`. Vaya a la carpeta `seedconfig` y ejecute el comando siguiente: 

     ```
     $ mkisofs -output seed.iso -volid cidata -joliet -rock user-data meta-data
     ```
   +  Si usa un `network-config`, inclúyalo en la invocación de **mkisofs**: 

     ```
     $ mkisofs -output seed.iso -volid cidata -joliet -rock user-data meta-data network-config
     ```
   +  En los sistemas macOS, puede utilizar una herramienta como **hdiutil** para generar el archivo `seed.iso` terminado. Como **hdiutil** toma un nombre de ruta en lugar de una lista de archivos, se puede usar la misma invocación independientemente de si se ha creado o no un archivo de configuración `network-config`. 

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

1.  El archivo `seed.iso` resultante ahora se puede adjuntar a su nueva máquina virtual Amazon Linux 2023 a través de una unidad de CD-ROM virtual para que `cloud-init` los encuentre en el primer arranque y aplique la configuración al sistema. 