Todos los productos
Search
Centro de documentos

Elastic Compute Service:Initialize an instance by using user data

Última actualización: Oct 10, 2026

Si necesita aplicar configuraciones del sistema o ejecutar scripts específicos de su negocio al crear una instancia de ECS (por ejemplo, preinstalar software como Nginx y Docker o modificar el nombre de host), utilice el parámetro User Data.

Descripción general de los datos personalizados

Los datos de usuario consisten en scripts, instrucciones o archivos de configuración que se cargan en una instancia para ejecutar tareas de inicialización o configuración. Por ejemplo, cuando una instancia inicia por primera vez, puede ejecutar automáticamente scripts de inicio de servicios, instalar software o mostrar registros. Los datos de usuario se ejecutan automáticamente durante el primer inicio de la instancia. Algunos formatos también admiten la ejecución cada vez que inicia una instancia de Linux. Para obtener más información, consulte User data formats and running frequencies.

Límites

  • La instancia debe estar en una red privada virtual (VPC).

  • La instancia debe usar una imagen pública o una imagen personalizada creada a partir de una imagen pública. El sistema operativo debe ser uno de los siguientes:

    • Alibaba Cloud Linux, CentOS, CentOS Stream, Ubuntu, SUSE Linux Enterprise Server, Red Hat Enterprise Linux, OpenSUSE, Debian, AlmaLinux, Rocky Linux o Fedora

    • Windows Server 2008 R2 o posterior

  • Entre los tipos de instancia retirados, solo las instancias optimizadas para E/S admiten la función de datos de usuario. Esta función no es compatible con las instancias no optimizadas para E/S. Para obtener más información, consulte Retired instance types.

Usar datos de usuario al crear una instancia

1. Preparar los datos personalizados

Durante la inicialización de la instancia, una herramienta de inicialización lee los datos de usuario proporcionados para aplicar las configuraciones personalizadas. Las instancias de Linux y Windows utilizan herramientas distintas, las cuales admiten varios formatos de datos de usuario. En las siguientes secciones se detallan los formatos de datos y sus frecuencias de ejecución.

Formato de los datos personalizados y frecuencia de ejecución

Instancias de Linux

Las instancias de Linux usan el componente cloud-init para ejecutar las acciones de inicialización. Las configuraciones que se aplican varían según si la instancia inicia por primera vez. Algunas instancias con versiones anteriores de imágenes también recurren a Upstart Job para la inicialización.

La herramienta cloud-init admite tipos de datos de usuario que configuran directamente las instancias, como los formatos User-Data y Cloud Config. También es compatible con otros formatos; los más comunes son los archivos include y el contenido comprimido con Gzip. Además de cloud-init, algunas instancias con versiones anteriores de imágenes emplean Upstart Job para inicializarse.

Nota
  • Para obtener más información sobre los formatos de datos de usuario, consulte User-Data Formats en la documentación de cloud-init.

  • Si el tamaño de su script User-Data, de los datos Cloud Config o del archivo Include supera los 32 KB, seleccione Gzip compressed content como tipo de datos.

  • Si una tarea debe ejecutarse cada vez que inicie la instancia, seleccione Cloud Config data o Upstart Job como tipo de datos.

