Actualización de pilas directamente - AWS CloudFormation

Actualización de pilas directamente

Cuando desee implementar rápidamente actualizaciones directas en la pila, realice una actualización directa. Con una actualización directa, envía una plantilla o parámetros de entrada que especifican actualizaciones de los recursos en la pila y AWS CloudFormation los implementa inmediatamente. Si desea utilizar una plantilla para las actualizaciones, puede modificar la plantilla actual y almacenarla localmente o en un bucket de Amazon S3.

Para las propiedades de recursos que no admiten actualizaciones, debe mantener los valores actuales. Para obtener una vista previa de los cambios que AWS CloudFormation realizará en la pila antes de actualizarlo, utilice conjuntos de cambios. Para obtener más información, consulte Actualización de pilas con conjuntos de cambios.

nota

Al actualizar una pila, AWS CloudFormation podría interrumpir los recursos o sustituir los recursos actualizados, en función de las propiedades que actualice. Para obtener más información acerca de las conductas de actualización, consulte Comportamientos de actualización de los recursos de la pila.

Para actualizar una pila de AWS CloudFormation (consola)
  1. Inicie sesión en la AWS Management Console y abra la consola de AWS CloudFormation en https://console.aws.amazon.com/cloudformation.

  2. En la consola de AWS CloudFormation, en la lista de pilas, seleccione la pila en ejecución que desea actualizar.

  3. En el panel de detalles de la pila, elija Update (Actualizar).

  4. Si no ha modificado la plantilla de pilas, seleccione Use current template (Usar plantilla actual) y, a continuación, elija Next (Siguiente).

    Si ha modificado la plantilla, seleccione Replace current template (Sustituir plantilla actual) y especifique la ubicación de la plantilla actualizada en la sección Specify template (Especificar plantilla):

    • Para una plantilla almacenada localmente en su equipo, seleccione Upload a template file (Cargar un archivo de plantilla). Elija Choose File (Elegir archivo) para navegar hasta el archivo, selecciónelo y, a continuación, elija Next (Siguiente).

      nota

      Si carga un archivo de plantilla local, AWS CloudFormation lo carga a un bucket de Amazon Simple Storage Service (Amazon S3) en su cuenta de AWS. Si todavía no tiene un bucket de S3 creado con AWS CloudFormation, crea un bucket único para cada región en la que carga un archivo de plantilla. Si ya tiene un bucket de S3 creado con AWS CloudFormation en su cuenta de AWS, AWS CloudFormation agrega la plantilla a dicho bucket.

      Consideraciones que deben tenerse en cuenta acerca de los buckets de S3 creados con AWS CloudFormation

      • Cualquiera con permisos de Amazon S3 en su cuenta de AWS puede acceder a los buckets.

      • AWS CloudFormation crea los buckets con el cifrado del lado del servidor habilitado de forma predeterminada; por lo tanto, cifra todos los objetos almacenados en el bucket.

        Puede administrar directamente las opciones de cifrado para los buckets creados con AWS CloudFormation; por ejemplo, mediante la consola de Amazon S3 en https://console.aws.amazon.com/s3/ o la AWS CLI. Para obtener más información, consulte Amazon S3 default encryption for S3 buckets (Cifrado predeterminado de Amazon S3 para buckets de S3) en la Guía del usuario de Amazon Simple Storage Service.

      • Puede utilizar su propio bucket y administrar sus permisos cargando manualmente las plantillas a Amazon S3. Al crear o actualizar una pila, especifique la URL de Amazon S3 de un archivo de plantilla.

    • En el caso de una plantilla almacenada en un bucket de Amazon S3, elija Amazon S3 URL (URL de Amazon S3). Escriba o pegue la URL de la plantilla y luego elija Next (Siguiente).

      Si tiene una plantilla en un bucket compatible con el control de versiones, puede especificar una versión concreta de la plantilla, como https://s3.amazonaws.com/templates/myTemplate.template?versionId=123ab1cdeKdOW5IH4GAcYbEngcpTJTDW. Para obtener más información, consulte Managing objects in a versioning-enabled bucket (Administración de objetos en un bucket con control de versiones habilitado) en la Guía del usuario de la consola de Amazon Simple Storage Service.

  5. Si la plantilla contiene parámetros, en la página Specify stack details (Especificar detalles de pila) escriba o modifique los valores de los parámetros y, a continuación, elija Next (Siguiente).

    AWS CloudFormation rellena cada parámetro con el valor que actualmente está establecido en la pila, a excepción de los parámetros declarados con el atributo NoEcho; no obstante, puede seguir utilizando los valores actuales si elige Use existing value (Usar valor existente).

    Para obtener más información sobre cómo usar NoEcho para enmascarar información confidencial, además de cómo usar parámetros dinámicos a fin de administrar secretos, consulte la práctica recomendada No incluya credenciales en sus plantillas.

    
          Un campo de parámetro con la opción de usar el valor existente seleccionada.
  6. En la página Configure stack options (Configurar opciones de pila), puede actualizar las etiquetas y los permisos aplicados a la pila. También puede modificar las opciones avanzadas como la política de la pila o la configuración de restauración, así como actualizar el tema de notificación de Amazon SNS.

    Para obtener más información sobre estas opciones, consulte Configuración de las opciones de pila de AWS CloudFormation.

    Seleccione Siguiente.

  7. Revise la información de la pila y los cambios que ha enviado.

    Compruebe que ha enviado la información correcta, como la URL de la plantilla o los valores de los parámetros correctos. Si la plantilla contiene recursos de IAM, seleccione I acknowledge that this template may create IAM resources (Confirmo que esta plantilla pueda crear recursos de IAM) para especificar que desea utilizar recursos de IAM en la plantilla. Para obtener más información sobre recursos de IAM en plantillas, consulte Control del acceso con AWS Identity and Access Management.

    En la sección Preview your changes (Vista previa de los cambios), compruebe que AWS CloudFormation realice todos los cambios que espera. Por ejemplo, puede comprar que AWS CloudFormation añada, elimine y modifique los recursos que pretendía añadir, eliminar o modificar. AWS CloudFormation genera esta vista previa mediante la creación de un conjunto de cambios para la pila. Para obtener más información, consulte Actualización de pilas con conjuntos de cambios.

  8. Cuando esté satisfecho con los cambios, elija Update stack (Actualizar pila).

    nota

    En este momento, también tiene la opción de ver el conjunto de cambios para revisar las actualizaciones propuestas más detenidamente. Para hacerlo, elija View change set (Ver conjunto de cambios) en lugar de Update stack (Actualizar pila). CloudFormation muestra el conjunto de cambios generados en función de sus actualizaciones. Cuando esté listo para actualizar la pila, elija Execute (Ejecutar).

    CloudFormation muestra la página de detalles de la pila, con el panel Events (Eventos) seleccionado. La pila ahora tiene un estado UPDATE_IN_PROGRESS (ACTUALIZACIÓN_EN_CURSO). Una vez CloudFormation que haya terminado correctamente de actualizar la pila, establece el estado de la pila en UPDATE_COMPLETE.

    Si se produce un error en la actualización de la pila, CloudFormation restaura automáticamente los cambios y establece el estado de la pila en UPDATE_ROLLBACK_COMPLETE (RESTAURACIÓN_ACTUALIZACIÓN_COMPLETA).

    nota

    Puede cancelar una actualización mientras se está en el estado UPDATE_IN_PROGRESS. Para obtener más información, consulte Cancelación de una actualización de pila.

