Configurer une instance avec les user data et les tags OUTSCALE

Vous pouvez ajouter des user data à une instance 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 l’instance ou ses adresses IP.

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

Pour obtenir des informations sur les user data d’une instance, tapez l’adresse suivante dans le terminal de l’instance 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 instance. Votre script peut contenir des variables texte et peut permettre que l’instance 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 l’instance, si l’instance contient un script adéquat :

  • Dans le champ Section libre de l’onglet User data de la boîte de dialogue CRÉER UNE INSTANCE (Mode expert uniquement) dans Cockpit, ou dans l’attribut user-data de la commande AWS CLI run-instances :

    • Pour les instances 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 Instance (en anglais uniquement).

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

      Langage Wrapper Description

      Powershell

      # autoexecutepowershellnopasswd
      <your_script>
      # autoexecutepowershellnopasswd

      Exécute le script powershell sans init password administrator. Le script est lancé en tant qu’utilisateur administrateur.

      Powershell

      # autoexecutepowershell
      <your_script>
      # autoexecutepowershell

      Exécute le script powershell script avec init password administrator. Le script est lancé en tant qu’utilisateur administrateur.

      Vbscript

      # autoexecutevbs
      <your_script>
      # autoexecutevbs

      Exécute le script vbscript avec init password administrator. 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 l’instance 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 instances. Vous pouvez par exemple placer les instances 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 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 l’instance :

      Nom du tag Description Valeur du tag Applicabilité

      osc.fcu.repulse_server

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

      Libre

      • Au lancement de l’instance

      • Après un arrêt/démarrage de l’instance

      osc.fcu.attract_server

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

      osc.fcu.repulse_cluster

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

      osc.fcu.attract_cluster

      Place les instances 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, l’instance#1 et l’instance#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, l’instance#3 et l’instance#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 adresses IP associées à une instance :

      Nom du tag Description Valeur du tag Applicabilité

      osc.fcu.eip.auto-attach

      Associe automatiquement une adresse IP externe (EIP) à une instance, qui la conserve ainsi à travers le processus d’arrêt et démarrage

      L’EIP que vous voulez associer.

      Pour en savoir plus, voir À propos des EIP > Association des EIP.

      • Au lancement de l’instance

      • Après un arrêt/démarrage de l’instance

      private_only

      Empêche l’attribution d’une adresse IP publique à une instance lancée dans le Cloud public

      true ou false

      Dans l’exemple suivant, l’External IP 111.33.22.100 est attachée et fixée à l’instance :

      -----BEGIN OUTSCALE SECTION-----
      tags.osc.fcu.eip.auto-attach=111.33.22.100
      -----END OUTSCALE SECTION-----
    • Tag pour pouvoir utiliser simultanément une section OUTSCALE et une section libre :

      Nom du tag Description Valeur du tag Applicabilité

      filter_private_section

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

      Si true, tous vos tags OUTSCALE prennent effet, mais ne sont pas visibles lorsque vous décrivez les user data de l’instance.

      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

      • Au lancement de l’instance

      • Après un arrêt/démarrage de l’instance

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

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.