2012-03-19 19 views
41

Estamos iniciando instancias y accediendo a los datos de usuario que colocamos. Pero, ¿alguien entiende los aspectos internos de esta operación (desde el lado de Amazon)? Cuando pasamos los datos de usuario, ¿en qué punto se transmiten esos datos a la máquina virtual (esta es una función Xen) y dónde se almacenan?Amazon ec2 user-data, ¿cómo funciona?

Primero pensé que estaba configurado como el env de USER_DATA, pero también podemos pasarlo como un archivo. ¿Dónde está ese archivo almacenado? ¿Es genérico para todas las instancias o varía según AMI?

Esto no es un problema per se, solo quería saber cómo lo hace Amazon.

usuario datos de pantalla: http://d.pr/GZlY

Respuesta

47

El usuario se dispone de datos para la instancia con una simple solicitud HTTP en esta dirección:

http://169.254.169.254/latest/user-data 

Amazon EC2 no pone esto de datos de usuario en la instancia directamente, aunque muchas AMI tienen un código que indica a la instancia que descargue y procese automáticamente los datos del usuario.

Consulte también:

+0

gracias Eric, hice una búsqueda en Google sobre 'lo que es 169.254.169.254' por lo que me dio la dirección URL que estaba buscando. http://docs.amazonwebservices.com/AWSEC2/2007-03-01/DeveloperGuide/AESDG-chapter-instancedata.html – Devrim

+7

Aquí está la última versión de ese documento: http://docs.amazonwebservices.com/AWSEC2/latest/ UserGuide/AESDG-chapter-instancedata.html –

+2

Solo para agregar a esta respuesta, si desea aprovechar los datos del usuario cuando la VM está arrancando, mi equipo y yo usualmente tenemos una lógica de script que vive en/es llamada por/etc /rc.local cuando se usa Linux. – linusthe3rd

1

AWS datos de usuario es el conjunto de comandos/datos que puede proporcionar a una instancia en el momento del lanzamiento. Por ejemplo, si está lanzando una instancia de ec2 y desea tener instalado Docker en el ec2 recién lanzado, entonces puede proporcionar el conjunto de comandos de bash en el campo de datos de usuario de la página de configuración de aws ec2.

USECASE

Here es un bien ejemplo explicado de AWS datos de usuario con video tutorial

1

Un ejemplo fácil para la comprensión de todos: Si desea crear el archivo /tmp/testfile.txt cuando la máquina se inicia, simplemente puede añadir estos dos líneas en el campo User data.

#!/bin/bash 
touch /tmp/testfile.txt 

recuerda poner el #!/bin/bash en la parte superior antes de que sus comandos.

Cuando se ejecuta la instancia (Linux AMI), se puede ver el contenido User data campo al /var/lib/cloud/instance/user-data.txt