

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Desfazer alterações com uma reversão manual ou automática
<a name="instance-refresh-rollback"></a>

É possível reverter uma atualização de instância que ainda esteja em andamento. Não é possível revertê-la após a conclusão. Porém, você pode atualizar seu grupo do Auto Scaling novamente iniciando uma nova atualização de instância.

Durante a reversão, o Amazon EC2 Auto Scaling substitui as instâncias que foram implantadas até o momento. As novas instâncias correspondem à configuração que você salvou pela última vez no grupo do Auto Scaling antes de iniciar a atualização de instância.

O Amazon EC2 Auto Scaling fornece estes modos de reversão:
+ Reversão manual: inicie uma reversão manualmente para reverter o que foi implantado até o ponto de reversão.
+ Reversão automática: o Amazon EC2 Auto Scaling reverte automaticamente o que foi implantado se a atualização da instância falhar por algum motivo ou se CloudWatch algum alarme especificado entrar no estado. `ALARM`

**Topics**
+ [Considerações](#instance-refresh-rollback-considerations)
+ [Iniciar uma reversão manualmente](#instance-refresh-manual-rollback)
+ [Iniciar uma atualização de instância com reversão automática](#instance-refresh-using-auto-rollback)

## Considerações
<a name="instance-refresh-rollback-considerations"></a>

As seguintes considerações se aplicam ao usar uma reversão:
+ A opção de reversão só está disponível se você especificar a configuração desejada como parte do início de uma atualização da instância.
+ Você só pode reverter para uma versão anterior de um modelo de execução se a versão for uma versão numerada específica. A opção de reversão não estará disponível se o grupo do Auto Scaling estiver configurado para usar a versão `$Latest` ou a versão do modelo de execução `$Default`. 
+ Você também não pode reverter para um modelo de execução configurado para usar um alias de AMI do AWS Systems Manager Parameter Store.
+ A configuração salva pela última vez no grupo do Auto Scaling deve estar em um estado estável. Se não estiver num estado estável, o fluxo de trabalho de reversão ainda ocorrerá, mas eventualmente falhará. Até você resolver o problema, o grupo do Auto Scaling poderá estar em um estado de falha e não conseguir mais iniciar instâncias com êxito. Isso pode afetar a disponibilidade do serviço ou da aplicação.

## Iniciar uma reversão manualmente
<a name="instance-refresh-manual-rollback"></a>

------
#### [ Console ]

**Para iniciar manualmente a reversão de uma atualização de instância (console)**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)e escolha **Auto Scaling Groups** no painel de navegação.

1. Marque a caixa de seleção ao lado do grupo do Auto Scaling.

1. Na guia **Atualização de instância**, em **Atualização de instância ativa**, escolha **Ações**, **Iniciar reversão**.

1. Quando a confirmação for solicitada, escolha **Confirmar**.

------
#### [ AWS CLI ]

**Para iniciar manualmente a reversão de uma atualização de instância (AWS CLI)**  
Use o [rollback-instance-refresh](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/rollback-instance-refresh.html)comando do AWS CLI e forneça o nome do grupo Auto Scaling. 

```
aws autoscaling rollback-instance-refresh --auto-scaling-group-name my-asg
```

Resultado do exemplo:

```
{
    "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b"
}
```

**dica**  
Se esse comando gerar um erro, verifique se você atualizou o AWS CLI localmente para a versão mais recente.

------

## Iniciar uma atualização de instância com reversão automática
<a name="instance-refresh-using-auto-rollback"></a>

Usando o recurso de reversão automática, você pode reverter automaticamente a atualização da instância quando ela falhar, como quando há erros ou quando um CloudWatch alarme específico da Amazon entra no estado. `ALARM`

Se você ativar a reversão automática e houver erros ao substituir as instâncias, a atualização da instância tentará concluir todas as substituições por uma hora antes de falhar e reverter. Esses erros geralmente são causados por coisas como falhas de inicialização do EC2, verificações de integridade mal configuradas ou por não ignorar ou permitir o encerramento de instâncias que estão no estado `Standby` ou protegidas contra redução.

A especificação de CloudWatch alarmes é opcional. Para especificar um alarme, primeiro você precisa criá-lo. Você pode especificar alarmes métricos e alarmes compostos. Para obter informações sobre como criar o alarme, consulte o [Guia CloudWatch do usuário da Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/). Usando as métricas do Elastic Load Balancing como exemplo, se você usar um Application Load Balancer, poderá usar as métricas `HTTPCode_ELB_5XX_Count` e`HTTPCode_ELB_4XX_Count`.

**Considerações**
+ Se você especificar um CloudWatch alarme, mas não ativar a reversão automática, e o estado do alarme continuar`ALARM`, a atualização da instância falhará sem reverter.
+ Você pode escolher no máximo 10 alarmes ao iniciar uma atualização da instância.
+ Ao escolher um CloudWatch alarme, o alarme deve estar em um estado compatível. Se o estado do alarme for `INSUFFICIENT_DATA` ou`ALARM`, você receberá um erro ao tentar iniciar a atualização da instância. 
+ Ao criar um alarme para uso do Amazon EC2 Auto Scaling, o alarme deve incluir como tratar pontos de dados ausentes. Se uma métrica tiver frequentemente pontos de dados ausentes por projeto, o estado do alarme será `INSUFFICIENT_DATA` durante esses períodos. Quando isso acontece, o Amazon EC2 Auto Scaling não pode substituir instâncias até que novos pontos de dados sejam encontrados. Para forçar o alarme a manter o estado `ALARM` ou `OK` anterior, você pode optar por ignorar os dados ausentes. Para obter mais informações, consulte [Configurando como os alarmes tratam dados perdidos no Guia CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data) *do usuário da Amazon*.

------
#### [ Console ]

**Para iniciar uma atualização de instância com reversão automática (console)**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)e escolha **Auto Scaling Groups** no painel de navegação.

1. Marque a caixa de seleção ao lado do grupo do Auto Scaling.

1. Na guia **Atualização de instância**, em **Atualização ativa de instância**, escolha **Iniciar atualização de instância**.

1. Siga o [Iniciar uma atualização de instância (console)](start-instance-refresh.md#start-instance-refresh-console) procedimento e defina as configurações de atualização da instância conforme necessário.

1. (Opcional) Em **Atualizar configurações**, para **CloudWatch alarme**, escolha **Ativar CloudWatch alarmes** e, em seguida, escolha um ou mais alarmes para identificar quaisquer problemas e falhar na operação se um alarme entrar nesse estado. `ALARM`

1. Em **Configurações de reversão**, escolha **Habilitar a reversão automática** para reverter automaticamente uma atualização de instância com falha para a configuração que você salvou pela última vez no grupo do Auto Scaling antes de iniciar a atualização de instância.

1. Revise suas seleções e escolha **Iniciar atualização da instância**. 

------
#### [ AWS CLI ]

**Para iniciar uma atualização de instância com reversão automática (AWS CLI)**  
Use o [start-instance-refresh](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/start-instance-refresh.html)comando e especifique `true` a `AutoRollback` opção no`Preferences`. 

O exemplo a seguir mostra como iniciar uma atualização de instância que será revertida automaticamente se ocorrer uma falha. Substitua os valores dos *`italicized`* parâmetros pelos seus próprios.

```
aws autoscaling start-instance-refresh --cli-input-json file://config.json
```

Conteúdo de `config.json`.

```
{
    "AutoScalingGroupName": "my-asg",
    "DesiredConfiguration": {
      "LaunchTemplate": {
          "LaunchTemplateName": "my-launch-template",
          "Version": "1"
       }
    },
    "Preferences": {
      "AutoRollback": true
    }
}
```

Como alternativa, para reverter automaticamente quando a atualização da instância falhar ou quando um CloudWatch alarme especificado estiver no `ALARM` estado, especifique a `AlarmSpecification` opção no `Preferences` e forneça o nome do alarme, como no exemplo a seguir. Substitua os valores dos *`italicized`* parâmetros pelos seus próprios.

```
{
    "AutoScalingGroupName": "my-asg",
    "DesiredConfiguration": {
      "LaunchTemplate": {
          "LaunchTemplateName": "my-launch-template",
          "Version": "1"
       }
    },
    "Preferences": {
      "AutoRollback": true,
      "AlarmSpecification": { "Alarms": [ "my-alarm" ] }
    }
}
```

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

```
{
  "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b"
}
```

**dica**  
Se esse comando gerar um erro, verifique se você atualizou o AWS CLI localmente para a versão mais recente.

------