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.
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.
ImportanteEl 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.txtEste 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.
ImportanteEl 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.serviceNotaEn el código anterior,
114.114.114.114es la dirección del servidor DNS,https://mirror.stream.centos.orges la dirección del repositorio yum para CentOS Stream yserver ntp1.aliyun.comes 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_keysNotaSustituya la clave pública de ejemplo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCRnnUveAis por su clave pública real.
-
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.
ImportanteEl 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.
NotaPuede 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.
ImportanteEl 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.shEste 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.
NotaSi 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.NotaPuede 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.
ImportanteEl 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.gzEste 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
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.
ImportanteEl 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.txtEste 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) comotext/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.
ImportanteEl 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 escribenCreated by cloud-initen él.El script de shell Bash crea un archivo (
/test-userscript/userscript.txt) y escribeCreated by bash shell scripten é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.
ImportanteEl 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.NotaEn Windows, solo se puede acceder a
C:\Usersy 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 enC:\Usersfallan.
-
Ejemplo de script Bat
-
Ejecutar un script personalizado
[bat] echo "bat test" > C:\userdata_test.txtEste 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.
ImportanteEl 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.NotaEn Windows, solo se puede acceder a
C:\Usersy 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 enC:\Usersfallan.
-
Ejemplo de script de PowerShell
-
Ejecutar un script personalizado
[powershell] write-output "powershell test" | Out-File C:\userdata_test.txtEste script de PowerShell de ejemplo escribe
powershell testen 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.
ImportanteSi 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
UserDataen 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.

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
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
-
Compruebe que la instancia esté en estado Stopped.
ImportanteSi 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.
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 . 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.
-
Compruebe que la instancia esté en estado Stopped.
ImportanteSi 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.
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 . Luego, en la sección User Data, introduzca los datos de usuario.
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.