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.

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 (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 : 

      LangageWrapperDescription
      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 :

      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 :

      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 :