

# Monitorizar el progreso de la pila
<a name="monitor-stack-progress"></a>

En esta sección se describe cómo supervisar una implementación de pila que se encuentra actualmente en curso. CloudFormation proporciona una lista cronológica detallada de los eventos de implementación, que muestra el progreso y los problemas encontrados durante la implementación.

**Topics**
+ [Visualización de eventos de pilas](view-stack-events.md)
+ [Visualización de eventos de la pila por operación](view-stack-events-by-operation.md)
+ [Visualización del gráfico del cronograma de implementación de la pila](stack-deployment-timeline-graph.md)
+ [Comprender los eventos de creación de la pila](stack-resource-configuration-complete.md)
+ [Monitorización de actualizaciones de pila](using-cfn-updating-stacks-monitor-stack.md)
+ [

# Continuación de la restauración de una actualización
](using-cfn-updating-stacks-continueupdaterollback.md)
+ [

# Determine la causa de una falla en la pila
](determine-root-cause-for-stack-failures.md)
+ [Opciones de error de pila](stack-failure-options.md)

# Visualización de eventos de pilas de CloudFormation
<a name="view-stack-events"></a>

Puede ver los eventos de pilas para monitorear el avance y el estado de la pila y los recursos de la pila. Los eventos de pilas ayudan a comprender cuándo se crean, actualizan o eliminan los recursos y si la implementación de pilas se está desarrollando según lo previsto. 