Scripts User-Data

  • Descripción general

    Cuando se pasa un script User-Data a una instancia de Linux, este se ejecuta como un script de shell. El script se ejecuta una sola vez durante el primer inicio de la instancia.

  • Frecuencia de ejecución

    • Iniciar la instancia: se ejecuta una sola vez durante el primer inicio. No vuelve a ejecutarse al reiniciar la instancia.

    • Reemplazar el sistema operativo: se ejecuta automáticamente.

    • Reinicializar el disco del sistema: se ejecuta automáticamente.

    Importante

    El script no se ejecuta automáticamente en los siguientes casos:

    • Si reemplaza el sistema operativo con una imagen personalizada creada a partir de la instancia de origen, el sistema determina que la instancia no está iniciando por primera vez y omite la ejecución del script.

    • Si crea una instancia con una imagen personalizada, el disco del sistema ya contiene datos. Al inicializarlo, el sistema determina que la instancia no está iniciando por primera vez y no ejecuta el script.

  • Formato

    La primera línea debe comenzar con un shebang (#!).

  • Ejemplos de scripts User-Data

    • Ejecutar un script personalizado

      #!/bin/sh
      echo "Hello World. The time is now $(date -R)!" | tee /root/userdata_test.txt

      Este script User-Data de ejemplo escribe la hora del sistema en el archivo userdata_test.txt durante el primer inicio de la instancia.

    • Personalizar orígenes de software, configuraciones de DNS y servicios de sincronización de hora

      Al crear una instancia, use un script User-Data para personalizar los orígenes de software, las configuraciones de DNS y los servicios de sincronización de hora. El siguiente ejemplo utiliza CentOS Stream 9. Sustituya las configuraciones por las adecuadas para su sistema operativo.

      Importante

      El sistema configura automáticamente el repositorio yum predeterminado, el servicio Network Time Protocol (NTP) y el servicio DNS cuando inicia la instancia. Puede usar los datos de usuario para cambiar estos elementos. Tenga en cuenta lo siguiente:

      • Si personaliza el repositorio yum, Alibaba Cloud deja de brindar soporte técnico para dicho repositorio.

      • Si personaliza el servicio NTP, Alibaba Cloud deja de proporcionar servicios de sincronización de hora.

      #!/bin/sh
      # Modify DNS
      echo "nameserver 114.114.114.114" | tee /etc/resolv.conf
      # Modify yum repo and update
      cp /etc/yum.repos.d/centos.repo /etc/yum.repos.d/centos.repo.bak
      cp /etc/yum.repos.d/centos-addons.repo /etc/yum.repos.d/centos-addons.repo.bak
      sed -i "s@http://mirrors.cloud.aliyuncs.com/centos-stream/@https://mirror.stream.centos.org/@g" /etc/yum.repos.d/centos.repo
      sed -i "s@http://mirrors.cloud.aliyuncs.com/centos-stream/@https://mirror.stream.centos.org/@g" /etc/yum.repos.d/centos-addons.repo
      yum update -y
      # Modify NTP Server
      echo "server ntp1.aliyun.com" | tee /etc/ntp.conf
      systemctl restart ntpd.service
      Nota

      En el código anterior, 114.114.114.114 es la dirección del servidor DNS, https://mirror.stream.centos.org es la dirección del repositorio yum para CentOS Stream y server ntp1.aliyun.com es la dirección del servidor NTP de Alibaba Cloud. Modifíquelas según sus necesidades.

      También puede usar datos Cloud Config para cambiar el repositorio yum. Sin embargo, este método es menos flexible y no se adapta a los casos en los que Alibaba Cloud ya configuró previamente algunos repositorios yum. Se recomienda utilizar un script User-Data.

    • Personalizar la cuenta de administrador

      De forma predeterminada, las instancias de Linux usan el usuario root como administrador. Con los datos de usuario, puede especificar otro usuario para este rol.

      #!/bin/sh
      useradd test-user
      echo "test-user   ALL=(ALL)        NOPASSWD:ALL" | tee -a /etc/sudoers
      mkdir /home/test-user/.ssh
      touch /home/test-user/.ssh/authorized_keys
      echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCRnnUveAis****" | tee -a /home/test-user/.ssh/authorized_keys
      Nota

      Sustituya la clave pública de ejemplo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCRnnUveAis por su clave pública real.

Nota

Si ocurre un problema durante la ejecución de un script User-Data, ejecute el comando común de Cloud Assistant ACS-ECS-UserData-Check-for-linux.sh para obtener los registros de error. Si se devuelve un mensaje de error, la ejecución del script terminó con errores. Si no hay mensajes de error, el script se ejecutó correctamente y deberá investigar otras posibles causas. Para obtener más información sobre los comandos comunes de Cloud Assistant, consulte View and run public commands.

Datos Cloud Config

  • Descripción general

    Cloud-init utiliza una serie de módulos funcionales para realizar tareas como instalar paquetes de software y configurar redes. Los datos Cloud Config determinan qué módulos se ejecutan y cuál es su lógica. Estos datos pueden obtenerse de los datos del proveedor, de los datos de usuario o de los parámetros del kernel. Al crear una instancia de ECS, personalice los datos Cloud Config para indicar qué módulos y tareas deben ejecutarse. Cuando la instancia inicia, cloud-init lee y analiza sintácticamente los datos Cloud Config, ejecuta los módulos correspondientes y aplica las tareas de configuración especificadas para configurar y desplegar automáticamente la instancia de ECS.

  • Frecuencia de ejecución

    • Iniciar la instancia: la ejecución de las tareas en los datos Cloud Config depende de la configuración de frecuencia de sus módulos correspondientes. Para obtener más información sobre los módulos, consulte Modules.

      • Frecuencia once-per-instance: se ejecuta únicamente durante el primer inicio de la instancia. Por ejemplo, si configura módulos como Apt y Set Passwords, la frecuencia es once-per-instance y no vuelven a ejecutarse al reiniciar la instancia.

      • Frecuencia always: se ejecuta cada vez que inicia la instancia. Por ejemplo, si configura módulos como Bootcmd y Update Etc Hosts, la frecuencia es always y se ejecutan en cada inicio.

    • Reemplazar el sistema operativo: se ejecuta automáticamente.

    • Reinicializar el disco del sistema: se ejecuta automáticamente.

      Importante

      El script no se ejecuta automáticamente en los siguientes casos:

      • Si reemplaza el sistema operativo con una imagen personalizada creada a partir de la instancia de origen, el sistema determina que la instancia no está iniciando por primera vez y omite la ejecución del script.

      • Si crea una instancia con una imagen personalizada, el disco del sistema ya contiene datos. Al inicializarlo, el sistema determina que la instancia no está iniciando por primera vez y no ejecuta el script.

  • Formato

    • La primera línea debe ser #cloud-config, sin espacios antes.

    • El contenido debe escribirse con sintaxis YAML.

  • Ejemplos de datos Cloud Config

    • Personalizar los orígenes de software de la instancia

      En la sección User Data, introduzca el siguiente contenido para configurar orígenes de software personalizados. Este ejemplo usa una imagen de Ubuntu para crear la instancia. Si utiliza otra imagen, sustituya la configuración por el contenido del módulo correspondiente.

      #cloud-config
      apt:
        preserve_sources_list: false
        disable_suites:
          - $RELEASE-updates
          - backports
          - $RELEASE
          - mysuite
        primary:
          - arches:
              - amd64
              - i386
              - default
            uri: http://us.archive.ubuntu.com/ubuntu
    • Configurar la instalación automática del servicio Nginx

      En la sección User Data, introduzca el siguiente contenido para que la instancia instale automáticamente el servicio Nginx.

      #cloud-config
      packages: 
       - nginx 
      runcmd: 
       - systemctl start nginx.service
    • Configurar un nombre de host personalizado

      En la sección User Data, introduzca el siguiente contenido para establecer un nombre de host personalizado.

      #cloud-config
      hostname: my-instance
      fqdn: my-instance.localdomain
    • Configurar un script personalizado para su ejecución automática

      En la sección User Data, introduzca el siguiente contenido para que un script de shell se ejecute automáticamente cada vez que inicie la instancia.

      #cloud-config
      bootcmd:
      - echo "Hello World. The time is now $(date -R)!" | tee /root/userdata_test.txt

Archivos Include

  • Descripción general

    Un archivo Include contiene enlaces a uno o más scripts User-Data o archivos de datos Cloud Config. Separe varios enlaces con saltos de línea. Cuando la instancia inicia, cloud-init analiza y lee secuencialmente el contenido de cada enlace. Si ocurre un error al leer un enlace, cloud-init detiene la lectura de los enlaces restantes.

    Nota

    Puede usar Object Storage Service (OSS) de Alibaba Cloud para cargar scripts User-Data o datos Cloud Config, obtener los enlaces y definir su periodo de validez. Para obtener más información, consulte Getting Started with the OSS console.

  • Frecuencia de ejecución

    • Iniciar la instancia: la frecuencia de ejecución depende del contenido del enlace. Por ejemplo, si el enlace apunta a un script User-Data, este se ejecuta una sola vez durante el primer inicio de la instancia. Si apunta a datos Cloud Config, sigue la frecuencia de ejecución de dichos datos.

    • Reemplazar el sistema operativo: se ejecuta automáticamente.

    • Reinicializar el disco del sistema: se ejecuta automáticamente.

      Importante

      El script no se ejecuta automáticamente en los siguientes casos:

      • Si reemplaza el sistema operativo con una imagen personalizada creada a partir de la instancia de origen, el sistema determina que la instancia no está iniciando por primera vez y omite la ejecución del script.

      • Si crea una instancia con una imagen personalizada, el disco del sistema ya contiene datos. Al inicializarlo, el sistema determina que la instancia no está iniciando por primera vez y no ejecuta el script.

  • Formato

    La primera línea debe ser #include, sin espacios antes.

  • Ejemplo de archivo Include

    #include
    https://ecs-image-test.oss-cn-hangzhou.aliyuncs.com/userdata/myscript.sh

    Este archivo Include de ejemplo contiene un enlace a un script. Dado que se trata de un script User-Data, se ejecuta una sola vez durante el primer inicio de la instancia.

    Nota

    Si utiliza un archivo Include o contenido comprimido con Gzip, debe usar un servicio de almacenamiento para cargar el script, obtener su enlace y definir el periodo de validez. Se recomienda usar OSS de Alibaba Cloud. Para obtener más información, consulte Getting Started with the OSS console.

Contenido comprimido con Gzip

  • Descripción general

    Si el tamaño de su script User-Data, de los datos Cloud Config o del archivo Include supera los 32 KB, puede usar contenido comprimido con Gzip (en formato .gz). Cree un enlace hacia el contenido comprimido e introdúzcalo en un archivo Include. Cloud-init descomprime automáticamente el contenido Gzip. El resultado de ejecutar el contenido descomprimido es idéntico al de pasar y ejecutar el contenido original directamente.

    Nota

    Puede usar Object Storage Service (OSS) de Alibaba Cloud para cargar scripts User-Data o datos Cloud Config, obtener los enlaces y definir su periodo de validez. Para obtener más información, consulte Getting Started with the OSS console.

  • Frecuencia de ejecución

    • Iniciar la instancia: depende del tipo de script y del tipo de módulo. Por ejemplo, si el enlace al contenido comprimido con Gzip corresponde a un script User-Data, este se ejecuta una sola vez durante el primer inicio de la instancia.

    • Reemplazar el sistema operativo: se ejecuta automáticamente.

    • Reinicializar el disco del sistema: se ejecuta automáticamente.

      Importante

      El script no se ejecuta automáticamente en los siguientes casos:

      • Si reemplaza el sistema operativo con una imagen personalizada creada a partir de la instancia de origen, el sistema determina que la instancia no está iniciando por primera vez y omite la ejecución del script.

      • Si crea una instancia con una imagen personalizada, el disco del sistema ya contiene datos. Al inicializarlo, el sistema determina que la instancia no está iniciando por primera vez y no ejecuta el script.

  • Formato

    La primera línea debe ser #include, sin espacios antes.

  • Ejemplo de contenido comprimido con Gzip

    #include
    https://ecs-image-test.oss-cn-hangzhou.aliyuncs.com/userdata/myscript.gz

    Este ejemplo muestra un archivo Include que contiene un enlace a contenido comprimido con Gzip. Después de leerlo, cloud-init lo descomprime y lo ejecuta automáticamente. Como el contenido Gzip es un script User-Data comprimido, se ejecuta una sola vez durante el primer inicio de la instancia.

Upstart Job

Nota

Para usar Upstart Job, debe instalar el servicio upstart en la instancia. Los sistemas operativos compatibles con el servicio upstart para gestionar el comportamiento de inicio incluyen CentOS 6, Ubuntu 10/12/14 y Debian 6/7.

  • Descripción general

    Upstart es un sistema de inicialización basado en eventos. Un Upstart Job es un archivo de configuración que define cuándo inicia y se detiene un servicio o tarea, así como su forma de ejecución. Por lo general, se ubica en el directorio /etc/init/ con la extensión de archivo .conf.

  • Frecuencia de ejecución

    • Iniciar la instancia: se ejecuta automáticamente cada vez que inicia la instancia.

    • Reemplazar el sistema operativo: se ejecuta automáticamente.

    • Reinicializar el disco del sistema: se ejecuta automáticamente.

      Importante

      El script no se ejecuta automáticamente en los siguientes casos:

      • Si reemplaza el sistema operativo con una imagen personalizada creada a partir de la instancia de origen, el sistema determina que la instancia no está iniciando por primera vez y omite la ejecución del script.

      • Si crea una instancia con una imagen personalizada, el disco del sistema ya contiene datos. Al inicializarlo, el sistema determina que la instancia no está iniciando por primera vez y no ejecuta el script.

  • Formato

    La primera línea debe ser #upstart-job, sin espacios antes.

  • Ejemplo de contenido de Upstart Job

    #upstart-job
    description "upstart test"
    start on runlevel [2345] # Executes at run levels 2, 3, 4, and 5
    stop on runlevel [!2345] # Does not execute at run levels other than 2, 3, 4, and 5
    exec echo "Hello World. The time is now $(date -R)!" | tee /root/output.txt

    Este Upstart Job de ejemplo genera un mensaje con una marca de tiempo cuando el sistema entra en los niveles de ejecución especificados y lo registra en el archivo /root/output.txt. El job deja de ejecutarse cuando el sistema abandona estos niveles de ejecución.

Archivos MIME de varias partes

  • Descripción general

    Un archivo MIME de varias partes transmite distintos tipos de instrucciones. Por ejemplo, puede incluir tanto text/cloud-config (para la configuración de cloud-init) como text/x-shellscript (script de shell) en los datos de usuario. Cloud-init analiza y ejecuta estos tipos de instrucciones por separado.

  • Frecuencia de ejecución

    • Iniciar la instancia: depende del tipo de cada parte del mensaje MIME y de la configuración de cloud-init. Por ejemplo, si el tipo de contenido en el mensaje MIME es un script User-Data, este se ejecuta una sola vez durante el primer inicio de la instancia. Si corresponde a datos Cloud Config, sigue la frecuencia de ejecución de dichos datos.

    • Reemplazar el sistema operativo: se ejecuta automáticamente.

    • Reinicializar el disco del sistema: se ejecuta automáticamente.

      Importante

      El script no se ejecuta automáticamente en los siguientes casos:

      • Si reemplaza el sistema operativo con una imagen personalizada creada a partir de la instancia de origen, el sistema determina que la instancia no está iniciando por primera vez y omite la ejecución del script.

      • Si crea una instancia con una imagen personalizada, el disco del sistema ya contiene datos. Al inicializarlo, el sistema determina que la instancia no está iniciando por primera vez y no ejecuta el script.

  • Formato

    • La primera línea es Content-Type: multipart/mixed; boundary="****". El límite (boundary) se puede personalizar y no debe haber espacios al inicio de la línea.

    • La segunda línea especifica la versión: MIME-Version: 1.0. Este campo suele ser obligatorio en todos los mensajes MIME.

  • Ejemplo de archivo MIME de varias partes

    Content-Type: multipart/mixed; boundary="//"
    MIME-Version: 1.0
    
    --//
    Content-Type: text/cloud-config; charset="us-ascii"
    MIME-Version: 1.0
    Content-Transfer-Encoding: 7bit
    Content-Disposition: attachment; filename="cloud-config.txt"
    
    #cloud-config
    runcmd:
    - [ mkdir, /test-cloudinit ]
    write_files:
    - path: /test-cloudinit/cloud-init.txt
      content: |
        Created by cloud-init
      append: true
    
    --//
    Content-Type: text/x-shellscript; charset="us-ascii"
    MIME-Version: 1.0
    Content-Transfer-Encoding: 7bit
    Content-Disposition: attachment; filename="userdata.txt"
    
    #!/bin/bash
    mkdir test-userscript
    touch /test-userscript/userscript.txt
    echo "Created by bash shell script" >> /test-userscript/userscript.txt
    --//--

    Este archivo MIME de varias partes de ejemplo contiene instrucciones de cloud-init y un script de shell Bash:

    • Las instrucciones de cloud-init crean un archivo (/test-cloudinit/cloud-init.txt) y escriben Created by cloud-init en él.

    • El script de shell Bash crea un archivo (/test-userscript/userscript.txt) y escribe Created by bash shell script en él.

Instancias de Windows

Las instancias de Windows ejecutan los scripts de datos de usuario mediante el plugin Plugin_Main_CloudinitUserData de la herramienta Vminit. Este plugin solo admite la ejecución de scripts durante el primer inicio de la instancia y es compatible con scripts Bat y PowerShell.

Scripts Bat

  • Frecuencia de ejecución

    • Iniciar la instancia: se ejecuta una sola vez durante el primer inicio. No vuelve a ejecutarse al reiniciar la instancia.

    • Reemplazar el sistema operativo: se ejecuta automáticamente.

    • Reinicializar el disco del sistema: se ejecuta automáticamente.

      Importante

      El script no se ejecuta automáticamente en los siguientes casos:

      • Si reemplaza el sistema operativo con una imagen personalizada creada a partir de la instancia de origen, el sistema determina que la instancia no está iniciando por primera vez y omite la ejecución del script.

      • Si crea una instancia con una imagen personalizada, el disco del sistema ya contiene datos. Al inicializarlo, el sistema determina que la instancia no está iniciando por primera vez y no ejecuta el script.

  • Formato

    • La primera línea debe ser [bat], sin espacios antes.

    • Use únicamente caracteres de ancho medio. No introduzca caracteres adicionales.

    • No escriba datos en el directorio C:\Users. De lo contrario, la ejecución de los datos de usuario terminará con errores.

      Nota

      En Windows, solo se puede acceder a C:\Users y a sus subdirectorios después de iniciar sesión. Los datos de usuario se ejecutan durante la inicialización del sistema, antes del inicio de sesión, por lo que las escrituras en C:\Users fallan.

  • Ejemplo de script Bat

    • Ejecutar un script personalizado

      [bat]
      echo "bat test" > C:\userdata_test.txt

      Este script Bat de ejemplo escribe "bat test" en el archivo userdata_test.txt durante el primer inicio de la instancia.

Scripts de PowerShell

  • Frecuencia de ejecución

    • Iniciar la instancia: se ejecuta una sola vez durante el primer inicio. No vuelve a ejecutarse al reiniciar la instancia.

    • Reemplazar el sistema operativo: se ejecuta automáticamente.

    • Reinicializar el disco del sistema: se ejecuta automáticamente.

      Importante

      El script no se ejecuta automáticamente en los siguientes casos:

      • Si reemplaza el sistema operativo con una imagen personalizada creada a partir de la instancia de origen, el sistema determina que la instancia no está iniciando por primera vez y omite la ejecución del script.

      • Si crea una instancia con una imagen personalizada, el disco del sistema ya contiene datos. Al inicializarlo, el sistema determina que la instancia no está iniciando por primera vez y no ejecuta el script.

  • Formato

    • La primera línea debe ser [powershell], sin espacios antes.

    • Use únicamente caracteres de ancho medio. No introduzca caracteres adicionales.

    • No escriba datos en el directorio C:\Users. De lo contrario, la ejecución de los datos de usuario terminará con errores.

      Nota

      En Windows, solo se puede acceder a C:\Users y a sus subdirectorios después de iniciar sesión. Los datos de usuario se ejecutan durante la inicialización del sistema, antes del inicio de sesión, por lo que las escrituras en C:\Users fallan.

  • Ejemplo de script de PowerShell

    • Ejecutar un script personalizado

      [powershell]
      write-output "powershell test" | Out-File C:\userdata_test.txt

      Este script de PowerShell de ejemplo escribe powershell test en el archivo userdata_test.txt durante el primer inicio de la instancia.

2. Usar datos de usuario al crear una instancia

  • Crear una instancia en la consola

    En la página de compra de instancias, expanda la sección Advanced Options. En la sección User Data, introduzca los datos de usuario.

    Importante

    Si sus datos de usuario ya están codificados en Base64, seleccione The user data is Base64-encoded. Los datos originales sin codificar no deben superar los 32 KB. Si proporciona texto sin formato, no seleccione esta opción, ya que el sistema codifica el contenido automáticamente.

  • Crear una instancia mediante una llamada a la API

    Si crea una instancia llamando a una API, especifique el parámetro UserData en la operación RunInstances o CreateInstance.

3. Comprobar que los datos de usuario se ejecutaron correctamente

Compruebe que el script personalizado se ejecutó correctamente según su contenido. A continuación se muestra cómo verificar la ejecución de un script User-Data pasado a una instancia de Linux.

#!/bin/sh
echo "Hello World. The time is now $(date -R)!" | tee /root/userdata_test.txt

En este ejemplo, el script User-Data escribe la hora del sistema en el archivo userdata_test.txt durante el primer inicio de la instancia. Para comprobar la ejecución, ejecute el comando cat userdata_test.txt y revise el resultado. La hora del sistema queda registrada en el archivo userdata_test.txt.

view-result

Nota

Si ocurre un problema durante la ejecución de un script User-Data, ejecute el comando común de Cloud Assistant ACS-ECS-UserData-Check-for-linux.sh para obtener los registros de error. Si se devuelve un mensaje de error, la ejecución del script terminó con errores. Si no hay mensajes de error, el script se ejecutó correctamente y deberá investigar otras posibles causas. Para obtener más información sobre los comandos comunes de Cloud Assistant, consulte View and run public commands.

Otras operaciones

Consultar los datos de usuario de una instancia existente

Una vez que se pasan los datos de usuario a una instancia, puede consultarlos mediante el servicio de metadatos o desde la consola.

Servicio de metadatos (modo de refuerzo de seguridad)

  • Instancia de Linux

    TOKEN=`curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds:180"`
    curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/user-data
  • Instancia de Windows

    $token = Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token-ttl-seconds" = "180"} -Method PUT -Uri http://100.100.100.200/latest/api/token
    Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token" = $token} -Method GET -Uri http://100.100.100.200/latest/user-data
Nota
  • En los ejemplos anteriores, el periodo de validez del token es de 180 segundos. Ajústelo según su escenario.

  • Este ejemplo utiliza el modo de refuerzo de seguridad del servicio de metadatos para recuperar metadatos. Para obtener más información sobre cómo recuperar información del servicio de metadatos, consulte Instance metadata.

  • Para obtener más información sobre los metadatos, consulte Instance metadata.

Consola

  1. Compruebe que la instancia esté en estado Stopped.

    Importante

    Si la instancia es pay-as-you-go y está en una VPC, se recomienda establecer Stop Mode en Standard Mode al detenerla. Si selecciona Economical Mode, se liberan los recursos de cómputo (vCPU y memoria). Como consecuencia, la instancia podría no reiniciarse debido a la falta de disponibilidad. Para obtener más información, consulte Economical mode.

  2. Haga clic en el ID de la instancia de destino para ir a la página de detalles. Haga clic en All Actions para expandir el panel de operaciones. Busque y haga clic en Set User Data. Luego, en la sección User Data, consulte los datos de usuario configurados.

API

Llame a la operación DescribeUserData para consultar los datos de usuario de una instancia de ECS. Para obtener más información, consulte DescribeUserData.

Modificar los datos de usuario de una instancia existente

Para modificar los datos de usuario de una instancia existente, siga estos pasos en la consola.

  1. Compruebe que la instancia esté en estado Stopped.

    Importante

    Si la instancia es pay-as-you-go y está en una VPC, se recomienda establecer Stop Mode en Standard Mode al detenerla. Si selecciona Economical Mode, se liberan los recursos de cómputo (vCPU y memoria). Como consecuencia, la instancia podría no reiniciarse debido a la falta de disponibilidad. Para obtener más información, consulte Economical mode.

  2. Haga clic en el ID de la instancia de destino para ir a la página de detalles. Haga clic en All Actions para expandir el panel de operaciones. Busque y haga clic en Set User Data. Luego, en la sección User Data, introduzca los datos de usuario.

Importante

Después de modificar los datos de usuario de una instancia existente, la ejecución del script tras el inicio de la instancia dependerá del formato y de la frecuencia de ejecución de dichos datos. Defina claramente sus requisitos antes de modificar los datos de usuario. Para obtener más información, consulte User data formats and running frequencies.

Referencias

  • También puede utilizar la función de datos de usuario de Auto Scaling para que varias instancias ECS ejecuten automáticamente los scripts o comandos configurados durante el inicio. Esto garantiza la consistencia en las configuraciones de las instancias ECS y simplifica las operaciones y el mantenimiento (O&M). Para obtener más información, consulte Use instance user data to automatically configure ECS instances.

  • Si necesita que un servicio o script se recupere de inmediato tras una interrupción por una excepción del programa, un reinicio del servidor o un corte de energía, utilice el plugin de Cloud Assistant ecs-tool-servicekeepalive. Para obtener más información, consulte Use a Cloud Assistant plugin to keep services alive.

  • Para más detalles sobre cómo gestionar la inicialización de instancias, consulte Introduction to initialization tools.