Para actualizar una pila de AWS CloudFormation (AWS CLI)
  • Utilice el comando aws cloudformation update-stack para actualizar directamente una pila. Debe especificar la pila, los valores de los parámetros y las capacidades que desea actualizar y, si desea utilizar una plantilla actualizada, el nombre de la plantilla.

    En el siguiente ejemplo, se actualiza la plantilla y los parámetros de entrada de la pila mystack:

    $ aws cloudformation update-stack --stack-name mystack \ --template-url https://s3.amazonaws.com/sample/updated.template \ --parameters ParameterKey=VPCID,ParameterValue=SampleVPCID ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,SampleSubnetID2

    En el siguiente ejemplo, solo se actualizan los valores del parámetro SubnetIDs de la pila mystack:

    $ aws cloudformation update-stack --stack-name mystack \ --use-previous-template \ --parameters ParameterKey=VPCID,UsePreviousValue=true ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,UpdatedSampleSubnetID2

    El siguiente ejemplo añade dos temas de notificación de pila a la pila mystack:

    $ aws cloudformation update-stack --stack-name mystack \ --use-previous-template --notification-arns \ "arn:aws:sns:us-east-1:12345678912:mytopic" "arn:aws:sns:us-east-1:12345678912:mytopic2"

    En el siguiente ejemplo, se eliminan todos los temas de notificación de la pila mystack:

    $ aws cloudformation update-stack --stack-name mystack \ --use-previous-template --notification-arns []