Configurer une VM avec les user data et les tags OUTSCALE

Vous pouvez ajouter des user data (données utilisateur) à une machine virtuelle (VM) afin d’y ajouter une configuration plus spécifique ou tout type de données. Vous pouvez ajouter tout type d’information en tant que user data, comme un script ou des données supplémentaires. Vous pouvez également spécifier des tags pour donner des instructions précises quant au placement de la VM ou ses IP.

Les user data sont des données liées à la VM par l’utilisateur lors de sa création. Une VM peut accéder aux user data à tout moment mais celles-ci ne sont prises en compte qu’à sa création. Vous pouvez cependant créer un script contenu dans l’OMI utilisée pour créer la VM qui requiert que les user data soient prises en compte à chaque démarrage de la VM. Cela vous permet de les modifier, puis d’arrêter et démarrer la VM pour que ces modifications soient appliquées. Pour en savoir plus sur la modification des user data, voir Modifier un attribut d’une VM.

Pour obtenir des informations sur les user data d’une VM, tapez l’adresse suivante dans le terminal de la VM ou dans un navigateur web : 169.254.169.254/latest/user-data.

Ajouter un script ou un texte aux user data

Vous pouvez ajouter un script ou des données supplémentaires dans les user data d’une VM. Votre script peut contenir des variables texte et peut permettre que la VM exécute une action de votre choix au démarrage, par exemple télécharger automatiquement un fichier depuis un bucket.

Les user data doivent être encodées en Base64, mais des outils tels que Cockpit ou AWS CLI peuvent se charger de l’encodage pour vous. La taille des user data encodées en Base64 ne doit pas dépasser 500 kibioctets (Kio).

Ces user data peuvent être exécutés à chaque démarrage de la VM, si la VM contient un script adéquat :

  • Dans la boîte de dialogue CRÉER DES VM dans Cockpit v2 (Créer des VM), ou dans l’attribut user-data de la commande AWS CLI run-instances :

    • Pour les VM Linux, vous devez créer un script qui récupère et exécute les user data. Pour en savoir plus, voir Creating an Autonomous VM (en anglais uniquement).

    • Pour les VM Windows, vous pouvez taper un script dans l’un des wrappers suivants pour l’exécuter au démarrage :

      Langage Wrapper Description

      Powershell

      # autoexecutepowershell
      <your_script>
      # autoexecutepowershell

      Exécute le script powershell avec l’initialisation du mot de passe administrateur. Le script est lancé en tant qu’utilisateur administrateur.

      Powershell

      # autoexecutepowershellnopasswd
      <your_script>
      # autoexecutepowershellnopasswd

      Exécute le script powershell sans l’initialisation du mot de passe administrateur. Le script est lancé en tant qu’utilisateur administrateur.

      Avec cette commande, OUTSCALE ne génère pas le mot de passe administrateur de la VM. Elle n’est donc pas accessible en tant qu’administrateur. Si vous souhaitez personnaliser la génération du mot de passe administrateur, vous pouvez le définir dans votre script.

      Vbscript

      # autoexecutevbs
      <your_script>
      # autoexecutevbs

      Exécute le script vbscript avec l’initialisation du mot de passe administrateur. Le script est lancé en tant qu’utilisateur administrateur.

      Si le script de démarrage rencontre un des wrappers ci-dessus, le script est sauvegardé dans un VB ou dans un fichier Powershell dans ses /userdata, et exécute ces fichiers lorsque la VM démarre.

      Vous pouvez séparer les commandes dans un script en utilisant des retours à la ligne, et ainsi exécuter toutes les commandes que vous souhaitez dans un terminal Windows Powershell.

Ajouter un tag OUTSCALE aux user data

Vous pouvez ajouter des tags OUTSCALE dans les user data pour donner des instructions précises quant au placement de vos VM. Vous pouvez par exemple placer les VM sur un même serveur (aussi appelé hyperviseur) ou cluster (un ensemble d’hyperviseurs) pour améliorer les performances réseau, ou les placer sur des clusters différents pour réduire les risques.

