

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

# `AWSPremiumSupport-ResizeNitroInstance`
<a name="automation-aws-resizenitroinstance"></a>

 **Descrição** 

O runbook `AWSPremiumSupport-ResizeNitroInstance` fornece uma solução automatizada para redimensionar instâncias do Amazon Elastic Compute Cloud (Amazon EC2) criadas no sistema Nitro.

Para reduzir o risco potencial de perda de dados e tempo de inatividade, o runbook verifica o seguinte:
+ Comportamento da interrupção da instância.
+ Se a instância fizer parte de um grupo do Amazon EC2 Auto Scaling e estiver no modo `standby`.
+ Estado da instância e locação.
+ O tipo de instância para o qual você deseja alterar é compatível com o número de interfaces de rede atualmente conectadas à sua instância.
+ A arquitetura do processador e o tipo de virtualização do tipo de instância atual e de destino são os mesmos.
+ Se a instância estiver em execução, ela está passando todas as verificações de status.
+ O tipo de instância que você selecionou não está disponível na mesma zona de disponibilidade.

Se o Amazon EC2 não passar nas verificações de status após alterar o tipo de instância, o runbook reverte automaticamente para o tipo de instância anterior.

Por padrão, esse runbook não alterará o tipo de instância se estiver em execução e os volumes de armazenamento de instância estiverem anexados. O runbook também não alterará o tipo de instância se a instância fizer parte de uma AWS CloudFormation pilha. Se você quiser alterar qualquer um desses comportamentos, especifique `yes` para os parâmetros `AllowInstanceStoreInstances` e `AllowCloudFormationInstances`.

O runbook fornece duas maneiras diferentes de especificar o tipo de instância para a qual você deseja alterar:
+ Para automações simples direcionadas a uma única instância, especifique o tipo de instância para a qual você deseja alterar usando o parâmetro `TargetInstanceTypeFromParameter`.
+ Para executar automações em grande escala para alterar o tipo de instância de várias instâncias, especifique o tipo de instância usando o parâmetro `TargetInstanceTypeFromTagValue`. Para obter informações sobre como executar automações em grande escala, consulte [Executar automações em grande escala](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-working-targets-and-rate-controls.html).

Se você não especificar um valor para nenhum dos parâmetros, ocorrerá uma falha na automação.

