

# Monitorar o progresso da pilha
<a name="monitor-stack-progress"></a>

Esta seção descreve como monitorar uma implantação de pilha que está em andamento. O CloudFormation fornece uma lista detalhada e cronológica dos eventos de implantação, mostrando o progresso e quaisquer problemas encontrados durante a implantação.

**Topics**
+ [Visualizar eventos de pilha](view-stack-events.md)
+ [Visualizar eventos das pilhas por operação](view-stack-events-by-operation.md)
+ [Visualizar um cronograma de implantação da pilha](stack-deployment-timeline-graph.md)
+ [Sobre eventos de criação de pilhas](stack-resource-configuration-complete.md)
+ [Monitorar atualizações de pilhas](using-cfn-updating-stacks-monitor-stack.md)
+ [

# Continuar revertendo uma atualização
](using-cfn-updating-stacks-continueupdaterollback.md)
+ [

# Determinar a causa de uma falha na pilha
](determine-root-cause-for-stack-failures.md)
+ [Stack failure options (Opções de falha da pilha)](stack-failure-options.md)

# Visualizar eventos de pilha do CloudFormation
<a name="view-stack-events"></a>

Você pode visualizar eventos de pilha para monitorar o progresso e o status de sua pilha e os recursos na pilha. Os eventos de pilha ajudam a entender quando os recursos estão sendo criados, atualizados ou excluídos e se a implantação de pilha está transcorrendo como esperado. 