**Topics**
+ [

## Ver eventos de pila (consola)
](#view-stack-events-console)
+ [

## Ver los eventos de la pila (AWS CLI)
](#view-stack-events-cli)
+ [

## Códigos de estado de pilas
](#cfn-console-view-stack-data-resources-status-codes)

## Ver eventos de pila (consola)
<a name="view-stack-events-console"></a>

**Para ver eventos de pila**

1. Abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En la barra de navegación de la parte superior de la pantalla, elija la Región de AWS en la que creó la pila.

1. En la página **Stacks** (Pilas) de la consola de CloudFormation, seleccione el nombre de la pila. CloudFormation muestra la información de la pila que haya seleccionado.

1. Seleccione la pestaña **Eventos** para ver los eventos de la pila que CloudFormation generó para la pila. 

CloudFormation actualiza automáticamente los eventos de la pila cada minuto. Además, CloudFormation muestra la insignia **Nuevos eventos disponibles** cuando se producen nuevos eventos de la pila. Seleccione el icono de actualización para cargar estos eventos en la lista. Al visualizar eventos de creación de la pila, puede comprender la secuencia de eventos que conducen a la creación de la pila (o error, si está depurando la pila).

Mientras se crea, la pila aparecerá en la página **Pilas** con el estado `CREATE_IN_PROGRESS`. Una vez que se cree correctamente, el estado de la pila cambia a `CREATE_COMPLETE`.

Para obtener más información, consulte [Comprensión de los eventos de creación de la pila de CloudFormation](stack-resource-configuration-complete.md) y [Monitorización del progreso de una actualización de pila](using-cfn-updating-stacks-monitor-stack.md).

## Ver los eventos de la pila (AWS CLI)
<a name="view-stack-events-cli"></a>

Alternativamente, puede usar el comando [describe-stack-events](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-events.html) mientras se está creando la pila para ver eventos a medida que se notifican.

El siguiente comando **describe-stack-events** describe los eventos de la pila `my-stack`.

```
aws cloudformation describe-stack-events --stack-name my-stack
```

A continuación, se muestra un ejemplo de respuesta.

```
{
    "StackEvents": [
        {
            "StackId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "EventId": "7b755820-7edf-11f0-ab15-0673b09f3847",
            "StackName": "my-stack",
            "LogicalResourceId": "my-stack",
            "PhysicalResourceId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "ResourceType": "AWS::CloudFormation::Stack",
            "Timestamp": "2025-08-21T22:37:56.243000+00:00",
            "ResourceStatus": "CREATE_COMPLETE",
            "ClientRequestToken": "token"
        },
        {
            "StackId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "EventId": "WebServer-CREATE_COMPLETE-2025-08-21T22:37:54.356Z",
            "StackName": "my-stack",
            "LogicalResourceId": "WebServer",
            "PhysicalResourceId": "i-099df76cb31b866a9",
            "ResourceType": "AWS::EC2::Instance",
            "Timestamp": "2025-08-21T22:37:54.356000+00:00",
            "ResourceStatus": "CREATE_COMPLETE",
            "ResourceProperties": "{\"UserData\":\"IyEvYmluL2Jhc2gKeXVtIGluc3RhbGwgLXkgYXdzLWNmbi1ib290c3RyYXAKL29wdC9hd3MvYmluL2Nmbi1pbml0IC12IC0tc3RhY2sgc2Rmc2RhZnNhZHNka2wgLS1yZXNvdXJjZSBXZWJTZXJ2ZXIgLS1yZWdpb24gdXMtd2VzdC0yCg==\",\"ImageId\":\"ami-0bbc328167dee8f3c\",\"InstanceType\":\"t2.micro\",\"SecurityGroupIds\":[\"my-stack-WebServerSecurityGroup-n8A43bQT1ty2\"],\"Tags\":[{\"Value\":\"Bootstrap Tutorial Web Server\",\"Key\":\"Name\"}]}",
            "ClientRequestToken": "token"
        },
        {
            "StackId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "EventId": "WebServer-CREATE_IN_PROGRESS-2025-08-21T22:37:31.226Z",
            "StackName": "my-stack",
            "LogicalResourceId": "WebServer",
            "PhysicalResourceId": "i-099df76cb31b866a9",
            "ResourceType": "AWS::EC2::Instance",
            "Timestamp": "2025-08-21T22:37:31.226000+00:00",
            "ResourceStatus": "CREATE_IN_PROGRESS",
            "ResourceStatusReason": "Resource creation Initiated",
            "ResourceProperties": "{\"UserData\":\"IyEvYmluL2Jhc2gKeXVtIGluc3RhbGwgLXkgYXdzLWNmbi1ib290c3RyYXAKL29wdC9hd3MvYmluL2Nmbi1pbml0IC12IC0tc3RhY2sgc2Rmc2RhZnNhZHNka2wgLS1yZXNvdXJjZSBXZWJTZXJ2ZXIgLS1yZWdpb24gdXMtd2VzdC0yCg==\",\"ImageId\":\"ami-0bbc328167dee8f3c\",\"InstanceType\":\"t2.micro\",\"SecurityGroupIds\":[\"my-stack-WebServerSecurityGroup-n8A43bQT1ty2\"],\"Tags\":[{\"Value\":\"Bootstrap Tutorial Web Server\",\"Key\":\"Name\"}]}",
            "ClientRequestToken": "token"
        },
        {
            "StackId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "EventId": "WebServer-CREATE_IN_PROGRESS-2025-08-21T22:37:29.210Z",
            "StackName": "my-stack",
            "LogicalResourceId": "WebServer",
            "PhysicalResourceId": "",
            "ResourceType": "AWS::EC2::Instance",
            "Timestamp": "2025-08-21T22:37:29.210000+00:00",
            "ResourceStatus": "CREATE_IN_PROGRESS",
            "ResourceProperties": "{\"UserData\":\"IyEvYmluL2Jhc2gKeXVtIGluc3RhbGwgLXkgYXdzLWNmbi1ib290c3RyYXAKL29wdC9hd3MvYmluL2Nmbi1pbml0IC12IC0tc3RhY2sgc2Rmc2RhZnNhZHNka2wgLS1yZXNvdXJjZSBXZWJTZXJ2ZXIgLS1yZWdpb24gdXMtd2VzdC0yCg==\",\"ImageId\":\"ami-0bbc328167dee8f3c\",\"InstanceType\":\"t2.micro\",\"SecurityGroupIds\":[\"my-stack-WebServerSecurityGroup-n8A43bQT1ty2\"],\"Tags\":[{\"Value\":\"Bootstrap Tutorial Web Server\",\"Key\":\"Name\"}]}",
            "ClientRequestToken": "token"
        },
        {
            "StackId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "EventId": "WebServerSecurityGroup-CREATE_COMPLETE-2025-08-21T22:37:28.803Z",
            "StackName": "my-stack",
            "LogicalResourceId": "WebServerSecurityGroup",
            "PhysicalResourceId": "my-stack-WebServerSecurityGroup-n8A43bQT1ty2",
            "ResourceType": "AWS::EC2::SecurityGroup",
            "Timestamp": "2025-08-21T22:37:28.803000+00:00",
            "ResourceStatus": "CREATE_COMPLETE",
            "ResourceProperties": "{\"GroupDescription\":\"Allow HTTP access from my IP address\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"Description\":\"HTTP\",\"FromPort\":\"80\",\"ToPort\":\"80\",\"IpProtocol\":\"tcp\"}]}",
            "ClientRequestToken": "token"
        },
        {
            "StackId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "EventId": "WebServerSecurityGroup-CREATE_IN_PROGRESS-2025-08-21T22:37:22.626Z",
            "StackName": "my-stack",
            "LogicalResourceId": "WebServerSecurityGroup",
            "PhysicalResourceId": "my-stack-WebServerSecurityGroup-n8A43bQT1ty2",
            "ResourceType": "AWS::EC2::SecurityGroup",
            "Timestamp": "2025-08-21T22:37:22.626000+00:00",
            "ResourceStatus": "CREATE_IN_PROGRESS",
            "ResourceStatusReason": "Resource creation Initiated",
            "ResourceProperties": "{\"GroupDescription\":\"Allow HTTP access from my IP address\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"Description\":\"HTTP\",\"FromPort\":\"80\",\"ToPort\":\"80\",\"IpProtocol\":\"tcp\"}]}",
            "ClientRequestToken": "token"
        },
        {
            "StackId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "EventId": "WebServerSecurityGroup-CREATE_IN_PROGRESS-2025-08-21T22:37:20.186Z",
            "StackName": "my-stack",
            "LogicalResourceId": "WebServerSecurityGroup",
            "PhysicalResourceId": "",
            "ResourceType": "AWS::EC2::SecurityGroup",
            "Timestamp": "2025-08-21T22:37:20.186000+00:00",
            "ResourceStatus": "CREATE_IN_PROGRESS",
            "ResourceProperties": "{\"GroupDescription\":\"Allow HTTP access from my IP address\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"Description\":\"HTTP\",\"FromPort\":\"80\",\"ToPort\":\"80\",\"IpProtocol\":\"tcp\"}]}",
            "ClientRequestToken": "token"
        },
        {
            "StackId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "EventId": "64740fe0-7edf-11f0-8a36-06453a64f325",
            "StackName": "my-stack",
            "LogicalResourceId": "my-stack",
            "PhysicalResourceId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "ResourceType": "AWS::CloudFormation::Stack",
            "Timestamp": "2025-08-21T22:37:17.819000+00:00",
            "ResourceStatus": "CREATE_IN_PROGRESS",
            "ResourceStatusReason": "User Initiated",
            "ClientRequestToken": "token"
        }
    ]
}
```

Los eventos más recientes se informan en primer lugar. La siguiente tabla describe los campos devueltos por el comando **describe-stack-events**:


| Campo | Descripción | 
| --- | --- | 
| EventId |  Identificador de eventos.  | 
| StackName |  Nombre de la pila a la que corresponde el evento.  | 
| StackId |  Identificador de la pila a la que corresponde el evento.  | 
| LogicalResourceId |  Identificador lógico del recurso.  | 
| PhysicalResourceId |  Identificador físico del recurso.  | 
| ResourceProperties |  Propiedades del recurso.  | 
| ResourceType |  Tipo del recurso.  | 
| Timestamp |  Hora en la que se produjo el evento.  | 
| ResourceStatus |  El estado del recurso, que puede ser uno de los siguientes códigos de estado: `CREATE_COMPLETE` \$1 `CREATE_FAILED` \$1 `CREATE_IN_PROGRESS` \$1 `DELETE_COMPLETE` \$1 `DELETE_FAILED` \$1 `DELETE_IN_PROGRESS` \$1 `DELETE_SKIPPED` \$1 `IMPORT_COMPLETE` \$1 `IMPORT_IN_PROGRESS` \$1 `IMPORT_ROLLBACK_COMPLETE` \$1 `IMPORT_ROLLBACK_FAILED` \$1 `IMPORT_ROLLBACK_IN_PROGRESS` \$1 `REVIEW_IN_PROGRESS` \$1 `ROLLBACK_COMPLETE` \$1 `ROLLBACK_FAILED` \$1 `ROLLBACK_IN_PROGRESS` \$1 `UPDATE_COMPLETE` \$1 `UPDATE_COMPLETE_CLEANUP_IN_PROGRESS` \$1 `UPDATE_FAILED` \$1 `UPDATE_IN_PROGRESS` \$1 `UPDATE_ROLLBACK_COMPLETE` \$1 `UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS` \$1 `UPDATE_ROLLBACK_FAILED` \$1 `UPDATE_ROLLBACK_IN_PROGRESS` El estado `DELETE_SKIPPED` se aplica a los recursos con un atributo de la política de eliminación de conservación.  | 
| DetailedStatus |  Estado detallado de la pila. Si `CONFIGURATION_COMPLETE` está presente, la fase de configuración de los recursos de la pila se ha completado y la estabilización de los recursos está en curso.  | 
| ResourceStatusReason |  Más información sobre el estado.  | 

## Códigos de estado de pilas
<a name="cfn-console-view-stack-data-resources-status-codes"></a>

En la siguiente tabla se describen los códigos de estado de pila:


| Estado de la pila y estado detallado opcional | Descripción | 
| --- | --- | 
|  `CREATE_COMPLETE`  |  Creación correcta de una o varias pilas.  | 
|  `CREATE_IN_PROGRESS`  |  Creación continua de una o varias pilas.  | 
|  `CREATE_FAILED`  |  Creación incorrecta de una o varias pilas. Consulte los eventos de pila para ver los mensajes de error asociados. Algunos de los posibles motivos de que la creación no se haya realizado correctamente incluyen la falta de permisos para trabajar con todos los recursos de pila, el rechazo de los valores de los parámetros por parte de un servicio de AWS o que se ha agotado el tiempo de espera durante la creación del recurso.  | 
|  `DELETE_COMPLETE`  |  Eliminación correcta de una o varias pilas. Las pilas eliminadas se conservan y se pueden ver durante 90 días.  | 
|  `DELETE_FAILED`  |  Eliminación incorrecta de una o varias pilas. Dado que la eliminación no se ha realizado correctamente, es posible que algunos recursos aún se sigan ejecutando; sin embargo, no puede trabajar ni actualizar la pila. Vuelva a eliminar la pila o consulte los eventos de la pila para ver los mensajes de error asociados.  | 
|  `DELETE_IN_PROGRESS`  |  Eliminación continua de una o varias pilas.  | 
| `REVIEW_IN_PROGRESS` | Creación continua de una o varias pilas con un StackId esperado, pero sin plantillas ni recursos. Una pila con este código de estado cuenta para el [número máximo posible de pilas](cloudformation-limits.md).  | 
|  `ROLLBACK_COMPLETE`  |  Eliminación correcta de una o varias pilas después de un error en la creación de la pila o después de que se haya cancelado explícitamente la creación de la pila. La pila vuelve al estado anterior de trabajo. Se eliminan todos los recursos que se hayan creado durante la acción de creación de pila. Este estado solo existe después de la creación fallida de una pila. Esto significa que todas las operaciones de la pila creada parcialmente se ha limpiado de forma apropiada. Cuando en este estado, solo puede realizarse una operación de eliminación.  | 
|  `ROLLBACK_FAILED`  |  Eliminación incorrecta de una o varias pilas después de un error en la creación de pila o después de que se haya cancelado explícitamente la creación de pila. Elimine la pila o consulte los eventos de pila para ver los mensajes de error asociados.  | 
|  `ROLLBACK_IN_PROGRESS`  |  Eliminación continua de una o varias pilas después de un error en la creación de pila o después de que se haya cancelado explícitamente la creación de pila.  | 
|  `UPDATE_COMPLETE`  | Actualización correcta de una o varias pilas. | 
|  `UPDATE_COMPLETE_CLEANUP_IN_PROGRESS`  |  Eliminación continua de recursos antiguos para una o varias pilas después de una actualización correcta de las pilas. Para las actualizaciones de pilas que requieren que se sustituyan los recursos, CloudFormation crea los nuevos recursos en primer lugar y, a continuación, elimina los antiguos para ayudar a reducir interrupciones con la pila. En este estado, la pila se ha actualizado y se puede utilizar, pero CloudFormation sigue eliminando los recursos antiguos.  | 
|  `UPDATE_FAILED`  | Actualización incorrecta de una o varias pilas. Consulte los eventos de pila para ver los mensajes de error asociados. | 
|  `UPDATE_IN_PROGRESS`  |  Actualización continua de una o varias pilas.  | 
|  `UPDATE_ROLLBACK_COMPLETE`  |  Recuperación correcta del estado activo anterior de una o varias pilas después de un error en la actualización de las pilas.  | 
|  `UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS`  |  Eliminación continua de recursos nuevos para una o varias pilas después de una actualización incorrecta de las pilas. En este estado, se ha restaurado el estado anterior de la pila y se puede utilizar, pero CloudFormation sigue eliminando los nuevos recursos que ha creado durante la actualización de la pila.  | 
|  `UPDATE_ROLLBACK_FAILED`  |  Restauración incorrecta del estado activo anterior de una o varias pilas después de un error en la actualización de las pilas. En este estado, puede eliminar la pila o [continuar con la restauración](using-cfn-updating-stacks-continueupdaterollback.md). Probablemente necesite corregir errores antes de que la pila vuelva a estar operativa. También puede contactar con Soporte para restaurar la pila a un estado útil.  | 
|  `UPDATE_ROLLBACK_IN_PROGRESS`  |  Recuperación continua del estado activo anterior de una o varias pilas después de un error en la actualización de las pilas.  | 
|  `IMPORT_IN_PROGRESS`  |  La operación de importación está actualmente en curso.  | 
|  `IMPORT_COMPLETE`  |  La operación de importación se ha completado correctamente para todos los recursos de la pila compatibles con `resource import`.  | 
|  `IMPORT_ROLLBACK_IN_PROGRESS`  |  La importación volverá a la configuración de la plantilla anterior.  | 
|  `IMPORT_ROLLBACK_FAILED`  |  La operación de restauración de importación ha generado un error para un recurso de la pila como mínimo. Los resultados estarán disponibles para los recursos que CloudFormation haya importado correctamente.  | 
|  `IMPORT_ROLLBACK_COMPLETE`  |  La importación ha vuelto correctamente a la configuración de plantilla anterior.  | 

# Visualización de eventos de la pila por operación
<a name="view-stack-events-by-operation"></a>

Puede ver los eventos de la pila agrupados por operación para comprender mejor la secuencia y el alcance de los cambios realizados en la pila. La agrupación basada en operaciones le ayuda a realizar un seguimiento conjunto de los eventos relacionados, lo que facilita el seguimiento del progreso y la resolución de problemas cuando se producen.

A cada operación de la pila (creación, actualización, eliminación o reversión) se le asigna un ID de operación único que agrupa todos los eventos relacionados. Esto le permite centrarse en operaciones específicas e identificar rápidamente la causa raíz de los errores.

**Topics**
+ [

## Requisitos previos
](#view-stack-events-by-operation-prerequisites)
+ [

## Visualización de eventos de la pila por operación (consola)
](#view-stack-events-by-operation-console)
+ [

## Visualización de eventos de la pila por operación (AWS CLI)
](#view-stack-events-by-operation-cli)
+ [

## Códigos de estado de pilas
](#stack-status-codes)

## Requisitos previos
<a name="view-stack-events-by-operation-prerequisites"></a>

Para usar la API `DescribeEvents`, debe tener los permisos de IAM necesarios para: `DescribeEvents`.

## Visualización de eventos de la pila por operación (consola)
<a name="view-stack-events-by-operation-console"></a>

**Visualización de eventos de la pila agrupados por operación**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En la barra de navegación de la parte superior de la pantalla, elija la Región de AWS en la que creó la pila.

1. En la página **Pilas**, seleccione el nombre de la pila. CloudFormation muestra la información de la pila que haya seleccionado.

1. Seleccione la pestaña **Eventos** para ver los eventos de la pila que CloudFormation generó para la pila.

1. Los eventos se agrupan automáticamente por ID de operación. Cada operación aparece como una sección ampliable que muestra el tipo, el estado y la marca temporal de la operación.

1. Haga clic en el **ID de operación** para abrir una vista detallada que muestre solo los eventos relacionados con esa operación específica.

1. En la vista de detalles de la operación, seleccione la casilla **Mostrar solo errores** para mostrar solo los eventos con errores en el análisis de la causa raíz.

CloudFormation actualiza automáticamente los eventos de la pila cada minuto. La insignia **Nuevos eventos disponibles** aparece cuando se producen nuevos eventos de la pila. Seleccione el icono de actualización para cargar estos eventos en la lista.

Al visualizar eventos de la pila agrupados por operación, puede comprender la secuencia de eventos de cada operación e identificar rápidamente qué operación específica causó problemas (si está depurando la pila).

Mientras la operación de la pila está en ejecución, aparece con el estado `CREATE_IN_PROGRESS`, `UPDATE_IN_PROGRESS` o `DELETE_IN_PROGRESS`. Una vez que la operación se haya completado correctamente, su estado cambiará a `CREATE_COMPLETE`, `UPDATE_COMPLETE` o `DELETE_COMPLETE`.

Para obtener más información, consulte [Comprensión de los eventos de creación de la pila de CloudFormation](stack-resource-configuration-complete.md) y [Monitorización del progreso de una actualización de pila](using-cfn-updating-stacks-monitor-stack.md).

## Visualización de eventos de la pila por operación (AWS CLI)
<a name="view-stack-events-by-operation-cli"></a>

Puede usar el comando `describe-events` con el filtrado de ID de operación para ver los eventos de operaciones específicas.

### Obtención de los ID de la última operación
<a name="get-last-operation-ids"></a>

La descripción de la pila, disponible a través de la API describe-stacks, ya incluye información de LastOperations que muestra los ID de operaciones recientes y sus tipos. Esto le permite identificar rápidamente qué operaciones se han realizado y su estado actual sin tener que analizar los registros de eventos.

```
aws cloudformation describe-stacks --stack-name MyStack
```

El siguiente es un ejemplo de respuesta que muestra que la última operación fue una reversión tras una operación de actualización fallida.

```
{  
    "Stacks": [  
        {  
            "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/MyStack/07580010-bb79-11f0-8f6c-0289bb5c804f",  
            "StackName": "MyStack",  
            "Description": "A simple CloudFormation template to create an S3 bucket.",  
            "CreationTime": "2025-11-07T01:28:13.778000+00:00",  
            "LastUpdatedTime": "2025-11-07T01:43:39.838000+00:00",  
            "RollbackConfiguration": {},  
            "StackStatus": "UPDATE_ROLLBACK_COMPLETE",  
            "DisableRollback": false,  
            "NotificationARNs": [],  
            "Tags": [],  
            "EnableTerminationProtection": false,  
            "DriftInformation": {  
                "StackDriftStatus": "NOT_CHECKED"  
            },  
            "LastOperations": [  
                {  
                    "OperationType": "ROLLBACK",  
                    "OperationId": "d0f12313-7bdb-414d-a879-828a99b36f29"  
                },  
                {  
                    "OperationType": "UPDATE_STACK",  
                    "OperationId": "1c211b5a-4538-4dc9-bfed-e07734371e57"  
                }  
            ]  
        }  
    ]  
}
```

### Filtrado de eventos por ID de operación
<a name="filter-events-by-operation-id"></a>

El siguiente comando `describe-events` describe los eventos de un ID de operación específico:

```
aws cloudformation describe-events \
  --operation-id 1c211b5a-4538-4dc9-bfed-e07734371e57
```

Para ver solo los eventos fallidos para la solución de problemas, utilice el parámetro `--filter FailedEvents=true`:

```
aws cloudformation describe-events \
  --operation-id 1c211b5a-4538-4dc9-bfed-e07734371e57 \
  --filter FailedEvents=true
```

La nueva función de filtrado por ID de operación le permite centrarse en operaciones específicas y sus eventos relacionados. Resulta especialmente útil para lo siguiente:
+ **Solución de problemas específicos:** aísle los eventos de una operación fallida para comprender qué es lo que ha fallado.
+ **Supervisión de las operaciones de larga duración:** realice un seguimiento del progreso de las actualizaciones complejas o de las implementaciones de pilas de gran tamaño.
+ **Auditoría de cambios:** revise todos los eventos asociados a una operación de actualización concreta.
+ **Análisis de la causa raíz:** utilice el filtro de errores para identificar rápidamente el origen de los problemas de implementación.

## Códigos de estado de pilas
<a name="stack-status-codes"></a>

En la siguiente tabla se describen los campos devueltos por el comando `describe-events` al utilizar el filtrado por ID de operación:


| Campo | Descripción | 
| --- | --- | 
| EventId | Identificador de eventos. | 
| OperationId | Identificador único de la operación que generó este evento. | 
| StackName | Nombre de la pila a la que corresponde el evento. | 
| StackId | Identificador de la pila a la que corresponde el evento. | 
| LogicalResourceId | Identificador lógico del recurso. | 
| PhysicalResourceId | Identificador físico del recurso. | 
| ResourceProperties | Propiedades del recurso. | 
| ResourceType | Tipo del recurso. | 
| Timestamp | Hora en la que se produjo el evento. | 
| ResourceStatus | El estado del recurso (CREATE\$1COMPLETE, UPDATE\$1FAILED, etc.). | 
| DetailedStatus | Estado detallado de la pila. Si CONFIGURATION\$1COMPLETE está presente, la fase de configuración de los recursos de la pila se ha completado y la estabilización de los recursos está en curso. | 
| ResourceStatusReason | Más información sobre el estado. | 

# Visualización de un cronograma de la implementación de una pila de CloudFormation
<a name="stack-deployment-timeline-graph"></a>

El gráfico del cronograma de implementación de la pila proporciona una representación visual de una línea de tiempo de implementación de la pila. Esta vista muestra los estados de implementación de la pila y de cada uno de sus recursos, así como las veces que ha cambiado cada estado. Los estados de implementación de la pila se representan con el color correspondiente.

**Topics**
+ [

## Comprensión del gráfico del cronograma de implementación de la pila
](#understanding-stack-deployment-timeline-graph)
+ [

## Visualización del gráfico del cronograma de implementación de la pila (consola)
](#viewing-stack-deployment-timeline-graph)

## Comprensión del gráfico del cronograma de implementación de la pila
<a name="understanding-stack-deployment-timeline-graph"></a>

La siguiente imagen muestra el gráfico del cronograma de una implementación de pila que falló debido a un error en el lanzamiento de un recurso de instancia de Amazon EC2.

![\[Un gráfico del cronograma de implementación de pila para una implementación de pila fallida.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/deployment-timeline-graph.PNG)


Los nombres de los recursos de la pila se encuentran en el lado izquierdo del gráfico, y la fecha y la hora relativas a los horarios de implementación se encuentran en la parte superior del gráfico.

Cada recurso comienza con el estado **En progreso**. La barra de estado cambia a **Completada** cada vez que la implementación se realiza correctamente. La barra de estado cambia a **Error** cuando un recurso no se puede implementar. Cuando un recurso no se puede implementar y la implementación de la pila también falla, el recurso responsable de este error recibe el estado de **Error de raíz probable**.

Cuando se produce un error en la operación de implementación de la pila, el recurso que se ha implementado correctamente comienza a revertirse y pasa al estado de **Reversión en curso**. Los estados cambian a **Reversión completa** una vez que el recurso haya terminado de revertirse.

La elección de cada recurso proporciona información más detallada sobre el cronograma de implementación:

![\[Un gráfico emergente con el cronograma de implementación de la pila que muestra los detalles de la implementación del recurso fallido elegido.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/deployment-timeline-graph-root-cause.PNG)


Al seleccionar un recurso, se muestran el **Tipo**, la **Hora de inicio** de la implementación, la **Hora de finalización** de la implementación y la **Duración total** de la implementación. También encontrará la **Hora de inicio**, la **Hora de finalización** y la **Duración** de cada estado de implementación en los menús desplegables que aparecen a continuación. Si el recurso no se pudo implementar, se indicará el **Motivo del error**.

Para obtener más información sobre estados de pilas, consulte [Códigos de estado de pilas](view-stack-events.md#cfn-console-view-stack-data-resources-status-codes).

## Visualización del gráfico del cronograma de implementación de la pila (consola)
<a name="viewing-stack-deployment-timeline-graph"></a>

Para ver un gráfico del cronograma de implementación de la pila:

1. Abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En la barra de navegación de la parte superior de la pantalla, elija la Región de AWS en la que creó la pila.

1. En la página **Pilas** de la consola de CloudFormation, seleccione el nombre de la pila. CloudFormation muestra la información de la pila que haya seleccionado.

1. Seleccione la pestaña **Eventos** para ver los eventos de la pila que CloudFormation generó para la pila. 

1. Pulse el botón **Gráfico del cronograma** para ver el gráfico del cronograma de su pila. 

# Comprensión de los eventos de creación de la pila de CloudFormation
<a name="stack-resource-configuration-complete"></a>

Durante la implementación de la pila, se producen varios eventos para crear, configurar y validar los recursos definidos en la plantilla de la pila. Comprender estos eventos puede ayudar con la optimización del proceso de creación de pilas y a agilizar las implementaciones.
+ **Eventos de creación de recursos**: cuando cada recurso inicia el proceso de creación, se establece el **estado** del `CREATE_IN_PROGRESS` evento. Este evento indica que el recurso se está aprovisionando.
+ **Comprobación de coherencia eventual**: gran parte del tiempo de creación de la pila se dedica a realizar una eventual comprobación de coherencia con los recursos creados por la pila. Durante esta fase, el servicio realiza comprobaciones de coherencia internas para garantizar que el recurso esté en pleno funcionamiento y cumpla con los criterios de estabilización del servicio definidos por todos los Servicio de AWS.
+ **Evento completo de configuración**: cuando cada recurso finaliza la fase final de verificación de coherencia del aprovisionamiento, se establece un **estado detallado** del evento `CONFIGURATION_COMPLETE`.
+ **Evento completo de creación de recurso**: una vez que el recurso se haya creado y configurado según lo especificado y la configuración coincida con lo especificado en la plantilla, se establece el **estado** del evento `CREATE_COMPLETE`.

Puede aprovechar el evento `CONFIGURATION_COMPLETE` para agilizar el proceso de creación de pilas en situaciones en las que no sea necesario comprobar la coherencia de los recursos, como la validación de una configuración de pila previa a la producción o el aprovisionamiento entre pilas. Puede utilizar este evento de varias maneras. Por ejemplo, puedes usarlo como una señal visual para evitar esperar a que finalice la comprobación de coherencia de los recursos o de la pila. O puede usarlo para crear un mecanismo automatizado mediante integración y entrega continua (CI/CD) para activar acciones adicionales.

**importante**  
Si bien aprovechar el evento `CONFIGURATION_COMPLETE` acelera los tiempos de creación de las pilas, debes tener en cuenta sus ventajas y desventajas. En primer lugar, solo es compatible con un subconjunto de tipos de recursos que admiten la detección de desviaciones. Para obtener una lista de tipos de recursos que admiten la detección de desviaciones, consulte [Tipo de recurso compatible](resource-import-supported-resources.md). Es posible que este enfoque no sea adecuado para todos los escenarios, especialmente cuando los recursos requieren, en última instancia, exhaustivas comprobaciones de coherencia para garantizar la plena preparación operativa en todo el entorno de nube (por ejemplo, en los entornos de producción). Le recomendamos evaluar detenidamente sus requisitos de implementación y la importancia de las comprobaciones de coherencia de cada recurso. Aproveche el evento `CONFIGURATION_COMPLETE` para optimizar las velocidades de implementación sin comprometer la integridad y la fiabilidad de su infraestructura.   
Como no se garantiza que el evento `CONFIGURATION_COMPLETE` esté configurado, cualquier escenario que lo utilice debe estar preparado para gestionar un evento `CREATE_COMPLETE` en el que no se haya establecido ningún evento `CONFIGURATION_COMPLETE`.

![\[Diagrama que muestra la secuencia de eventos para la creación de recursos y, finalmente, la comprobación de la coherencia en una pila.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/configuration-complete.png)


Cuando se inicia la implementación de la pila, tanto los recursos `AWS::ECR::Repository` como los recursos `AWS::ECS::Cluster` inician el proceso de creación (`ResourceStatus` = `CREATE_IN_PROGRESS`. Cuando el tipo `AWS::ECR::Repository` de recurso haya iniciado la eventual comprobación de coherencia (`DetailedStatus` = `CONFIGURATION_COMPLETE`), entonces, el recurso `AWS::ECS::TaskDefinition` podrá iniciar el proceso de creación. Del mismo modo, una vez que el recurso `AWS::ECS::TaskDefinition` comience la eventual verificación de coherencia, el recurso `AWS::ECS::Service` iniciará el proceso de creación.

**Eventos de `CREATE_IN_PROGRESS` y `CREATE_COMPLETE`**
+ **[Pila]:** `CREATE_IN_PROGRESS`
+ **[Recurso]:** Repositorio ECR `CREATE_IN_PROGRESS`
+ **[Recurso]:** Clúster ECS `CREATE_IN_PROGRESS`
+ **[Recurso]:** Repositorio ECR `CREATE_IN_PROGRESS`, `CONFIGURATION_COMPLETE`
+ **[Recurso]:** Definición de la tarea de ECS `CREATE_IN_PROGRESS`
+ **[Recurso]:** Clúster ECS `CREATE_IN_PROGRESS`, `CONFIGURATION_COMPLETE`
+ **[Recurso]:** Definición de la tarea de ECS `CREATE_IN_PROGRESS`, `CONFIGURATION_COMPLETE`
+ **[Recurso]:** Servicio ECS `CREATE_IN_PROGRESS`
+ **[Recurso]:** Repositorio ECR `CREATE_COMPLETE`
+ **[Recurso]:** Clúster ECS `CREATE_COMPLETE`
+ **[Recurso]:** Servicio ECS `CREATE_IN_PROGRESS`, `CONFIGURATION_COMPLETE`
+ **[Pila]:** `CREATE_IN_PROGRESS`, `CONFIGURATION_COMPLETE`
+ **[Recurso]:** Definición de la tarea de ECS `CREATE_COMPLETE`
+ **[Recurso]:** Servicio ECS `CREATE_COMPLETE`
+ **[Pila]:** `CREATE_COMPLETE`

# Monitorización del progreso de una actualización de pila
<a name="using-cfn-updating-stacks-monitor-stack"></a>

Puede monitorizar el progreso de una actualización de pila visualizando los eventos de la pila. La pestaña **Eventos** de la consola muestra todos los pasos importantes de la creación y actualización de la pila ordenados por hora de cada evento, con los últimos eventos en la parte superior. Para obtener más información, consulte [Monitorizar el progreso de la pila](monitor-stack-progress.md).

**Topics**
+ [

## Eventos generados durante una actualización de pila correcta
](#using-cfn-updating-stacks-monitor-stack-update-events)
+ [

## Eventos generados cuando falla la actualización de un recurso
](#using-cfn-updating-stacks-monitor-stack-update-failure)

## Eventos generados durante una actualización de pila correcta
<a name="using-cfn-updating-stacks-monitor-stack-update-events"></a>

El inicio del proceso de actualización de la pila se marca con un evento `UPDATE_IN_PROGRESS` para la pila:

```
2011-09-30 09:35 PDT AWS::CloudFormation::Stack MyStack UPDATE_IN_PROGRESS 
```

Los siguientes son eventos que marcan el comienzo y la realización de la actualización de cada recurso que se cambió en la plantilla de actualización. Por ejemplo, al actualizar un recurso [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-rds-dbinstance.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-rds-dbinstance.html) denominado `MyDB`, se producirían las siguientes entradas:

```
2011-09-30 09:35 PDT AWS::RDS::DBInstance MyDB UPDATE_COMPLETE
2011-09-30 09:35 PDT AWS::RDS::DBInstance MyDB UPDATE_IN_PROGRESS
```

El evento `UPDATE_IN_PROGRESS` se registra cuando CloudFormation informa que ha comenzado a actualizar el recurso. El evento `UPDATE_COMPLETE` se registra cuando se crea correctamente el recurso.

Cuando CloudFormation haya actualizado correctamente la pila, verá el siguiente evento:

```
2011-09-30 09:35 PDT AWS::CloudFormation::Stack MyStack UPDATE_COMPLETE 
```

**importante**  
Durante las operaciones de actualización de la pila, si CloudFormation necesita reemplazar un recurso existente, primero crea un nuevo recurso y, a continuación, elimina el recurso antiguo. Sin embargo, puede haber casos en los que CloudFormation no puede eliminar el recurso antiguo (por ejemplo, si el usuario no tiene permisos para eliminar un recurso de un tipo determinado).  
CloudFormation realiza tres intentos para eliminar el recurso antiguo. Si CloudFormation no puede eliminar el recurso antiguo, lo elimina de la pila y continúa actualizando la pila. Cuando se completa la actualización de la pila, CloudFormation emite un evento de pila `UPDATE_COMPLETE`, pero incluye un `StatusReason` que indica que uno o más recursos no se pudieron eliminar. CloudFormation también emite un evento `DELETE_FAILED` para el recurso específico, con un `StatusReason` correspondiente que proporciona más detalles sobre por qué CloudFormation no pudo eliminar el recurso.  
El recurso antiguo aún existe y seguirá incurriendo en cargos, pero ya no es accesible a través de CloudFormation. Para eliminar el recurso antiguo, acceda al recurso antiguo directamente mediante la consola o la API del servicio subyacente.  
Esto también es cierto para los recursos que ha eliminado de la plantilla de pila, por lo que se eliminará de la pila durante la actualización de la pila.

## Eventos generados cuando falla la actualización de un recurso
<a name="using-cfn-updating-stacks-monitor-stack-update-failure"></a>

Si la actualización de un recurso falla, CloudFormation informa de un evento `UPDATE_FAILED` que incluye un motivo del error. Por ejemplo, si su plantilla de actualización especificó un cambio de propiedad que no es compatible con el recurso, como la reducción del tamaño de `AllocatedStorage` para un recurso [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-rds-dbinstance.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-rds-dbinstance.html), se verían eventos como estos:

```
2011-09-30 09:36 PDT AWS::RDS::DBInstance MyDB UPDATE_FAILED Size cannot be less than current size; requested: 5; current: 10
2011-09-30 09:35 PDT AWS::RDS::DBInstance MyDB UPDATE_IN_PROGRESS
```

Si falla la actualización de un recurso, CloudFormation revierte cualquier recurso actualizado durante la actualización a sus configuraciones previas. A continuación se muestra un ejemplo de los eventos que se verían durante una restauración de actualización:

```
2011-09-30 09:38 PDT AWS::CloudFormation::Stack MyStack UPDATE_ROLLBACK_COMPLETE
2011-09-30 09:38 PDT AWS::RDS::DBInstance MyDB UPDATE_COMPLETE
2011-09-30 09:37 PDT AWS::RDS::DBInstance MyDB UPDATE_IN_PROGRESS
2011-09-30 09:37 PDT AWS::CloudFormation::Stack MyStack UPDATE_ROLLBACK_IN_PROGRESS The following resource(s) failed to update: [MyDB]
```

# Continuación de la restauración de una actualización
<a name="using-cfn-updating-stacks-continueupdaterollback"></a>

A veces, cuando CloudFormation intenta revertir una actualización de pila, no puede revertir todos los cambios que realizó durante el proceso de actualización. Esto se denomina estado `UPDATE_ROLLBACK_FAILED`. Por ejemplo, puede tener una pila que comience a restaurar una antigua instancia de base de datos que se eliminó fuera de CloudFormation. Dado que CloudFormation no sabe que la base de datos se ha eliminado, asume que la instancia de base de datos aún existe e intenta restaurarla, lo que provoca que la restauración de la actualización falle.

Una pila en el estado `UPDATE_ROLLBACK_FAILED` no se puede actualizar, pero se puede revertir a un estado de funcionamiento (`UPDATE_ROLLBACK_COMPLETE`). Luego de devolver la pila a su configuración originar, puede tratar de volver a actualizarla.

En la mayoría de los casos, debe solucionar el error que hace que la restauración de la actualización genere un error antes de continuar la restauración de la pila. En otros casos, puede continuar la restauración de la actualización sin ningún cambio, por ejemplo cuando se agota el tiempo de espera de una operación de pila.

**nota**  
Si utiliza pilas anidadas, al restaurar la pila principal se intentará restaurar también todas las pilas secundarias.

**Para continuar la restauración de una actualización (consola)**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En la barra de navegación de la parte superior de la pantalla, elija la Región de AWS en donde se encuentra la pila.

1. En la página **Pilas**, seleccione la pila que desea actualizar, elija **Acciones de pila** y, a continuación, elija **Continuar la restauración de la actualización**.

   Si no funciona ninguna de las soluciones de [Solución de errores](troubleshooting.md#troubleshooting-errors), puede utilizar la opción avanzada para omitir los recursos que CloudFormation no puede restaurar correctamente. Debe [buscar](cfn-console-view-stack-data-resources.md) y escribir los ID lógicos de los recursos que desea omitir. Especifique únicamente los recursos que han pasado al estado `UPDATE_FAILED` durante la operación `UpdateRollback` y no durante la actualización de reenvío.
**aviso**  
CloudFormation establece el estado de los recursos especificados como `UPDATE_COMPLETE` y continúa restaurando la pila. Después de que la restauración se haya completado, el estado de los recursos omitidos será incompatible con el estado de los recursos de la plantilla de pila. Antes de realizar otra actualización de pila, debe actualizar la pila o los recursos para que sean coherentes entre sí. De lo contrario, las actualizaciones de pilas posteriores podrían fallar y la pila será irrecuperable.

   Especifique el número mínimo de recursos necesarios para restaurar correctamente la pila. Por ejemplo, una actualización de recursos incorrecta podría provocar que los recursos dependientes fallaran. En este caso, no sería necesario omitir los recursos dependientes.

   Para omitir los recursos que forman parte de pilas anidadas, utilice el siguiente formato: `NestedStackName.ResourceLogicalID`. Si desea especificar el ID lógico de un recurso de pila (`Type: AWS::CloudFormation::Stack`) en la lista `ResourcesToSkip`, su pila integrada correspondiente debe estar en uno de los siguientes estados: `DELETE_IN_PROGRESS`, `DELETE_COMPLETE` o `DELETE_FAILED`.

**Para continuar con la restauración de una actualización (AWS CLI)**
+ Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/continue-update-rollback.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/continue-update-rollback.html) con la opción `--stack-name` para especificar el ID de la pila que desea seguir restaurando.

## Continúe con la reversión de las actualizaciones con fallas de la pila anidada
<a name="nested-stacks"></a>

Cuando tiene varias pilas anidadas dentro de cada una, es posible que tenga que omitir los recursos entre varios niveles anidados para que toda la jerarquía de pilas vuelva a funcionar correctamente. 

Por ejemplo, tiene una pila raíz llamada `WebInfra` que contiene dos pilas más pequeñas en su interior: `WebInfra-Compute` y `WebInfra-Storage`. Estas dos pilas también tienen sus propias pilas anidadas dentro de ellas.

Si algo sale mal durante una actualización y el proceso de actualización falla, es posible que toda la jerarquía de pilas acabe con el estado `UPDATE_ROLLBACK_FAILED`, como se muestra en el siguiente diagrama. 

![\[Un diagrama muestra una jerarquía de tres niveles de pilas anidadas.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/cfn-update-stack-continue-update-rollback_nested-stacks.png)


**nota**  
Los nombres de pilas de este ejemplo se han cortado para simplificar. CloudFormation suele generar nombres de pila secundarios, que contienen cadenas aleatorias únicas, por lo que es posible que los nombres reales no sean intuitivos.

Para poner la pila raíz en un estado de funcionamiento con el comando `continue-update-rollback`, debe utilizar la opción `--resources-to-skip` para omitir recursos que no se pudieron restaurar.

El ejemplo de **continue-update-rollback** a continuación reanuda una operación de reversión a partir de un intento fallido previo de una actualización de pila. En este ejemplo, la opción `--resources-to-skip` incluye los siguientes elementos:
+ `myCustom`
+ `WebInfra-Compute-Asg.myAsg`
+ `WebInfra-Compute-LB.myLoadBalancer`
+ `WebInfra-Storage.DB`

Para los recursos de la pila raíz, solo debe proporcionar el ID lógico, por ejemplo, `myCustom`. Sin embargo, para los recursos que se encuentran en las pilas anidadas, debe proporcionar el nombre de la pila anidada y su ID lógico, separados por un punto. Por ejemplo, `WebInfra-Compute-Asg.myAsg`.

```
aws cloudformation continue-update-rollback --stack-name WebInfra \
    --resources-to-skip myCustom WebInfra-Compute-Asg.myAsg WebInfra-Compute-LB.myLoadBalancer WebInfra-Storage.DB
```

**Búsqueda del nombre de pila de una pila anidada**  
Puede ubicarlo dentro del ID de pila o Nombre de recurso de Amazon (ARN) de una pila secundaria.

El siguiente ejemplo de ARN refiere a una pila denominada `WebInfra-Storage-Z2VKC706XKXT`.

```
arn:aws:cloudformation:us-east-1:123456789012:stack/WebInfra-Storage-Z2VKC706XKXT/ea9e7f90-54f7-11e6-a032-028f3d2330bd
```

**Búsqueda del ID lógico de una pila anidada**  
Puede encontrar el ID lógico de una pila secundaria en la definición de plantilla de su principal. En el diagrama, el `LogicalId` de la pila secundaria `WebInfra-Storage-DB` es `DB` en su principal `WebInfra-Storage`.

En la consola de CloudFormation, también puede encontrar el ID lógico en la columna **Logical ID (ID lógico)** del recurso de pila en la pestaña **Resources (Recursos)** o la pestaña **Events (Eventos)**. Para obtener más información, consulte [Visualización de la información de la pila desde la consola de CloudFormation](cfn-console-view-stack-data-resources.md).

# Determine la causa de una falla en la pila
<a name="determine-root-cause-for-stack-failures"></a>

Si no se puede crear la pila, CloudFormation puede ser de ayuda para determinar el evento que probablemente sea la causa raíz del error de la pila. Según el escenario y sus permisos, es posible que los eventos AWS CloudTrail puedan proporcionar más detalles sobre la causa raíz en caso de que el **motivo del estado** proporcionado en **Eventos** no sea claro.

**Determinación de la causa principal de una falla en la pila**

1. Abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En la página **Pilas**, seleccione la pila con una falla.

1. Seleccione la pestaña **Eventos**.

1. Seleccione **Detectar causa raíz**. CloudFormation analizará el error e indicará el evento que probablemente sea la causa raíz del error al agregar la etiqueta **Causa raíz probable** al evento específico **Estado**. Consulte **Motivo del estado** para obtener una explicación más detallada del estado en la consola de CloudFormation.

1. Elija el **estado** con errores con la etiqueta **Causa raíz probable** para obtener más información sobre la causa del error. Según el escenario y sus permisos, es posible que pueda revisar un evento de CloudTrail detallado. Estos son los siguientes posibles resultados de la elección del **estado**:
   + Los eventos de CloudTrail relacionados con este problema están disponibles y pueden ayudar a resolverlo. Visualice los eventos de CloudTrail.
   + No hemos encontrado ningún evento de CloudTrail relacionado con este problema que pueda ayudar a resolverlo.
   + Sus permisos actuales no permiten el acceso para ver los eventos de CloudTrail. Más información.
   + En proceso de comprobar los eventos de CloudTrail disponibles, vuelva a comprobarlos en unos minutos.
   + Se produjo un error al buscar los eventos de CloudTrail. Para una inspección manual, visite la consola de CloudTrail.

1. Si el motivo indicado en **Motivo del estado** no está claro y la causa raíz muestra un enlace a la consola de CloudTrail, abra el enlace para ver el evento y encontrar una causa raíz detallada.

Para obtener más información sobre los eventos de CloudTrail, consulte [Understanding CloudTrail events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-events.html) y [CloudTrail record contents](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html).

Para obtener más información sobre el historial de eventos de CloudTrail, consulte [Working with CloudTrail Event history](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html).

**nota**  
Las pilas anidadas no admiten la opción **Detectar causa raíz**.

# Elija cómo gestionar los errores al aprovisionar recursos
<a name="stack-failure-options"></a>

Si se produce un error en la operación de la pila, no tendrá que restaurar los recursos que ya se habían aprovisionado correctamente y volver a empezar desde el principio cada vez. En su lugar, puede solucionar los problemas de los recursos en un estado `UPDATE_FAILED` o `CREATE_FAILED` y, a continuación, reanudar el aprovisionamiento desde el punto en el que se produjo el problema. 

Para ello, debe activar la opción para conservar los recursos aprovisionados correctamente. Esta opción está disponible para todas las implementaciones de pilas y operaciones de conjuntos de cambios.
+ Para crear pilas, si elige la opción **Conservar los recursos aprovisionados correctamente**, CloudFormation conserva el estado de los recursos que se crearon correctamente y deja los con errores en un estado con error hasta que se lleve a cabo la siguiente operación de actualización.
+ Actualizar y cambiar las operaciones de conjunto establecidas en **Conservar los recursos aprovisionados correctamente** mantiene el estado de los recursos satisfactorios y, al mismo tiempo, reduce los recursos con errores al último estado estable conocido. El estado de los recursos con error será `UPDATE_FAILED`. Los recursos sin un último estado estable conocido se eliminarán en la siguiente operación de pila.

**Topics**
+ [

## Descripción general de las opciones de errores de pila
](#stack-failure-options-overview)
+ [

## Condiciones necesarias para pausar la reversión de la pila
](#stack-failure-options-conditions)
+ [

## Conservar los recursos aprovisionados correctamente (consola)
](#stack-failure-options-console)
+ [

## Conservar los recursos aprovisionados correctamente (AWS CLI)
](#stack-failure-options-cli)

## Descripción general de las opciones de errores de pila
<a name="stack-failure-options-overview"></a>

Antes de emitir una operación desde la consola de CloudFormation, la API o la AWS CLI, especifique el comportamiento de los errores de recursos aprovisionados. A continuación, continúe con el proceso de implementación de sus recursos sin ninguna otra modificación. En caso de que se produzca un error operativo, CloudFormation se detiene en el primer error de cada ruta de aprovisionamiento independiente. CloudFormation identifica las dependencias entre los recursos para paralelizar acciones de aprovisionamiento independientes. A continuación, procede a aprovisionar recursos en cada ruta de aprovisionamiento independiente hasta que se produce un error. Un error en una ruta no afecta a otras rutas de aprovisionamiento. CloudFormation continuará aprovisionando los recursos hasta que se completen o se detengan en un error diferente.

Solucione cualquier problema para continuar con el proceso de implementación. CloudFormation lleva a cabo las actualizaciones necesarias antes de volver a intentar las acciones de aprovisionamiento en los recursos que no se pudieron aprovisionar correctamente antes. Para solucionar los problemas, envíe una operación **Retry** (Reintentar), **Update** (Actualizar) o **Roll back** (Restaurar). Por ejemplo, si va a aprovisionar una instancia de Amazon EC2 y se produce un error en la instancia de EC2 durante una operación de creación, es posible que desee investigar el error, en lugar de deshacer el recurso fallido de inmediato. Puede revisar las verificaciones de estado del sistema y las verificaciones de estado de las instancias y, a continuación, seleccionar la operación **Retry** (Reintentar) una vez que se resuelvan los problemas.

Cuando se produce un error en una operación de pila y se ha especificado **Preserve successfully provisioned resources** (Conservar los recursos aprovisionados correctamente) en el menú **Stack failure options** (Opciones de error de pila), puede seleccionar las siguientes opciones.
+ **Retry** (Reintentar): reintenta la operación de aprovisionamiento en los recursos con errores y continúa aprovisionando la plantilla hasta que se complete correctamente la operación de pila o se produzca el siguiente error. Seleccione esta opción si el recurso no se ha podido aprovisionar debido a un problema que no requiere modificaciones en la plantilla, como un permiso de AWS Identity and Access Management (IAM).
+ **Update** (Actualizar): los recursos que se han aprovisionado se actualizan en las actualizaciones de la plantilla. Los recursos que no se hayan podido crear o actualizar se volverán a intentar. Seleccione esta opción si el recurso no se ha podido aprovisionar debido a errores de plantilla y ha modificado la plantilla. Cuando actualiza una pila cuyo estado es `FAILED`, debe seleccionar **Preserve successfully provisioned resources** (Conservar los recursos aprovisionados correctamente) en **Stack failure options** (Opciones de error de pila) para seguir actualizando la pila.
+ **Roll back** (Restaurar): CloudFormation restaura la pila al último estado estable conocido.

## Condiciones necesarias para pausar la reversión de la pila
<a name="stack-failure-options-conditions"></a>

Para evitar que CloudFormation reversione y elimine de forma automática los recursos que se crearon correctamente, deben cumplirse las siguientes condiciones.

1. Al crear o actualizar la pila, debe elegir la opción **Conservar los recursos aprovisionados correctamente**. Esto le indica a CloudFormation que no elimine los recursos que se crearon correctamente, incluso si se produce un error en la operación general de la pila.

1. La operación de apilamiento debe haber fallado, lo que significa que el estado de la pila es `CREATE_FAILED` o `UPDATE_FAILED`.

**nota**  
No se admiten los tipos de actualización inmutables.

## Conservar los recursos aprovisionados correctamente (consola)
<a name="stack-failure-options-console"></a>

------
#### [ Create stack ]

**Para conservar los recursos aprovisionados correctamente durante una operación de creación de pila**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En la página **Pilas**, seleccione **Crear pila** en la parte superior derecha y, a continuación, seleccione **Con recursos nuevos (estándar)**.

1. En **Requisito previo: preparar la plantilla**, elija **Seleccione una plantilla existente**.

1. En **Especificar plantilla**, elija especificar la dirección URL del bucket de S3 que contiene la plantilla de pila o cargar un archivo de plantilla de pila. A continuación, elija **Siguiente**.

1. En la página **Specify stack details** (Especificar los detalles de la pila), ingrese un nombre de pila en el cuadro **Stack name** (Nombre de la pila).

1. En la sección **Parameters** (Parámetros), especifique los parámetros que se definen en su plantilla de la pila.

   Puede utilizar o cambiar cualquier parámetro con valores predeterminados.

1. Cuando esté satisfecho con los valores de los parámetros, elija **Next** (Siguiente).

1. En la página **Configure stack options** (Configurar opciones de pila), puede configurar opciones adicionales para su pila.

1. En **Stack failure options** (Opciones de error de pila), seleccione **Preserve successfully provisioned resources** (Conservar los recursos aprovisionados correctamente).

1. Cuando esté satisfecho con las opciones de pila, elija **Next** (Siguiente).

1. Revise su pila en la página **Review** (Revisar) y seleccione **Create stack** (Crear pila).

*Resultados*: los recursos que no se pudieron crear hacen la transición del estado de la pila a `CREATE_FAILED` para evitar que la pila se restaure cuando se produce un error en la operación de pila. El estado de los recursos que se aprovisionan correctamente es `CREATE_COMPLETE`. Puede supervisar la pila en la pestaña **Stack events** (Eventos de la pila).

------
#### [ Update stack ]

**Para conservar los recursos aprovisionados correctamente durante una operación de pila de actualizaciones**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Seleccione la pila que desea actualizar y, a continuación, **Update** (Actualizar).

1. En la página **Update stack** (Actualizar pila), elija una plantilla de pila utilizando una de las siguientes opciones:
   + **Usar plantilla existente**
   + **Replace current template (Reemplazar la plantilla actual**
   + **Editar la plantilla en Infrastructure Composer**

   Acepte la configuración y seleccione **Next** (Siguiente).

1. En la página **Specify stack details** (Especificar los detalles de la pila), especifique los parámetros que se definen en la plantilla de pila.

   Puede utilizar o cambiar cualquier parámetro con valores predeterminados.

1. Cuando esté satisfecho con los valores de los parámetros, elija **Next** (Siguiente).

1. En la página **Configure stack options** (Configurar opciones de pila), puede configurar opciones adicionales para su pila.

1. Para el registro **Behavior on provisioning failure** (Comportamiento en caso de error de aprovisionamiento), seleccione **Preserve successfully provisioned resources** (Conservar los recursos aprovisionados correctamente).

1. Cuando esté satisfecho con las opciones de pila, elija **Next** (Siguiente).

1. Revise su pila en la página **Review** (Revisar) y seleccione **Update stack** (Actualizar pila).

*Resultados*: los recursos que no se pudieron actualizar hacen la transición del estado de la pila a `UPDATE_FAILED` y se restauran al último estado estable conocido. CloudFormation eliminará los recursos sin un último estado estable conocido en la siguiente operación de pila. El estado de los recursos que se aprovisionan correctamente es `CREATE_COMPLETE` o `UPDATE_COMPLETE`. Puede supervisar la pila en la pestaña **Stack events** (Eventos de la pila).

------
#### [ Change set ]

**nota**  
Puede iniciar un conjunto de cambios para una pila con un estado de `CREATE_FAILED` o `UPDATE_FAILED`, pero no con un estado de `UPDATE_ROLLBACK_FAILED`.

**Para conservar los recursos aprovisionados correctamente durante una operación de conjunto de cambios**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Seleccione la pila que contenga el conjunto de cambios que desea iniciar y, a continuación, elija la pestaña **Change sets** (Conjuntos de cambios).

1. Seleccione el conjunto de cambios y, a continuación, elija **Execute** (Ejecutar).

1. Para **Execute change set** (Ejecutar conjunto de cambios), seleccione la opción **Preserve successfully provisioned resources** (Conservar los recursos aprovisionados correctamente).

1. Seleccione **Execute change set** (Ejecutar conjunto de cambios).

*Resultados*: los recursos que no se pudieron actualizar hacen la transición del estado de la pila a `UPDATE_FAILED` y se restauran al último estado estable conocido. CloudFormation eliminará los recursos sin un último estado estable conocido en la siguiente operación de pila. El estado de los recursos que se aprovisionan correctamente es `CREATE_COMPLETE` o `UPDATE_COMPLETE`. Puede supervisar la pila en la pestaña **Stack events** (Eventos de la pila).

------

## Conservar los recursos aprovisionados correctamente (AWS CLI)
<a name="stack-failure-options-cli"></a>

------
#### [ Create stack ]

**Para conservar los recursos aprovisionados correctamente durante una operación de creación de pila**

Especifique la opción `--disable-rollback` o enumeración `on-failure DO_NOTHING` durante una operación [create-stack](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html).

1. Proporcione un nombre de pila y una plantilla al comando **create-stack** con la opción `--disable-rollback`.

   ```
   aws cloudformation create-stack --stack-name myteststack \
       --template-body file://template.yaml \
       --disable-rollback
   ```

   El comando devuelve el siguiente resultado:

   ```
   {
       "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
   }
   ```

1. Describa el estado de la pila mediante el comando **describe-stacks**.

   ```
   aws cloudformation describe-stacks --stack-name myteststack
   ```

   El comando devuelve el resultado siguiente.

   ```
   {
       "Stacks":  [
           {
               "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
               "Description": "AWS CloudFormation Sample Template",
               "Tags": [],
               "Outputs": [],
               "StackStatusReason": “The following resource(s) failed to create: [MyBucket]”,
               "CreationTime": "2013-08-23T01:02:15.422Z",
               "Capabilities": [],
               "StackName": "myteststack",
               "StackStatus": "CREATE_FAILED",
               "DisableRollback": true
           }
       ]
   }
   ```

------
#### [ Update stack ]

**Cómo preservar los recursos aprovisionados con éxito durante una operación de actualización de pila**

1. Proporcione un nombre de pila y una plantilla existentes al comando **update-stack** con la opción `--disable-rollback`.

   ```
   aws cloudformation update-stack --stack-name myteststack \
       --template-url https://s3.amazonaws.com/amzn-s3-demo-bucket/updated.template --disable-rollback
   ```

   El comando devuelve el resultado siguiente.

   ```
   {
       "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
   }
   ```

1. Describa el estado de la pila mediante el comando **describe-stacks** o **describe-stack-events**.

   ```
   aws cloudformation describe-stacks --stack-name myteststack
   ```

   El comando devuelve el resultado siguiente.

   ```
   {
       "Stacks":  [
           {
               "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
               "Description": "AWS CloudFormation Sample Template",
               "Tags": [],
               "Outputs": [],
               "CreationTime": "2013-08-23T01:02:15.422Z",
               "Capabilities": [],
               "StackName": "myteststack",
               "StackStatus": "UPDATE_COMPLETE",
               "DisableRollback": true
           }
       ]
   }
   ```

------
#### [ Change set ]

**nota**  
Puede iniciar un conjunto de cambios para una pila con un estado de `CREATE_FAILED` o `UPDATE_FAILED`, pero no para un estado de `UPDATE_ROLLBACK_FAILED`.

**Para conservar los recursos aprovisionados correctamente durante una operación de conjunto de cambios**

Especifique la opción `--disable-rollback` durante una operación [execute-change-set](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/execute-change-set.html).

1. Proporcione un nombre de pila y una plantilla al comando **execute-change-set** con la opción `--disable-rollback`.

   ```
   aws cloudformation execute-change-set --stack-name myteststack \
       --change-set-name my-change-set --template-body file://template.yaml
   ```

   El comando devuelve el siguiente resultado:

   ```
   {
    "Id": "arn:aws:cloudformation:us-east-1:123456789012:changeSet/my-change-set/bc9555ba-a949-xmpl-bfb8-f41d04ec5784",
    "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
   }
   ```

1. Inicie el conjunto de cambios con la opción `--disable-rollback`.

   ```
   aws cloudformation execute-change-set --stack-name myteststack \
       --change-set-name my-change-set -–disable-rollback
   ```

1. Determine el estado de la pila mediante el comando **describe-stacks** o **describe-stack-events**.

   ```
   aws cloudformation describe-stack-events --stack-name myteststack
   ```

   El comando devuelve el resultado siguiente.

   ```
   {
      "StackEvents": [
        {
           "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
           "EventId": "49c966a0-7b74-11ea-8071-024244bb0672",
           "StackName": "myteststack",
           "LogicalResourceId": " MyBucket",
           "PhysicalResourceId": "myteststack-MyBucket-abcdefghijk1",
           "ResourceType": "AWS::S3::Bucket",
           "Timestamp": "2020-04-10T21:43:17.015Z",
           "ResourceStatus": "UPDATE_FAILED"
           "ResourceStatusReason": "User XYZ is not allowed to perform S3::UpdateBucket on MyBucket"
        }
   }
   ```

1. Corrija los errores de los permisos y vuelva a ejecutar la operación.

   ```
   aws cloudformation update-stack --stack-name myteststack \
       --use-previous-template --disable-rollback
   ```

   El comando devuelve el resultado siguiente.

   ```
   {
       "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
   }
   ```

1. Describa el estado de la pila mediante el comando **describe-stacks** o **describe-stack-events**.

   ```
   aws cloudformation describe-stacks --stack-name myteststack
   ```

   El comando devuelve el resultado siguiente.

   ```
   {
       "Stacks":  [
           {
               "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
               "Description": "AWS CloudFormation Sample Template",
               "Tags": [],
               "Outputs": [],
               "CreationTime": "2013-08-23T01:02:15.422Z",
               "Capabilities": [],
               "StackName": "myteststack",
               "StackStatus": "UPDATE_COMPLETE",
               "DisableRollback": true
           }
       ]
   }
   ```

------

### Restauración de una pila
<a name="roll-back-stack-cli"></a>

Puede usar el comando [rollback-stack](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/rollback-stack.html) para restaurar una pila con un estado de pila `UPDATE_FAILED` o `CREATE_FAILED` a su último estado estable.

El siguiente comando **rollback-stack** revierte la pila especificada.

```
aws cloudformation rollback-stack --stack-name myteststack
```

El comando devuelve el resultado siguiente.

```
{
    "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
}
```

**nota**  
La operación **rollback-stack** borrará una pila si no contiene un último estado estable conocido.