amazon web services - parts - AWS:: CloudFormation:: Init ¿cómo funciona?
cloudformation elements (1)
La creación de un recurso AWS :: CloudFormation :: Init como metadatos para una instancia de EC2 no hace que la instancia haga nada por sí misma.
Para que la instancia realice realmente todas las operaciones especificadas en ese recurso, debe ejecutar la herramienta de línea de comandos cfn-init
. En las AMI de Amazon EC2, ese comando ya está instalado en /opt/aws/bin/cfn-init
. El comando toma varias opciones, incluido el nombre del recurso AWS :: CloudFormation :: Init, el nombre del recurso del servidor EC2 y la región en la que se está ejecutando. También debe proporcionar las credenciales de seguridad de AWS.
Si desea que esto se ejecute automáticamente cuando cree una nueva instancia (seguro que sí) tendrá que usar UserData de la instancia de EC2 para crear un script de shell en el que la instancia se ejecutará en el primer arranque y colocar el cfn-init
comando en ella
He escrito sobre este tema específico en mi blog recientemente.
Podemos usar AWS::CloudFormation::Init para ejecutar comandos y cargar archivos después de iniciar una instancia. Pero, ¿alguien sabe cuáles son los aspectos internos de esta operación (desde el lado de Amazon)?
Cuando pasamos una plantilla, ¿en qué punto se transmiten los archivos o comandos a la máquina virtual? ¿Es esta una característica de Xen (a través de una tubería especial) o a través de la red?
"Resources": {
"MyInstance": {
"Type": "AWS::EC2::Instance",
"Metadata" : {
"AWS::CloudFormation::Init" : {
"config" : {
"packages" : {
:
},
"sources" : {
:
},
"commands" : {
:
},
"files" : {
:
},
"services" : {
:
},
"users" : {
:
},
"groups" : {
:
}
}
}
},
"Properties": {
:
}
}
}