

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# NoCloud (`seed.iso`) `cloud-init` configuration pour Amazon Linux 2023 sur KVM et VMware
<a name="seed-iso"></a>

 Cette section explique comment créer et utiliser une `seed.iso` image pour configurer Amazon Linux 2023 exécuté sur KVM or VMware. Parce que KVM and VMware les environnements ne disposent pas d'[Amazon EC2 Instance Meta Data Service (IMDS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service), une autre méthode de configuration d'Amazon Linux 2023 est requise, et la fourniture d'une `seed.iso` image est l'une de ces méthodes. 

 L'image de démarrage `seed.iso` inclut les informations de configuration initiale requises pour démarrer votre nouvelle machine virtuelle, telles que la configuration réseau, le nom d'hôte et les données utilisateur. 

**Note**  
 L'image `seed.iso` inclut uniquement les informations de configuration requises pour démarrer la machine virtuelle. Elle n'inclut pas les fichiers de système d'exploitation Amazon Linux 2023. 

 Pour générer l'image `seed.iso`, vous avez besoin de deux fichiers de configuration, parfois trois : 

** `meta-data` **  
 Ce fichier inclut généralement le nom d'hôte de la machine virtuelle. 

** `user-data` **  
 Ce fichier configure généralement les comptes utilisateurs, leurs mots de passe, ssh des paires de clés et/ou des mécanismes d'accès. Par défaut, le KVM et les VMware images Amazon Linux 2023 créent un compte `ec2-user` utilisateur. Vous utilisez le fichier de configuration `user-data` pour définir le mot de passe et/ou les clés ssh pour ce compte d'utilisateur par défaut. 

** `network-config` (facultatif) **  
 Ce fichier fournit généralement une configuration réseau pour la machine virtuelle qui remplacera celle par défaut. La configuration par défaut consiste à utiliser DHCP sur la première interface réseau disponible. 

**Création de l'image de disque `seed.iso`**

1. Sur Linux ou macOS, créez un nouveau dossier appelé `seedconfig` et accédez à celui-ci.
**Note**  
 Il est possible d'utiliser Windows ou un autre système d'exploitation pour effectuer ces étapes, mais vous devrez rechercher l'outil équivalent à `mkisofs` pour terminer la création de l'image `seed.iso`. 

1. Créez le fichier de configuration `meta-data`.

   1. Créez un nouveau fichier nommé `meta-data`.

   1.  Ouvrez le `meta-data` fichier à l'aide de votre éditeur préféré et ajoutez ce qui suit, en le {{vm-hostname}} remplaçant par le nom d'hôte de la machine virtuelle : 

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

   1. Enregistrez et fermez le fichier de configuration `meta-data`.

1. Créez le fichier de configuration `user-data`.

   1. Créez un nouveau fichier nommé `user-data`.

   1.  Ouvrez le fichier `user-data` à l'aide de l'éditeur de votre choix et ajoutez ce qui suit, en effectuant les remplacements nécessaires : 

      ```
      #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.  Vous pouvez éventuellement ajouter d'autres comptes utilisateurs au fichier `user-data` de configuration. 

       De même, vous pouvez créer des comptes d'utilisateur supplémentaires et spécifier leurs mécanismes d'accès, mots de passe et paires de clés. Pour plus d'informations sur les directives prises en charge, consultez la [documentation en amont pour `cloud-init`](https://cloudinit.readthedocs.io/en/22.2/topics/format.html). 

   1. Enregistrez et fermez le fichier de configuration `user-data`.

1. (Facultatif) Créez le fichier de configuration `network-config`.

   1. Créez un nouveau fichier nommé `network-config`.

   1.  Ouvrez le fichier `network-config` à l'aide de l'éditeur de votre choix et ajoutez ce qui suit, en remplaçant les différentes adresses IP par celles qui conviennent à votre configuration. 

      ```
      #cloud-config
      version: 2
      ethernets:
        enp1s0:
          addresses:
            - {{192.168.122.161/24}}
          gateway4: {{192.168.122.1}}
          nameservers:
            addresses: {{192.168.122.1}}
      ```
**Note**  
 `cloud-init`la configuration du réseau fournit des mécanismes permettant de faire face aux MAC adresse de l'interface au lieu de spécifier le nom de l'interface qui peut changer en fonction de la configuration de la machine virtuelle. Ces fonctionnalités `cloud-init` (et bien d'autres) de configuration réseau sont décrites plus en détail dans la [documentation Network Config Version 2 en amont pour `cloud-init`](https://cloudinit.readthedocs.io/en/22.2/topics/network-config-format-v2.html). 

   1. Enregistrez et fermez le fichier de configuration `network-config`.

1.  Créez l'image disque `seed.iso` à l'aide des fichiers de configuration `meta-data`, `user-data` et facultatifs `network-config` lors des étapes précédentes. 

    Selon le système d'exploitation sur lequel vous créez l'image de disque `seed.iso`, procédez comme indiqué ci-après. 
   +  Sur les systèmes Linux, utilisez un outil comme **mkisofs** ou **genisoimage** pour créer le fichier complet `seed.iso`. Accédez au dossier `seedconfig` et exécutez la commande suivante : 

     ```
     $ mkisofs -output seed.iso -volid cidata -joliet -rock user-data meta-data
     ```
   +  Si vous utilisez un `network-config`, incluez-le dans l'invocation de **mkisofs** : 

     ```
     $ mkisofs -output seed.iso -volid cidata -joliet -rock user-data meta-data network-config
     ```
   +  Sur les systèmes macOS, vous pouvez utiliser un outil comme **hdiutil** pour générer le fichier final `seed.iso`. Comme **hdiutil** utilise un nom de chemin plutôt qu'une liste de fichiers, la même invocation peut être utilisée, qu'un fichier de configuration `network-config` ait été créé ou non. 

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

1.  Le `seed.iso` fichier obtenu peut désormais être joint à votre nouvelle machine virtuelle Amazon Linux 2023 à l'aide d'un lecteur de CD-ROM virtuel `cloud-init` afin de le retrouver au premier démarrage et d'appliquer la configuration au système. 