Referencia de scripts auxiliares de CloudFormation - AWS CloudFormation

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

https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz

Use el Pip de Python para instalar tar.gz. Para completar la instalación de Ubuntu, debe crear un symlink:

ln -s /<path-to-extracted-tar>/aws-cfn-bootstrap-2.0/init/ubuntu/cfn-hup /etc/init.d/cfn-hup

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:

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 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 scripts cfn-init, cfn-signal o cfn-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 de yum.

  • Si no incluye el comando yum install y utiliza el script cfn-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 de yum.

  • 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.