**Importante**  
O acesso aos `AWSPremiumSupport-*` runbooks requer uma assinatura Business \+ Support, Enterprise Support ou Unified Operations. Para obter mais informações, consulte [Comparar Planos AWS Support](https://aws.amazon.com/premiumsupport/plans/).

 **Considerações** 
+ Recomendamos fazer backup da sua instância antes de usar este runbook.
+ Para obter informações sobre compatibilidade para alterar os tipos de instância, consulte [Compatibilidade para alterar o tipo de instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resize-limitations.html).
+ Se a automação falhar e voltar para o tipo de instância original, consulte [Solucionar problemas de alteração de tipo de instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/troubleshoot-change-instance-type.html).
+ A alteração do tipo de instância exige que o runbook interrompa sua instância. Quando uma instância é interrompida ou encerrada, os dados nos volumes de armazenamento da instância são perdidos. Além disso, todos os IPv4 endereços públicos atribuídos automaticamente são liberados. Para obter informações sobre o que acontece quando você interrompe uma instância do Mac, consulte [Interromper e encerrar sua instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html).
+ Ao usar o parâmetro `SkipInstancesWithTagKey`, você pode ignorar instâncias que têm uma chave de tag específica do Amazon EC2 aplicada.

 [Execute esta automação (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSPremiumSupport-ResizeNitroInstance) 

**Tipo de documento**

Automação

**Proprietário**

Amazon

**Plataformas**

Linux, Windows

**Parâmetros**
+ AutomationAssumeRole

  Tipo: String

  Descrição: (opcional) o nome do recurso da Amazon (ARN) do perfil do AWS Identity and Access Management (IAM) que permite que o Systems Manager Automation realize ações em seu nome. Se nenhum perfil for especificado, o Systems Manager Automation usa as permissões do usuário que inicia este runbook.
+ Reconhecer

  Tipo: string

  Descrição: (obrigatório) digite **yes** para confirmar que sua instância será interrompida se estiver em execução no momento.
+ AllowInstanceStoreInstances

  Tipo: string

  Valores válidos: não \| sim 

  Padrão: não

  Descrição: (opcional) se você especificar `yes`, você permite que o runbook seja executado em instâncias que têm volumes de armazenamento de instâncias anexados.
+ AllowCloudFormationInstances

  Tipo: string

  Valores válidos: não \| sim 

  Padrão: não

  Descrição: (Opcional) Se você especificar`yes`, o runbook é executado em instâncias que fazem parte de uma CloudFormation pilha.
+ DryRun

  Tipo: string

  Valores válidos: não \| sim 

  Padrão: não

  Descrição: (opcional) se você especificar `yes`, o runbook valida os requisitos de redimensionamento sem fazer alterações no tipo de instância.
+ InstanceId

  Tipo: string

  Descrição: (obrigatório) o ID da instância do Amazon EC2 cujo tipo você deseja alterar.
+ SkipInstancesWithTagKey

  Tipo: string

  Descrição: (opcional) A automação ignora uma instância de destino se a chave de tag especificada for aplicada à instância.
+ SleepTime

  Tipo: string

  Padrão: 3

  Descrição: (opcional) o número de segundos que esse runbook deve repousar após a conclusão.
+ TagInstance

  Tipo: string

  Descrição: (Opcional) Marque as instâncias com a chave e o valor de sua escolha usando o seguinte formato:{{Key=ChangingType,Value=True}}. Essa opção permite rastrear instâncias que foram alvo desse runbook. As chaves e valores das tags diferenciam maiúsculas de minúsculas.
+ TargetInstanceTypeFromParameter

  Tipo: string

  Descrição: (opcional) o tipo de instância para o qual você deseja alterar sua instância. Deixe esse parâmetro vazio se quiser usar o valor da chave de tag fornecida no parâmetro `TargetInstanceTypeFromTagValue`.
+ TargetInstanceTypeFromTagValue

  Tipo: string

  Descrição: (opcional) a chave de tag aplicada às suas instâncias de destino cujo valor contém o tipo de instância para a qual você deseja alterar. Se você não especificar um valor para esse parâmetro, ele substitui qualquer valor que você especificar para esse parâmetro `TargetInstanceTypeFromParameter`.

**Permissões obrigatórias do IAM**

O parâmetro `AutomationAssumeRole` requer as seguintes ações para usar o runbook com êxito.
+  `autoscaling:DescribeAutoScalingInstances` 
+  `cloudformation:DescribeStackResources` 
+  `ssm:GetAutomationExecution` 
+  `ssm:DescribeAutomationExecutions` 
+  `ec2:DescribeInstanceAttribute` 
+  `ec2:DescribeInstances` 
+  `ec2:DescribeInstanceStatus` 
+  `ec2:DescribeInstanceTypeOfferings` 
+  `ec2:DescribeInstanceTypes` 
+  `ec2:DescribeTags` 
+  `ec2:ModifyInstanceAttribute` 
+  `ec2:StartInstances` 
+  `ec2:StopInstances` 

 **Etapas do documento** 

1. `aws:assertAwsResourceProperty`: garante que a instância do Amazon EC2 não seja marcada com a chave de tag de recurso especificada no parâmetro `SkipInstancesWithTagKey`. Se a chave de tag for encontrada aplicada à instância, a etapa falhará e a automação será encerrada.

1. `aws:assertAwsResourceProperty`: confirma que o status da instância de destino do Amazon EC2 é `running`, `pending`, `stopped` ou `stopping`. Caso contrário, a automação termina.

1. `aws:executeAwsApi`: reúne propriedades da instância do Amazon EC2.

1. `aws:executeAwsApi`: reúne detalhes sobre o tipo de instância atual do Amazon EC2.

1. `aws:branch`: verifica se o tipo de instância atual e o tipo de instância especificado no parâmetro `TargetInstanceTypeFromParameter` são iguais. Se forem iguais, a automação termina.

1. `aws:assertAwsResourceProperty`: garante que a instância esteja em execução no sistema Nitro.

1. `aws:branch`: garante que o tipo de volume raiz da instância do Amazon EC2 seja um volume do Amazon Elastic Block Store (Amazon EBS).

1. `aws:assertAwsResourceProperty`: confirma se o comportamento de desligamento da instância é `stop`, e não `terminate`.

1. `aws:branch`: garante que a instância do Amazon EC2 não seja uma instância spot.

1. `aws:branch`: garante que a locação da instância do Amazon EC2 seja padrão e não um host dedicado ou uma instância dedicada.

1. `aws:executeScript`: confirma que há apenas uma automação desse runbook direcionada ao ID da instância atual. Se outra automação já estiver em andamento visando a mesma instância, a automação retornará um erro e terminará.

1. `aws:branch`: ramifica a automação com base no estado da instância do Amazon EC2.

   1. Se `stopped` ou `stopping`, a automação executa `aws:waitForAwsResourceProperty` até que a instância do Amazon EC2 seja totalmente interrompida.

   1. Se `running` ou `pending`, a automação executa `aws:waitForAwsResourceProperty` até que a instância do Amazon EC2 passe as verificações de status.

1. `aws:assertAwsResourceProperty`: confirma que a instância do Amazon EC2 não faz parte de um grupo do Auto Scaling chamando a operação da API `DescribeAutoScalingInstances`. Se a instância faz parte de um grupo do Auto Scaling, garante que a instância do Amazon EC2 esteja no modo `standby`.

1. `aws:branch`: ramifica a automação dependendo se você deseja que a automação verifique se a instância do Amazon EC2 faz parte de uma CloudFormation pilha:

   1. `aws:executeScript`Garante que a instância do Amazon EC2 não faça parte de uma CloudFormation pilha chamando a operação da `DescribeStackResources` API.

1. `aws:executeAwsApi`: retorna uma lista de tipos de instância com o mesmo tipo de arquitetura de processador, tipo de virtualização, e que suporta o número de interfaces de rede atualmente conectadas à instância de destino.

1. `aws:executeAwsApi`: obtém o valor do tipo de instância de destino da chave de tag especificada no parâmetro `TargetInstanceTypeFromTagValue`.

1. `aws:executeScript`: confirma que os tipos de instâncias atual e de destino são compatíveis. Garante que o tipo de instância de destino esteja disponível na mesma sub-rede. Verifica se a entidade principal que iniciou o runbook tem permissões para alterar o tipo de instância e parar e iniciar a instância se ela estiver em execução.

1. `aws:branch`: ramifica a automação com base no valor do parâmetro `DryRun` estar definido como `yes`. Se `yes`, a automação termina.

1. `aws:branch`: verifica se o tipo de instância original e de destino são iguais. Se forem iguais, a automação termina.

1. `aws:executeAwsApi`: obtém o estado atual da instância.

1. `aws:changeInstanceState`: interrompe a instância do Amazon EC2.

1. `aws:changeInstanceState`: força a instância a parar se ela estiver presa no estado `stopping`.

1. `aws:executeAwsApi`: altera o tipo de instância para o tipo de instância de destino.

1. `aws:sleep`: espera três segundos após alterar o tipo de instância para uma eventual consistência.

1. `aws:branch`: ramifica a automação com base no estado anterior da instância. Se foi `running`, a instância é iniciada.

   1. `aws:changeInstanceState`: inicia a instância do Amazon EC2 se ela estava em execução antes de alterar o tipo de instância.

   1. `aws:waitForAwsResourceProperty`: espera que a instância do Amazon EC2 passe nas verificações de status. Se a instância não passar nas verificações de status, altere-a de volta para seu tipo original.

      1. `aws:changeInstanceState`: interrompe a instância do Amazon EC2 antes de alterá-la para seu tipo original.

      1. `aws:changeInstanceState`: força a instância do Amazon EC2 a parar antes de alterá-la para o tipo de instância original, caso ela fique presa em um estado de parada.

      1. `aws:executeAwsApi`: altera a instância do Amazon EC2 para seu tipo original.

      1. `aws:sleep`: espera três segundos após alterar o tipo de instância para uma eventual consistência.

      1. `aws:changeInstanceState`: inicia a instância do Amazon EC2 se ela estava em execução antes de alterar o tipo de instância.

      1. `aws:waitForAwsResourceProperty`: espera que a instância do Amazon EC2 passe nas verificações de status.

1. `aws:sleep`: espera antes de terminar o runbook.