Vous pouvez également ajouter ces tags avec la méthode classique. Pour en savoir plus, voir Ajouter ou retirer des tags.

  1. Avec AWS CLI, créez une section pour tous vos tags OUTSCALE en suivant cette syntaxe :

    -----BEGIN OUTSCALE SECTION-----
    <tags>
    -----END OUTSCALE SECTION-----

    Insérez un retour chariot à la fin du code. Sinon, la dernière ligne n’est pas lue correctement.

  2. Ajoutez vos tags dans cette section suivant le format tags.<TAG_NAME>=<TAG_VALUE>.
    Les tags suivants sont disponibles :

    • Tags pour spécifier les instructions à propos du placement de la VM :

      Nom du tag Description Valeur du tag Applicabilité

      osc.fcu.repulse_server

      Place les VM avec la même valeur de tag sur des serveurs différents

      Libre

      • Lors de la création de la VM

      • Après un arrêt/démarrage de la VM

      osc.fcu.attract_server

      Place les VM avec la même valeur de tag sur le même serveur

      osc.fcu.repulse_cluster

      Place les VM avec la même valeur de tag sur des clusters Cisco UCS différents

      osc.fcu.attract_cluster

      Place les VM avec la même valeur de tag sur le même cluster Cisco UCS

      Ces tags peuvent être utilisés en mode strict, ce qui signifie que si les options de placement demandées sont impossibles, une erreur Insufficientcapacity est renvoyée. Si vous n’utilisez pas le mode strict, vos demandes d’options de placement sont contournées en cas d’impossibilité.

      Pour spécifier le mode strict, ajoutez _strict au nom du tag (par exemple, osc.fcu.repulse_server_strict).

      Dans l’exemple suivant, la VM#1 et la VM#2 sont placées sur le même serveur, si possible :

      INSTANCE#1 USER DATA
      -----BEGIN OUTSCALE SECTION-----
      tags.osc.fcu.attract_server=front80
      -----END OUTSCALE SECTION-----
      
      INSTANCE#2 USER DATA
      -----BEGIN OUTSCALE SECTION-----
      tags.osc.fcu.attract_server=front80
      -----END OUTSCALE SECTION-----

      Dans l’exemple suivant, la VM#3 et la VM#4 sont placées sur des serveurs différents, et une erreur est renvoyée si ce n’est pas possible :

      INSTANCE#3 USER DATA
      -----BEGIN OUTSCALE SECTION-----
      tags.osc.fcu.repulse_server_strict=front80
      -----END OUTSCALE SECTION-----
      
      INSTANCE#4 USER DATA
      -----BEGIN OUTSCALE SECTION-----
      tags.osc.fcu.repulse_server_strict=front80
      -----END OUTSCALE SECTION-----
    • Tags pour gérer les IP associées à une VM :

      Nom du tag Description Valeur du tag Applicabilité

      osc.fcu.eip.auto-attach

      Associe automatiquement une IP publique à une VM, qui la conserve ainsi à travers le processus d’arrêt et démarrage

      L’IP publique que vous voulez associer.

      • Lors de la création de la VM

      • Après un arrêt/démarrage de la VM

      private_only

      Empêche l’attribution d’une IP publique à une VM créée dans le Cloud public

      true ou false

      Dans l’exemple suivant, l’IP publique 111.33.22.100 est attachée et fixée à la VM :

      -----BEGIN OUTSCALE SECTION-----
      tags.osc.fcu.eip.auto-attach=111.33.22.100
      -----END OUTSCALE SECTION-----

Utiliser simultanément une section OUTSCALE et une section libre

Par défaut, lorsque vous utilisez les user data, la section OUTSCALE et la section libre ne peuvent pas être utilisées simultanément. Vous pouvez utiliser le filtre filter_private_section pour utiliser à la fois la section OUTSCALE et la section libre.

Pour pouvoir utiliser à la fois la section OUTSCALE et les sections libres, utilisez le filtre suivant :

Nom du filtre Description Valeur du filtre Applicabilité

filter_private_section

Filtre les tags OUTSCALE de la VM afin que vous puissiez utiliser simultanément une section de tags OUTSCALE et une section libre d’user data, dans la même VM.

  • Si true, tous vos tags OUTSCALE prennent effet. Cependant, ils sont définitivement supprimés de la section OUTSCALE à leur application. Les tags ne sont pas visibles lorsque vous décrivez les user data de la VM.

  • Si false ou non défini, vous ne pouvez pas utiliser simultanément une section de tags OUTSCALE et une section libre d’user data.

true ou false

  • Lors de la création de la VM

Ce filtre est disponible uniquement pour l’API OUTSCALE. Il n’est pas compatible avec l’API FCU.

Dans cet exemple, l’IP publique 111.33.22.100 est attachée et fixée à la VM et le filtre dans la section libre est paramétré à true :

-----BEGIN OUTSCALE SECTION-----
tags.osc.fcu.eip.auto-attach=111.33.22.100
filter_private_section=true
-----END OUTSCALE SECTION-----

L’IP publique 111.33.22.100 est attachée et fixée à la VM. Ensuite, le tag est retiré de la section OUTSCALE et ne peut pas être lu dans les user data de la VM.

Pages connexes

AWS™ et Amazon Web Services™ sont des marques de commerce d'Amazon Technologies, Inc. ou de ses affiliées aux États-Unis et/ou dans les autres pays.