Referencia de scripts auxiliares de CloudFormation
AWS CloudFormation proporciona los siguientes scripts auxiliares de Python que puede usar para instalar software e iniciar servicios en una instancia de Amazon EC2 que cree como parte de la pila:
-
cfn-init: se utiliza para recuperar e interpretar los metadatos de los recursos, instalar paquetes, crear archivos e iniciar servicios.
-
cfn-signal: se utiliza para señalizar con CreationPolicy o WaitCondition, de modo que se puedan sincronizar otros recursos de la pila cuando esté listo el recurso o la aplicación de requisitos previos.
-
cfn-get-metadata: se utiliza para recuperar los metadatos de un recurso o de la ruta a una clave específica.
-
cfn-hup: se utiliza para comprobar si hay actualizaciones de metadatos y ejecutar enlaces personalizados cuando se detectan los cambios.
Los scripts se llaman directamente desde la plantilla. Los scripts funcionan junto con los metadatos de los recursos que están definidos en la misma plantilla. Los scripts se ejecutan en la instancia Amazon EC2 durante el proceso de creación de la pila.
nota
Los scripts no se ejecutan de forma predeterminada. Debe incluir llamadas en la plantilla para ejecutar scripts auxiliares específicos.
Imágenes de AMI de Amazon Linux
Los scripts auxiliares de CloudFormation están preinstalados en las imágenes de AMI de Amazon Linux que tienen instalados scripts de arranque.
-
En la última versión de AMI de Amazon Linux, los scripts están instalados en
/opt/aws/bin
. -
En versiones anteriores de AMI de Amazon Linux, el paquete aws-cfn-bootstrap que contiene los scripts se encuentra en el repositorio Yum.
nota
Los scripts auxiliares se preinstalaron en las últimas versiones de la AMI de Amazon Linux y no en las AMI optimizadas, como la imagen optimizada de ECS que usa Amazon Linux como base.
Descarga de paquetes para otras plataformas
Para las distribuciones de Linux/Unix que no sean imágenes de AMI de Amazon Linux y para Microsoft Windows (2008 o posterior), puede descargar el paquete aws-cfn-bootstrap.
nota
Las versiones 2.0–1 y superiores de los scripts auxiliares son compatibles con Python 3.4 y superior. Si necesita scripts auxiliares que sean compatibles con una versión anterior de Python, consulte Historial de versiones de scripts auxiliares de CloudFormation 1.4.
Formato de archivo | Descargar URL |
---|---|
TAR.GZ |
Use el Pip de Python para instalar tar.gz. Para completar la instalación de Ubuntu, debe crear un symlink:
|
ZIP |
https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.zip |
EXE |
Windows de 32 bits: https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.exe Windows de 64 bits: https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-win64-latest.exe |
Permisos para los scripts auxiliares
De forma predeterminada, los scripts auxiliares no requieren credenciales, por lo que no es necesario utilizar las opciones --access-key
, --secret-key
, --role
ni --credential-file
. Sin embargo, si no se especifican credenciales, CloudFormation comprueba la pertenencia a la pila y limita el ámbito de la llamada a la pila al que pertenece a la instancia.
Si decide especificar una opción, le recomendamos que solo especifique una de las siguientes:
-
--role
-
--credential-file
-
--access-key
junto con las--secret-key
Si especifica una opción, tenga en cuenta los permisos que requieren los distintos scripts auxiliares:
-
cfn-signal
requierecloudformation:SignalResource
-
El resto de los scripts auxiliares requieren
cloudformation:DescribeStackResource
Para obtener más información sobre el uso de claves de contexto de condición y acciones específicas de CloudFormation en las políticas de IAM, consulte Control del acceso a CloudFormation con AWS Identity and Access Management.
Uso de la versión más reciente
Los scripts auxiliares se actualizan periódicamente. Si utiliza los scripts auxiliares, asegúrese de que las instancias que lance utilicen la versión más reciente de los scripts:
-
Incluya el siguiente comando en la propiedad
UserData
de la plantilla antes de llamar a los scripts. Este comando garantiza que obtiene la última versión:yum install -y aws-cfn-bootstrap
-
Si no incluye el comando
yum install
y utiliza los scriptscfn-init
,cfn-signal
ocfn-get-metadata
, tendrá que actualizar manualmente los scripts de cada instancia Linux Amazon EC2 mediante este comando:sudo yum install -y aws-cfn-bootstrap
nota
La ejecución de
sudo yum install -y aws-cfn-bootstrap
instala los scripts auxiliares desde el repositorio deyum
. -
Si no incluye el comando
yum install
y utiliza el scriptcfn-hup
, tendrá que actualizar manualmente el script de cada instancia Linux Amazon EC2 mediante estos comandos:sudo yum install -y aws-cfn-bootstrap
sudo /sbin/service cfn-hup restart
nota
La ejecución de
sudo yum install -y aws-cfn-bootstrap
instala los scripts auxiliares desde el repositorio deyum
. -
Si utiliza el código fuente para los scripts para trabajar con otra versión de Linux o una plataforma diferente, y ha creado su propio almacén de confianza de certificados, también tendrá que mantener el almacén de confianza actualizado.
Para ver el historial de versiones del paquete aws-cfn-bootstrap, consulte Historial de lanzamiento para los scripts auxiliares de AWS CloudFormation.