You can add user data to an instance to more specifically configure it. User data can be of any type of information, like a script or text information. You can also specify tags to give precise instructions about the instance placement or IP addresses.   

User data are data linked to the instance by the user. An instance can access user data at any time but they are taken into account only at launch. However, you can create a script contained in the OMI used to launch an instance to require that user data are taken into account at every stop and start. This enables you to modify them, and then stop and start the instance for the modifications to be applied. For more information about how to modify user data, see Utiliser les metadata et les user data.

To get information about the user data of an instance, type to the following address in the terminal of the instance or in a web browser: 169.254.169.254/latest/user-data.




Adding a Script or Text in User Data

You can add a script or any other text information in the user data of an instance. Your script can contain text variables and can be used to have the instance execute any action you need at boot, for example to automatically download a file from an Object Storage Unit (OSU) bucket.

These user data can be executed every time the instance boots, if the instance contains a script that can do so:

  • In the Free section of the User Data tab in the  dialog box (Expert Mode only) on Cockpit, or in the user-data attribute of the run-instances AWS CLI command:

    • For Linux instances, you need to create a script that fetches and executes the user data. For more information, see Creating an Autonomous Instance.
    • For Windows instances, you can type your script within one of the following wrappers to execute it at boot:

      LanguageWrapperDescription
      Powershell


      # autoexecutepowershellnopasswd
      <your_script>
      # autoexecutepowershellnopasswd 


      Executes the powershell script without init password administrator. The script is launched with the administrator user.
      Powershell


      # autoexecutepowershell
      <your_script>
      # autoexecutepowershell


      Executes the powershell script with init password administrator. The script is launched with the administrator user.
      Vbscript


      # autoexecutevbs
      <your_script>
      # autoexecutevbs


      Executes the vbscript script with init password administrator. The script is launched with the administrator user.


      If the boot script finds one of the above wrappers, it saves the script to a VB or PowerShell file in its /userdata and runs these files when the instance starts.

      You can separate the commands in a script using line breaks to run all the commands you want in the Windows PowerShell command prompt.



Adding Outscale Tags in User Data

You can add Outscale tags in user data to give instructions about the placement of your instances. You can for example place instances in a same server (also called hypervisor) or cluster (a set of hypervisors) to improve network performance, or place them in different clusters to reduce risks.  

You can also add these tags using the classic method. For more information, see Ajouter ou retirer des tags.


  1. If you are using AWS CLI, create a section for all your Outscale tags following this syntax:

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


    - Do not add a blank space at the end of each line.
    - Insert a carriage return at the end of the code. Otherwise, the last line is not read properly.  


     If you are using Cockpit, this section is already created.



  2. Add your tags within this section following the tags.TAG_NAME=TAG_VALUE format. 
    The following tags are available:

    • Tags to specify ins tructions about the placement of an instance: 


      In the following example, instance#1 and instance#2 are placed on the same server, if 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-----
       


      In the following example, instance#3 and instance#4 are placed on different servers, and an error occurs if not 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 to manage IP addresses associated with an instance:

      In the following example, the 111.33.22.100 External IP address is attached and fixed to the instance: 

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


      If the instance is already started, you need to add the following as EC2 tag, before stopping and restarting the instance (no reboot):

      osc.fcu.eip.auto-attach:111.33.22.100





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 Utiliser les metadata et les user data.

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 Object Storage Unit (OSU). 

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

  • Dans l'encadré Free section 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-----
    <Outscale tags>
    -----END OUTSCALE SECTION-----
    
    


    - N'ajoutez pas d'espace à la fin de chaque ligne.

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


    Avec Cockpit, cette section est créée automatiquement.  




  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#1 et l'instance#2 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-----
      

       

      Si l'instance est déjà démarrée, vous devez ajouter le tag EC2 suivant, avant de stopper puis redémarrer l'instance (pas de reboot) :

      osc.fcu.eip.auto-attach:111.33.22.100