**Topics**
+ [

## Visualizar eventos da pilha (console)
](#view-stack-events-console)
+ [

## Visualizar eventos da pilha (AWS CLI)
](#view-stack-events-cli)
+ [

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

## Visualizar eventos da pilha (console)
<a name="view-stack-events-console"></a>

**Para visualizar os eventos da pilha**

1. Abra o console do CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Na barra de navegação na parte superior da tela, escolha a Região da AWS na qual você criou a pilha.

1. Na página **Stacks** (Pilhas) do console do CloudFormation, selecione o nome da pilha. O CloudFormation exibe a página de detalhes da pilha para a pilha selecionada.

1. Escolha a guia **Eventos** para visualizar os eventos de pilha que o CloudFormation gerou para sua pilha. 

O CloudFormation atualiza automaticamente os eventos da pilha a cada minuto. Além disso, o CloudFormation exibe o emblema **Novos eventos disponíveis** quando ocorrem novos eventos de pilha. Escolha o ícone de atualização para carregar esses eventos na lista. Ao visualizar eventos de criação da pilha, você pode entender a sequência de eventos que levam à criação da sua pilha (ou falha, se você está depurando a pilha).

Durante a criação da pilha, ela estará listada na página **Pilhas** com um status de `CREATE_IN_PROGRESS`. Após a pilha ter sido criada com êxito, seu status muda para `CREATE_COMPLETE`.

Para obter mais informações, consulte [Entender os eventos de criação de pilhas do CloudFormation](stack-resource-configuration-complete.md) e [Monitorar o progresso da atualização de uma pilha](using-cfn-updating-stacks-monitor-stack.md).

## Visualizar eventos da pilha (AWS CLI)
<a name="view-stack-events-cli"></a>

Como alternativa, você pode usar o comando [describe-stack-events](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-events.html) enquanto a pilha está sendo criada para visualizar os eventos à medida que eles são relatados.

O comando **describe-stack-events** a seguir descreve os eventos da pilha `my-stack`.

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

O seguinte é um exemplo de resposta.

```
{
    "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"
        }
    ]
}
```

Os eventos mais recentes são relatados primeiro. A tabela a seguir descreve os campos retornados pelo comando **describe-stack-events**:


| Campo | Descrição | 
| --- | --- | 
| EventId |  Identificador de eventos.  | 
| StackName |  Nome da pilha a qual o evento corresponde.  | 
| StackId |  Identificador pilha ao qual o evento corresponde.  | 
| LogicalResourceId |  Identificador do recurso lógico.  | 
| PhysicalResourceId |  Identificador do recurso físico.  | 
| ResourceProperties |  Propriedades do recurso.  | 
| ResourceType |  Tipo de recurso.  | 
| Timestamp |  Hora em que o evento ocorreu.  | 
| ResourceStatus |  O status do recurso, que pode ser um dos seguintes códigos de status: `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` O status `DELETE_SKIPPED` se aplica aos recursos com um atributo de manutenção de política de exclusão.  | 
| DetailedStatus |  O status detalhado da pilha. Se `CONFIGURATION_COMPLETE` estiver presente, a fase de configuração dos recursos da pilha foi concluída e a estabilização dos recursos está em andamento.  | 
| ResourceStatusReason |  Mais informações sobre o status.  | 

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

A tabela a seguir descreve os códigos de status da pilha:


| Status da pilha e status detalhado opcional | Descrição | 
| --- | --- | 
|  `CREATE_COMPLETE`  |  Criação bem-sucedida de uma ou mais pilhas.  | 
|  `CREATE_IN_PROGRESS`  |  Criação contínua de uma ou mais pilhas.  | 
|  `CREATE_FAILED`  |  Criação malsucedida de uma ou mais pilhas. Visualize os eventos da pilha para ver as mensagens de erro associadas. As possíveis razões para uma falha na criação incluem permissões insuficientes para trabalhar com todos os recursos na pilha, valores de parâmetro rejeitados por um produto da AWS ou um tempo limite durante a criação de recursos.  | 
|  `DELETE_COMPLETE`  |  Exclusão bem-sucedida de uma ou mais pilhas. As pilhas excluídas serão retidas e poderão ser visualizadas por 90 dias.  | 
|  `DELETE_FAILED`  |  Exclusão malsucedida de uma ou mais pilhas. Como a exclusão falhou, alguns recursos ainda poderão estar em execução. No entanto, não é possível trabalhar com a pilha, tampouco atualizá-la. Exclua a pilha novamente ou visualize os eventos de pilha para ver as mensagens de erro associadas.  | 
|  `DELETE_IN_PROGRESS`  |  Remoção contínua de uma ou mais pilhas.  | 
| `REVIEW_IN_PROGRESS` | Criação contínua de uma ou mais pilhas com um StackId esperado, mas sem modelos ou recursos. Uma pilha com este código de status conta contra o [número máximo possível de pilhas](cloudformation-limits.md).  | 
|  `ROLLBACK_COMPLETE`  |  Remoção bem-sucedida de uma ou mais pilhas após uma falha na criação de uma pilha ou após um cancelamento explícito da criação de uma pilha. A pilha retorna ao estado operacional anterior. Quaisquer recursos criados durante a ação de criação da pilha serão excluídos. Esse status ocorre somente após uma falha de criação de uma pilha. Ele significa que todas as operações da pilha parcialmente criada foram adequadamente limpas. Ao entrar nesse estado, a única operação possível é a exclusão.  | 
|  `ROLLBACK_FAILED`  |  Remoção malsucedida de uma ou mais pilhas após uma falha na criação de uma pilha ou após um cancelamento explícito da criação de uma pilha. Exclua a pilha ou visualize os eventos de pilha para ver as mensagens de erro associadas.  | 
|  `ROLLBACK_IN_PROGRESS`  |  Remoção contínua de uma ou mais pilhas após uma falha na criação de uma pilha ou após um cancelamento explícito da criação de uma pilha.  | 
|  `UPDATE_COMPLETE`  | Atualização bem-sucedida de uma ou mais pilhas. | 
|  `UPDATE_COMPLETE_CLEANUP_IN_PROGRESS`  |  Remoção contínua de recursos antigos para uma ou mais pilhas após uma atualização bem-sucedida da pilha. Para atualizações de pilha que exigem a substituição de recursos, o CloudFormation cria os novos recursos primeiro e, em seguida, exclui os recursos antigos para ajudar a reduzir as interrupções com a pilha. Nesse estado, a pilha foi atualizado e é utilizável, mas o CloudFormation ainda está excluindo os recursos antigos.  | 
|  `UPDATE_FAILED`  | Atualização bem-sucedida de uma ou mais pilhas. Visualize os eventos da pilha para ver as mensagens de erro associadas. | 
|  `UPDATE_IN_PROGRESS`  |  Atualização contínua de uma ou mais pilhas.  | 
|  `UPDATE_ROLLBACK_COMPLETE`  |  Retorno bem-sucedido de uma ou mais pilhas para um estado de trabalho anterior após uma falha na atualização da pilha.  | 
|  `UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS`  |  Remoção contínua de recursos novos para uma ou mais pilhas após uma atualização falha da pilha. Nesse estado, a pilha foi revertida para seu estado de trabalho anterior e é utilizável, mas o CloudFormation ainda está excluindo os recursos novos criados durante a atualização da pilha.  | 
|  `UPDATE_ROLLBACK_FAILED`  |  Retorno malsucedido de uma ou mais pilhas para um estado de trabalho anterior após uma falha na atualização da pilha. Quando estiver neste estado, você pode excluir a pilha ou [continuar a reversão](using-cfn-updating-stacks-continueupdaterollback.md). Talvez você precise corrigir erros para que a pilha possa retornar a um estado operacional. Se preferir, entre em contato com o Suporte para restaurar a pilha para um estado utilizável.  | 
|  `UPDATE_ROLLBACK_IN_PROGRESS`  |  Retorno contínuo de uma ou mais pilhas para o estado de trabalho anterior após falha na atualização da pilha.  | 
|  `IMPORT_IN_PROGRESS`  |  A operação de importação está em andamento.  | 
|  `IMPORT_COMPLETE`  |  A operação de importação foi concluída com êxito para todos os recursos da pilha que oferecem suporte a `resource import`.  | 
|  `IMPORT_ROLLBACK_IN_PROGRESS`  |  A importação será revertida para a configuração do modelo anterior.  | 
|  `IMPORT_ROLLBACK_FAILED`  |  Houve uma falha na operação de reversão de importação para pelo menos um recurso na pilha. Os resultados serão disponibilizados para os recursos importados com êxito pelo CloudFormation.  | 
|  `IMPORT_ROLLBACK_COMPLETE`  |  A importação foi revertida com êxito para a configuração de modelo anterior.  | 

# Visualizar eventos das pilhas por operação
<a name="view-stack-events-by-operation"></a>

Você pode visualizar os eventos das pilhas agrupados por operação para entender melhor a sequência e o escopo das alterações feitas em sua pilha. O agrupamento baseado em operações ajuda você a acompanhar eventos relacionados em conjunto, facilitando o monitoramento do progresso e a solução de problemas quando eles ocorrerem.

Cada operação de pilha (criar, atualizar, excluir, reverter) recebe um ID de operação exclusivo que agrupa todos os eventos relacionados. Isso permite que você mantenha o foco em operações específicas e identifique rapidamente a causa raiz das falhas.

**Topics**
+ [

## Pré-requisitos
](#view-stack-events-by-operation-prerequisites)
+ [

## Visualizar eventos de pilhas por operação (console)
](#view-stack-events-by-operation-console)
+ [

## Visualizar eventos de pilhas por operação (AWS CLI)
](#view-stack-events-by-operation-cli)
+ [

## Códigos de status da pilha
](#stack-status-codes)

## Pré-requisitos
<a name="view-stack-events-by-operation-prerequisites"></a>

Para usar a API `DescribeEvents`, você deve ter as permissões necessárias do IAM para:`DescribeEvents`.

## Visualizar eventos de pilhas por operação (console)
<a name="view-stack-events-by-operation-console"></a>

**Para visualizar os eventos de pilhas agrupados por operação**

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Na barra de navegação na parte superior da tela, escolha a Região da AWS na qual você criou a pilha.

1. Na página **Pilhas**, selecione o nome da pilha. O CloudFormation exibe a página de detalhes da pilha para a pilha selecionada.

1. Escolha a guia **Eventos** para visualizar os eventos de pilha que o CloudFormation gerou para sua pilha.

1. Os eventos são agrupados automaticamente por ID da operação. Cada operação aparece como uma seção expansível mostrando o seu tipo, status e carimbo de data e hora.

1. Clique no **ID de uma operação** para abrir uma visualização detalhada mostrando somente os eventos relacionados a essa operação específica.

1. Na exibição de detalhes da operação, marque a caixa de seleção **Exibir somente falhas** para exibir somente eventos com falha na análise da causa raiz.

O CloudFormation atualiza automaticamente os eventos da pilha a cada minuto. O emblema **Novos eventos disponíveis** aparece quando ocorrem novos eventos de pilha. Escolha o ícone de atualização para carregar esses eventos na lista.

Ao visualizar os eventos da pilha agrupados por operação, você pode entender a sequência de eventos de cada operação e identificar rapidamente qual operação específica causou problemas (se você estiver depurando a pilha).

Enquanto sua operação de pilha está em execução, ela é listada com um status de `CREATE_IN_PROGRESS`, `UPDATE_IN_PROGRESS` ou `DELETE_IN_PROGRESS`. Depois que sua operação for concluída com êxito, seu status mudará para `CREATE_COMPLETE`, `UPDATE_COMPLETE` ou `DELETE_COMPLETE`.

Para obter mais informações, consulte [Entender os eventos de criação de pilhas do CloudFormation](stack-resource-configuration-complete.md) e [Monitorar o progresso da atualização de uma pilha](using-cfn-updating-stacks-monitor-stack.md).

## Visualizar eventos de pilhas por operação (AWS CLI)
<a name="view-stack-events-by-operation-cli"></a>

Você pode usar o comando `describe-events` com filtragem de ID de operação para visualizar eventos de operações específicas.

### Obter IDs da última operação
<a name="get-last-operation-ids"></a>

A descrição da pilha disponível por meio da API describe-stacks agora inclui informações de LastOperations mostrando os IDs de operações recentes e seus tipos. Isso permite que você identifique rapidamente quais operações ocorreram e seu status atual sem analisar os logs de eventos.

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

Veja a seguir um exemplo de resposta mostrando que a última operação foi uma reversão após uma falha na operação de atualização.

```
{  
    "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"  
                }  
            ]  
        }  
    ]  
}
```

### Filtrar eventos por ID de operação
<a name="filter-events-by-operation-id"></a>

O comando `describe-events` abaixo descreve os eventos para um ID de operação específico:

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

Para visualizar somente eventos com falha para solução de problemas, use o parâmetro `--filter FailedEvents=true`:

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

O novo recurso de filtragem de ID de operação permite que você se concentre em operações específicas e seus eventos relacionados. Ela é particularmente útil para:
+ **Solução de falhas específicas:** isole os eventos de uma operação com falha para entender o que deu errado.
+ **Monitoramento de operações de longa duração:** acompanhe o progresso de atualizações complexas ou implantações de grandes pilhas.
+ **Auditoria de alterações:** revise todos os eventos associados a uma operação de atualização específica.
+ **Análise da causa raiz:** use o filtro de falhas para identificar rapidamente a origem dos problemas de implantação.

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

A tabela abaixo descreve os campos retornados pelo comando `describe-events` ao usar a operação de filtragem de ID:


| Campo | Descrição | 
| --- | --- | 
| EventId | Identificador de eventos. | 
| OperationId | Identificador exclusivo para a operação que gerou esse evento. | 
| StackName | Nome da pilha a qual o evento corresponde. | 
| StackId | Identificador pilha ao qual o evento corresponde. | 
| LogicalResourceId | Identificador do recurso lógico. | 
| PhysicalResourceId | Identificador do recurso físico. | 
| ResourceProperties | Propriedades do recurso. | 
| ResourceType | Tipo de recurso. | 
| Timestamp | Hora em que o evento ocorreu. | 
| ResourceStatus | O status do recurso (CREATE\$1COMPLETE, UPDATE\$1FAILED etc.). | 
| DetailedStatus | O status detalhado da pilha. Se CONFIGURATION\$1COMPLETE estiver presente, a fase de configuração dos recursos da pilha foi concluída e a estabilização dos recursos está em andamento. | 
| ResourceStatusReason | Mais informações sobre o status. | 

# Visualizar um cronograma de implantação da pilha do CloudFormation
<a name="stack-deployment-timeline-graph"></a>

O cronograma de implantação da pilha fornece uma representação visual da cronologia da implantação da pilha. Essa visão mostra os status de implantações das pilhas e de cada um de seus recursos e quando cada status foi alterado. Os status das implantações de pilhas são representados por uma cor correspondente.

**Topics**
+ [

## Entender o cronograma de implantação da pilha
](#understanding-stack-deployment-timeline-graph)
+ [

## Visualizar o cronograma de implantação da pilha (console)
](#viewing-stack-deployment-timeline-graph)

## Entender o cronograma de implantação da pilha
<a name="understanding-stack-deployment-timeline-graph"></a>

A imagem a seguir mostra o cronograma de uma implantação de pilha que não teve sucesso devido a uma falha na inicialização de um recurso de instância do Amazon EC2.

![\[Um cronograma de implantação da pilha para uma implantação de pilha em que houve falha.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/deployment-timeline-graph.PNG)


Os nomes dos recursos de pilha se encontram do lado esquerdo do gráfico, e a data e hora da implantação se encontram na parte superior do gráfico.

Cada recurso começa com o status **Em andamento**. A barra de status muda para **Concluída** para cada implantação bem-sucedida. A barra de status muda para **Falha** quando ocorre falha na implantação de um recurso. Quando ocorre uma falha na implantação de um recurso e também na implantação da pilha, o recurso responsável pela falha na implantação da pilha recebe o status de **Provável falha-raiz**.

Depois que ocorreu uma falha na operação de implantação da pilha, o recurso implantado com sucesso começa a ser revertido e seu status muda para **Reversão em andamento**. Os status mudam para **Reversão concluída** após a conclusão da reversão do recurso.

Escolher cada recurso fornece detalhes mais granulares sobre o cronograma da implantação:

![\[Um pop-over do cronograma de implantação da pilha mostrando os detalhes da implantação do recurso com falha escolhido.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/deployment-timeline-graph-root-cause.PNG)


Escolher um recurso mostra o **Tipo**, a **Hora de início**, a **Hora de término** e a **Duração total** da implantação. Você também encontrará a **Hora de início**, a **Hora de término** e a **Duração** de cada status de implantação nos menus suspensos abaixo. Se houver falha na implantação de um recurso, um **motivo da falha** será fornecido.

Para obter mais informações sobre os status das pilhas, consulte [Códigos de status da pilha](view-stack-events.md#cfn-console-view-stack-data-resources-status-codes).

## Visualizar o cronograma de implantação da pilha (console)
<a name="viewing-stack-deployment-timeline-graph"></a>

Para visualizar o cronograma de implantação da pilha:

1. Abra o console do CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Na barra de navegação na parte superior da tela, escolha a Região da AWS na qual você criou a pilha.

1. Na página **Pilhas** do console do CloudFormation, escolha o nome da pilha. O CloudFormation exibe a página de detalhes da pilha para a pilha selecionada.

1. Escolha a guia **Eventos** para visualizar os eventos de pilha que o CloudFormation gerou para sua pilha. 

1. Escolha o botão **Cronograma** para visualizar o cronograma da pilha. 

# Entender os eventos de criação de pilhas do CloudFormation
<a name="stack-resource-configuration-complete"></a>

Durante a implantação da pilha, vários eventos ocorrem para criar, configurar e validar os recursos definidos no modelo da pilha. Compreender esses eventos pode ajudar você a otimizar seu processo de criação de pilhas e simplificar as implantações.
+ **Eventos de criação de recursos**: quando cada recurso inicia o processo de criação, é definido um evento de **Status** de `CREATE_IN_PROGRESS`. Esse evento indica que o recurso está sendo provisionado.
+ **Verificação final de consistência**: uma parte significativa do tempo de criação da pilha é usada na verificação final de consistência com os recursos criados pela pilha. Durante essa fase, o serviço realiza verificações internas de consistência, garantindo que o recurso esteja totalmente operacional e atenda aos critérios de estabilização de serviço definidos por cada AWS service (Serviço da AWS).
+ **Evento de conclusão da configuração**: quando cada recurso tiver concluído a eventual fase de verificação de consistência do provisionamento, será definido um evento de **Status detalhado** de `CONFIGURATION_COMPLETE`.
+ **Evento de conclusão da criação de recursos**: depois que o recurso for criado e configurado conforme especificado e a configuração corresponder ao especificado no modelo, o **Status** do evento `CREATE_COMPLETE` será definido.

É possível utilizar o evento `CONFIGURATION_COMPLETE` para agilizar o processo de criação de pilhas em cenários em que a verificação eventual da consistência dos recursos não é necessária, como a validação de uma configuração de pilha de pré-produção ou o provisionamento entre pilhas. Esse evento pode ser usado de várias maneiras. Por exemplo, você pode usá-lo como um sinal visual para evitar a espera pela conclusão da verificação de consistência do recurso ou da pilha. Ou você pode usá-lo para criar um mecanismo automatizado usando integração e entrega contínuas (CI/CD) para acionar ações adicionais.

**Importante**  
Embora a utilização do evento `CONFIGURATION_COMPLETE` acelere os tempos de criação da pilha, tenha em mente suas vantagens e desvantagens. Primeiro, ele só é compatível com um subconjunto de tipos de recursos que seja compatível com detecção de desvios. Para obter uma lista dos tipos de recursos que são compatíveis com detecção de desvios, consulte [Suporte a tipos de recursos](resource-import-supported-resources.md). Essa abordagem pode não ser adequada para todos os cenários, especialmente quando os recursos exigem verificações completas de consistência para garantir a prontidão operacional total em todo o ambiente de nuvem (por exemplo, em ambientes de produção). Recomendamos avaliar cuidadosamente seus requisitos de implantação e a importância das verificações de consistência de cada recurso. Use o evento `CONFIGURATION_COMPLETE` para otimizar as velocidades de implantação sem comprometer a integridade e a confiabilidade da sua infraestrutura.   
Como não é garantido que o evento `CONFIGURATION_COMPLETE` seja definido, qualquer cenário que o use deverá estar preparado para lidar com um evento `CREATE_COMPLETE` quando nenhum evento `CONFIGURATION_COMPLETE` tiver sido definido.

![\[Diagrama mostrando a sequência de eventos para criação de recursos e uma eventual verificação de consistência em uma pilha.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/configuration-complete.png)


Quando a implantação da pilha é iniciada, os recursos `AWS::ECR::Repository` e `AWS::ECS::Cluster` iniciam o processo de criação (`ResourceStatus` = `CREATE_IN_PROGRESS`). Quando o tipo de recurso `AWS::ECR::Repository` tiver iniciado a verificação de consistência eventual (`DetailedStatus` = `CONFIGURATION_COMPLETE`), o recurso `AWS::ECS::TaskDefinition` poderá iniciar o processo de criação. Da mesma forma, quando o recurso `AWS::ECS::TaskDefinition` iniciar a verificação de consistência eventual, o recurso `AWS::ECS::Service` iniciará o processo de criação.

**Eventos do `CREATE_IN_PROGRESS` e do `CREATE_COMPLETE`**
+ **[Stack]:** `CREATE_IN_PROGRESS`
+ **[Resource]:** repositório do ECR `CREATE_IN_PROGRESS`
+ **[Resource]:** cluster do ECS `CREATE_IN_PROGRESS`
+ **[Resource]:** repositório do ECR `CREATE_IN_PROGRESS`, `CONFIGURATION_COMPLETE`
+ **[Resource]:** definição de tarefa do ECS `CREATE_IN_PROGRESS`
+ **[Resource]:** cluster do ECS `CREATE_IN_PROGRESS`, `CONFIGURATION_COMPLETE`
+ **[Resource]:** definição de tarefa do ECS `CREATE_IN_PROGRESS`, `CONFIGURATION_COMPLETE`
+ **[Resource]:** serviço do ECS `CREATE_IN_PROGRESS`
+ **[Resource]:** repositório do ECR `CREATE_COMPLETE`
+ **[Resource]:** cluster do ECS `CREATE_COMPLETE`
+ **[Resource]:** serviço do ECS `CREATE_IN_PROGRESS`, `CONFIGURATION_COMPLETE`
+ **[Stack]:** `CREATE_IN_PROGRESS`, `CONFIGURATION_COMPLETE`
+ **[Resource]:** definição de tarefa do ECS `CREATE_COMPLETE`
+ **[Resource]:** serviço do ECS `CREATE_COMPLETE`
+ **[Stack]:** `CREATE_COMPLETE`

# Monitorar o progresso da atualização de uma pilha
<a name="using-cfn-updating-stacks-monitor-stack"></a>

Monitore o progresso da atualização de uma pilha visualizando os eventos da pilha. A guia **Eventos** do console exibe cada etapa principal da criação e atualização da pilha classificada pelo tempo de cada evento, com os eventos mais recentes na parte superior. Para obter mais informações, consulte [Monitorar o progresso da pilha](monitor-stack-progress.md).

**Topics**
+ [

## Eventos gerados durante uma atualização de pilha bem-sucedida
](#using-cfn-updating-stacks-monitor-stack-update-events)
+ [

## Eventos gerados quando uma atualização de recurso falha
](#using-cfn-updating-stacks-monitor-stack-update-failure)

## Eventos gerados durante uma atualização de pilha bem-sucedida
<a name="using-cfn-updating-stacks-monitor-stack-update-events"></a>

O início do processo de atualização da pilha é marcado com um evento `UPDATE_IN_PROGRESS` para a pilha:

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

Em seguida estão os eventos que marcam o início e a conclusão da atualização de cada recurso que foi alterado no modelo de atualização. Por exemplo, a atualização de um recurso de [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) chamado `MyDB` resultaria nas seguintes 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
```

O evento `UPDATE_IN_PROGRESS` é registrado em log quando o CloudFormation relata que começou a atualizar o recurso. O evento `UPDATE_COMPLETE` é registrado em log quando o recurso é criado com êxito.

Quando o CloudFormation tiver atualizado com êxito a pilha, você verá o seguinte evento:

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

**Importante**  
Durante as operações de atualização de pilha, se o CloudFormation precisar substituir um recurso existente, primeiramente ele criará um novo recurso e, em seguida, excluirá o antigo. No entanto, pode haver casos em que o CloudFormation não pode excluir o recurso antigo (por exemplo, se o usuário não tiver permissões para excluir um recurso de um determinado tipo).  
O CloudFormation faz três tentativas de excluir o recurso antigo. Se o CloudFormation não puder excluir o recurso antigo, ele removerá o recurso antigo da pilha e continuará a atualizá-la. Quando a atualização da pilha estiver concluída, o CloudFormation emitirá um evento de pilha `UPDATE_COMPLETE`, mas incluirá um `StatusReason` que declarará que não foi possível excluir um ou mais recursos. O CloudFormation também emite um evento `DELETE_FAILED` para o recurso específico, com um `StatusReason` correspondente fornecendo mais detalhes sobre o motivo pelo qual o CloudFormation não conseguiu excluir o recurso.  
O recurso antigo ainda existe e continuará a gerar cobranças, mas deixará de ser acessível por meio do CloudFormation. Para excluir o recurso antigo, acesse o recurso antigo diretamente usando o console ou a API do serviço em questão.  
Isso também se aplica aos recursos que você removeu do modelo de pilha e, portanto, eles serão excluídos da pilha durante a atualização da pilha.

## Eventos gerados quando uma atualização de recurso falha
<a name="using-cfn-updating-stacks-monitor-stack-update-failure"></a>

Se a atualização de um recurso falhar, o CloudFormation relatará um evento `UPDATE_FAILED` que incluirá um motivo para a falha. Por exemplo, se o modelo de atualização tiver especificado uma alteração de propriedade não aceita pelo recurso, como a redução do tamanho de `AllocatedStorage` para um recurso de [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), você verá eventos como estes:

```
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
```

Se um recurso de atualização falhar, o CloudFormation reverterá quaisquer recursos que tiverem sido atualizados para as configurações anteriores à atualização. Aqui está um exemplo de eventos que seriam vistos durante uma reversão de atualização:

```
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]
```

# Continuar revertendo uma atualização
<a name="using-cfn-updating-stacks-continueupdaterollback"></a>

Às vezes, quando o CloudFormation tenta reverter uma atualização de pilha, ele não consegue reverter todas as alterações feitas durante o processo de atualização. Isso é chamado de estado `UPDATE_ROLLBACK_FAILED`. Por exemplo, é possível ter uma pilha que começa a reverter para uma instância antiga de banco de dados que foi excluída fora do CloudFormation. Como o CloudFormation não sabe que o banco de dados foi excluído, ele pressupõe que a instância de banco de dados ainda existe e tenta reverter para ela, fazendo com que a atualização de reversão falhe.

Uma pilha no estado `UPDATE_ROLLBACK_FAILED` não pode ser atualizada, mas pode ser revertida para um estado funcional (`UPDATE_ROLLBACK_COMPLETE`). Após retornar a pilha às suas configurações originais, você pode tentar atualizá-la novamente.

Na maioria dos casos, é necessário corrigir o erro que faz com que a atualização de reversão falhe antes de continuar a reverter sua pilha. Em outros casos, é possível continuar a reverter a atualização sem qualquer alteração, por exemplo, quando uma operação de pilha expira.

**nota**  
Se você usa pilhas aninhadas, ao reverter a pilha pai, ela tentará reverter todas as pilhas filhos.

**Para continuar revertendo uma atualização (console)**

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Na barra de navegação na parte superior da tela, escolha a Região da AWS em que a pilha está localizada.

1. Na página **Pilhas**, escolha a pilha que você deseja atualizar, escolha **Ações da pilha** e selecione **Continuar reversão da atualização**.

   Se nenhuma das soluções no [Solucionar de problemas de erros](troubleshooting.md#troubleshooting-errors) funcionou, é possível usar a opção avançada para ignorar os recursos que o CloudFormation não pode reverter com êxito. É necessário [examinar](cfn-console-view-stack-data-resources.md) e digitar os IDs lógicos dos recursos que você deseja ignorar. Especifique somente os recursos que entraram no estado `UPDATE_FAILED` durante o `UpdateRollback`, e não durante a atualização.
**Atenção**  
O CloudFormation define o status dos recursos especificados como `UPDATE_COMPLETE` e continua a reverter a pilha. Após a reversão ser concluída, o estado dos recursos ignorados será inconsistente com o estado dos recursos no modelo de pilha. Antes de executar outra atualização da pilha, é necessário atualizar a pilha ou os recursos para que sejam consistentes entre si. Caso contrário, as atualizações de pilha subsequentes podem falhar e a pilha se tornará irrecuperável.

   Especifique o número mínimo de recursos exigidos para reverter sua pilha com êxito. Por exemplo, uma falha na atualização de recursos pode fazer com que os recursos dependentes falhem. Neste caso, não será necessário ignorar os recursos dependentes.

   Para ignorar recursos que são parte de pilhas aninhadas, use o seguinte formato: `NestedStackName.ResourceLogicalID`. Se você deseja especificar o ID lógico de uma pilha de recursos (`Type: AWS::CloudFormation::Stack`) na lista `ResourcesToSkip` então sua pilha incorporada correspondente deve estar em um dos seguintes estados: `DELETE_IN_PROGRESS`, `DELETE_COMPLETE` ou `DELETE_FAILED`.

**Para continuar revertendo uma atualização (AWS CLI)**
+ Use o 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) com a opção `--stack-name` para especificar o ID da pilha que você deseja continuar revertendo.

## Continue revertendo de atualizações de pilhas aninhadas que falharam
<a name="nested-stacks"></a>

Se você tiver várias pilhas aninhadas umas com as outras, talvez seja necessário pular recursos em vários níveis aninhados para que a hierarquia full-stack volte a funcionar. 

Por exemplo, você tem uma pilha raiz chamada `WebInfra` que contém duas pilhas menores dentro dela: `WebInfra-Compute` e `WebInfra-Storage`. Essas duas pilhas também têm suas próprias pilhas aninhadas dentro delas.

Se algo errado ocorrer durante uma atualização e o processo de atualização falhar, toda a hierarquia da pilha poderá acabar no estado `UPDATE_ROLLBACK_FAILED`, conforme mostrado no diagrama a seguir. 

![\[Um diagrama que mostra uma hierarquia de três níveis de pilhas aninhadas.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/cfn-update-stack-continue-update-rollback_nested-stacks.png)


**nota**  
Os nomes das pilhas neste exemplo são truncados para simplicidade. Os nomes das pilhas filhos geralmente são gerados pelo CloudFormation e contêm strings aleatórias exclusivas, de forma que os nomes reais podem não ser acessíveis.

Para colocar a pilha raiz em um estado operável usando o comando `continue-update-rollback`, é necessário usar a opção `--resources-to-skip` para ignorar os recursos que falharam na reversão.

O exemplo **continue-update-rollback** a seguir retoma uma operação de reversão de uma atualização de pilha anterior em que houve falha. Neste exemplo, a opção `--resources-to-skip` inclui os seguintes itens:
+ `myCustom`
+ `WebInfra-Compute-Asg.myAsg`
+ `WebInfra-Compute-LB.myLoadBalancer`
+ `WebInfra-Storage.DB`

Para os recursos da pilha raiz, basta fornecer o ID lógico, por exemplo, `myCustom`. No entanto, para os recursos contidos em pilhas aninhadas, é necessário fornecer o nome da pilha aninhada e seu ID lógico separados por um ponto. Por exemplo, `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
```

**Para localizar o nome da pilha de uma pilha aninhada**  
É possível localizá-lo no ID da pilha ou no nome do recurso da Amazon (ARN) da pilha filha.

O exemplo de ARN a seguir refere-se a uma pilha chamada `WebInfra-Storage-Z2VKC706XKXT`.

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

**Para localizar o ID lógico de uma pilha aninhada**  
É possível encontrar o ID lógico de uma pilha filho na definição do modelo de seu pai. No diagrama, o `LogicalId` da pilha filha `WebInfra-Storage-DB` é `DB` em sua pilha pai `WebInfra-Storage`.

No console do CloudFormation, também é possível encontrar o ID lógico na coluna **ID lógico** para o recurso de pilha nas guias **Recursos** ou **Eventos**. Para obter mais informações, consulte [Visualizar informações da pilha no console do CloudFormation](cfn-console-view-stack-data-resources.md).

# Determinar a causa de uma falha na pilha
<a name="determine-root-cause-for-stack-failures"></a>

Se a criação da pilha apresentar falhas, o CloudFormation poderá ajudar você a determinar o evento que, provavelmente, é a causa-raiz da falha da pilha. Dependendo do cenário e das suas permissões, os eventos do AWS CloudTrail poderão fornecer mais detalhes sobre a causa-raiz, caso o **Motivo do status** fornecido em **Eventos** não esteja claro.

**Para determinar a causa raiz de uma falha na pilha**

1. Abra o console do CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Na página **Pilhas**, selecione a pilha que apresentou a falha.

1. Escolha a guia **Eventos**.

1. Escolha **Detectar causa-raiz**. O CloudFormation analisará a falha e indicará o evento que é a provável causa da falha ao adicionar um rótulo de **Causa-raiz provável** ao evento específico **Status**. Consulte **Motivo do status** para obter mais explicações sobre o status no console do CloudFormation.

1. Escolha o **Status** de falha com o rótulo **Causa-raiz provável** para saber mais sobre a causa da falha. Dependendo do cenário e das suas permissões, será possível analisar um evento detalhado do CloudTrail. Confira a seguir os possíveis resultados da escolha do **Status**.
   + Os eventos do CloudTrail relacionados a esse problema estão disponíveis e podem ajudar na resolução. Visualize os eventos do CloudTrail.
   + Não foi possível encontrar nenhum evento do CloudTrail relacionado a esse problema que pudesse ajudar na resolução.
   + Suas permissões atuais não permitem o acesso para a visualização dos eventos do CloudTrail. Saiba mais.
   + No processo de verificação dos eventos do CloudTrail disponíveis, verifique novamente em alguns minutos.
   + Ocorreu um erro ao buscar os eventos do CloudTrail. Para realizar uma inspeção manual, acesse o console do CloudTrail.

1. Se o motivo fornecido em **Motivo do status** não estiver claro e a causa-raiz exibir um link para o console do CloudTrail, abra o link para visualizar o evento e encontrar uma causa-raiz detalhada.

Para obter mais informações sobre eventos do CloudTrail, consulte [Understanding CloudTrail events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-events.html) e [CloudTrail record contents](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html).

Para obter mais informações sobre o histórico de eventos do CloudTrail, consulte [Working with CloudTrail Event history](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html).

**nota**  
As pilhas aninhadas não oferecem suporte para a opção **Detectar causa-raiz**.

# Escolha como lidar com falhas ao provisionar recursos
<a name="stack-failure-options"></a>

Se sua operação de pilha falhar, você não precisará reverter recursos que já foram provisionados com sucesso e recomeçar do início todas as vezes. Em vez disso, você pode solucionar problemas de recursos em um status `CREATE_FAILED` ou `UPDATE_FAILED` e, em seguida, retomar o provisionamento a partir do ponto em que o problema ocorreu. 

Para fazer isso, é necessário habilitar a opção preservar recursos provisionados com êxito. Essa opção está disponível para todas as implementações de pilha e operações de conjunto de alterações.
+ Para criar uma pilha, se você escolher a opção **Preservar recursos provisionados com sucesso**, o CloudFormation preservará o estado dos recursos que foram criados com sucesso e deixará os recursos com falha até que a próxima operação de atualização seja realizada.
+ Durante as operações de atualização e de conjunto de alterações, a opção **Preservar recursos provisionados com êxito** preserva o estado dos recursos bem-sucedidos e reverte os recursos com falha para seu último estado estável conhecido. Os recursos com falha estarão em um estado de `UPDATE_FAILED`. Os recursos sem um último estado estável conhecido serão excluídos na próxima operação de pilha.

**Topics**
+ [

## Visão geral de opções de falha de pilhas
](#stack-failure-options-overview)
+ [

## Condições necessárias para pausar a reversão da pilha
](#stack-failure-options-conditions)
+ [

## Preservar recursos provisionados com êxito (console)
](#stack-failure-options-console)
+ [

## Preservar recursos provisionados com êxito (AWS CLI)
](#stack-failure-options-cli)

## Visão geral de opções de falha de pilhas
<a name="stack-failure-options-overview"></a>

Antes de emitir uma operação usando o console, a API ou a AWS CLI do CloudFormation, especifique o comportamento caso ocorra falha do recurso provisionado. Em seguida, prossiga com o processo de implantação dos seus recursos sem outras modificações. No caso de uma falha operacional, o CloudFormation interrompe na primeira falha em cada caminho de provisionamento independente. O CloudFormation identifica dependências entre recursos a fim de paralelizar ações de provisionamento independentes. Em seguida, continua a provisionar recursos em cada caminho de provisionamento independente até se deparar com uma falha. Uma falha em um caminho não afeta os demais caminhos de provisionamento. O CloudFormation continuará a provisionar os recursos até a conclusão ou até interromper em uma falha diferente.

Corrija todos os problemas para dar continuidade ao processo de implantação. O CloudFormation faz as atualizações necessárias antes de tentar novamente as ações de provisionamento em recursos que não puderam ser provisionados com êxito antes. Solucione problemas enviando operações **Retry** (Tentar novamente), **Update** (Atualizar) ou **Roll back** (Reverter). Por exemplo, se estiver provisionando uma instância do Amazon EC2 e ela falhar durante uma operação de criação, talvez você queira investigar o erro em vez de reverter o recurso com falha imediatamente. É possível revisar as verificações de status do sistema e as verificações de status de instâncias e, em seguida, selecionar a operação **Retry** (Tentar novamente) assim que os problemas forem resolvidos.

Quando uma operação de pilha falha e você especifica **Preserve successfully provisioned resources** (Preservar recursos provisionados com êxito) no menu **Stack failure options** (Opções de falha da pilha), é possível selecionar as seguintes opções.
+ **Retry** ()Tentar novamente: repete a operação de provisionamento em recursos com falha e continua provisionando o modelo até a conclusão bem-sucedida da operação da pilha ou até a próxima falha. Selecione essa opção se o provisionamento do recurso tiver falhado devido a um problema que não requer modificações no modelo, como uma permissão do AWS Identity and Access Management (IAM).
+ **Update** (Atualizar): os recursos que foram provisionados são atualizados em atualizações de modelos. Os recursos que não tiverem sido criados ou atualizados serão repetidos. Selecione essa opção se o provisionamento do recurso tiver falhado devido a erros de modelo, e você tiver modificado o modelo. Ao atualizar uma pilha em estado `FAILED`, você deve selecionar **Preserve successfully provisioned resources** (Preservar recursos provisionados com êxito) em **Stack failure options** (Opções de falha da pilha) para continuar atualizando sua pilha.
+ **Roll back** (Reverter): o CloudFormation reverte a pilha ao último estado estável conhecido.

## Condições necessárias para pausar a reversão da pilha
<a name="stack-failure-options-conditions"></a>

Para impedir que o CloudFormation reverta e exclua automaticamente recursos que foram criados com êxito, as seguintes condições precisam ser atendidas.

1. Ao criar ou atualizar a pilha, você deve escolher a opção **Preservar recursos provisionados com sucesso**. Isso faz com que o CloudFormation não exclua os recursos que foram criados com sucesso, mesmo que a operação geral da pilha falhe.

1. A operação da pilha deve ter falhado, o que significa que o status da pilha é `CREATE_FAILED` ou `UPDATE_FAILED`.

**nota**  
Não há suporte para tipos de atualização imutáveis.

## Preservar recursos provisionados com êxito (console)
<a name="stack-failure-options-console"></a>

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

**Para preservar recursos provisionados com êxito durante uma operação de criação de pilha**

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Na página **Pilhas**, escolha **Criar pilha** no canto superior direito e depois **Com novos recursos (padrão)**.

1. Em **Pré-requisito: preparar modelo**, escolha **Escolher um modelo existente**.

1. Em **Specify template (Especificar modelo)**, escolha especificar o URL para o bucket do S3 que contém o modelo de pilha ou fazer upload de um arquivo de modelo de pilha. Em seguida, escolha **Próximo**.

1. Na página **Specify stack details** (Especificar detalhes da pilha), insira o nome de uma pilha na caixa **Stack name** (Nome da pilha).

1. Na seção **Parameters** (Parâmetros), especifique os parâmetros que são definidos no seu modelo da pilha.

   Você pode usar ou alterar todos os parâmetros com valores padrão.

1. Quando estiver satisfeito com os valores dos parâmetros, escolha **Next** (Próximo).

1. Na página **Configure stack options** (Configurar opções de pilha), é possível definir opções adicionais para a pilha.

1. Em **Stack failure options** (Opções de falha da pilha), selecione **Preserve successfully provisioned resources** (Preservar recursos provisionados com êxito).

1. Quando estiver satisfeito com as opções da pilha, escolha **Next** (Próximo).

1. Revise sua pilha na página **Review** (Revisar) e selecione **Create stack** (Criar pilha).

*Resultados*: os recursos com falha na criação farão com que o status da pilha mude para `CREATE_FAILED`, a fim de evitar que esta seja revertida quando a operação de pilha se deparar com uma falha. Os recursos provisionados com êxito estão em um estado `CREATE_COMPLETE`. É possível monitorar a pilha na guia **Stack events** (Eventos da pilha).

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

**Para preservar recursos provisionados com êxito durante uma operação de atualização de pilha**

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Selecione a pilha que você deseja atualizar e escolha **Udpate** (Atualizar).

1. Na página **Update stack** (Atualizar pilha), escolha um modelo de pilha usando uma das seguintes opções:
   + **Usar modelo existente**
   + **Replace current template (Substituir modelo atual**
   + **Editar modelo no Infrastructure Composer**

   Aceite suas configurações e selecione **Next** (Próximo).

1. Na página **Specify stack details** (Especificar detalhes da pilha), especifique os parâmetros que estão definidos no modelo da pilha.

   Você pode usar ou alterar todos os parâmetros com valores padrão.

1. Quando estiver satisfeito com os valores dos parâmetros, escolha **Next** (Próximo).

1. Na página **Configure stack options** (Configurar opções de pilha), é possível definir opções adicionais para a pilha.

1. Para **Behavior on provisioning failure** (Comportamento na falha de provisionamento), selecione **Preserve successfully provisioned resources** (Preservar recursos provisionados com êxito).

1. Quando estiver satisfeito com as opções da pilha, escolha **Next** (Próximo).

1. Revise sua pilha na página **Review** (Revisar) e selecione **Update stack** (Atualizar pilha).

*Resultados*: os recursos com falha na atualização farão com que o status da pilha mude para `UPDATE_FAILED` e reverterá a pilha para o último estado estável conhecido. Os recursos sem um último estado estável conhecido serão excluídos pelo CloudFormation na próxima operação de pilha. Os recursos provisionados com êxito estão em um estado `CREATE_COMPLETE` ou `UPDATE_COMPLETE`. É possível monitorar a pilha na guia **Stack events** (Eventos da pilha).

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

**nota**  
É possível iniciar um conjunto de alterações para uma pilha com um status de `CREATE_FAILED` ou `UPDATE_FAILED`, mas não para um status de `UPDATE_ROLLBACK_FAILED`.

**Para preservar recursos provisionados com êxito durante uma operação de conjunto de alterações**

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Selecione a pilha que contém o conjunto de alterações que você deseja iniciar e depois escolha a guia **Change sets** (Conjuntos de alterações).

1. Selecione o conjunto de alterações e escolha **Execute** (Executar).

1. Para **Execute change set** (Executar conjunto de alterações), selecione a opção **Preserve successfully provisioned resources** (Preservar recursos provisionados com êxito).

1. Selecione **Execute change set** (Executar conjunto de alterações).

*Resultados*: os recursos com falha na atualização farão com que o status da pilha mude para `UPDATE_FAILED` e reverterá a pilha para o último estado estável conhecido. Os recursos sem um último estado estável conhecido serão excluídos pelo CloudFormation na próxima operação de pilha. Os recursos provisionados com êxito estão em um estado `CREATE_COMPLETE` ou `UPDATE_COMPLETE`. É possível monitorar a pilha na guia **Stack events** (Eventos da pilha).

------

## Preservar recursos provisionados com êxito (AWS CLI)
<a name="stack-failure-options-cli"></a>

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

**Para preservar recursos provisionados com êxito durante uma operação de criação de pilha**

Especifique a opção `--disable-rollback` ou a enumeração `on-failure DO_NOTHING` durante uma operação [create-stack](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html).

1. Forneça um nome de pilha e um modelo para o comando **create-stack** com a opção `--disable-rollback`.

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

   O comando retorna a seguinte saída.

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

1. Descreva o estado da pilha usando o comando **describe-stacks**.

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

   O comando retorna a seguinte saída.

   ```
   {
       "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 ]

**Para preservar com êxito os recursos provisionados durante uma operação de atualização de pilha**

1. Forneça um nome de pilha existente e um modelo para o comando **update-stack** com a opção `--disable-rollback`.

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

   O comando retorna a seguinte saída.

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

1. Descreva o estado da pilha usando o comando **describe-stacks** ou **describe-stack-events**.

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

   O comando retorna a seguinte saída.

   ```
   {
       "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**  
É possível iniciar um conjunto de alterações de uma pilha com um status de `CREATE_FAILED` ou `UPDATE_FAILED`, mas não para um status de `UPDATE_ROLLBACK_FAILED`.

**Para preservar recursos provisionados com êxito durante uma operação de conjunto de alterações**

Especifique a opção `--disable-rollback` durante uma operação [execute-change-set](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/execute-change-set.html).

1. Forneça um nome de pilha e um modelo para o comando **execute-change-set** com a opção `--disable-rollback`.

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

   O comando retorna a seguinte saída.

   ```
   {
    "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 o conjunto de alterações com a opção `--disable-rollback`.

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

1. Determine o status da pilha usando o comando **describe-stacks** ou **describe-stack-events**.

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

   O comando retorna a seguinte saída.

   ```
   {
      "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 os erros de permissão e repita a operação.

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

   O comando retorna a seguinte saída.

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

1. Descreva o estado da pilha usando o comando **describe-stacks** ou **describe-stack-events**.

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

   O comando retorna a seguinte saída.

   ```
   {
       "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
           }
       ]
   }
   ```

------

### Reverter uma pilha
<a name="roll-back-stack-cli"></a>

É possível usar o comando [rollback-stack](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/rollback-stack.html) para reverter uma pilha com um status de pilha `CREATE_FAILED` ou `UPDATE_FAILED` ao seu último estado estável.

O comando **rollback-stack** a seguir reverte a pilha especificada.

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

O comando retorna a seguinte saída.

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

**nota**  
A operação **rollback-stack** excluirá uma pilha se ela não contiver um último estado estável conhecido.