AWSPremiumSupport-ChangeInstanceTypeIntelToAMD - AWS Systems Manager Referência do runbook de automação

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

Descrição

O runbook AWSPremiumSupport-ChangeInstanceTypeIntelToAMD automatiza as migrações das instâncias do Amazon Elastic Compute Cloud (Amazon EC2) com tecnologia Intel para os tipos equivalentes de instâncias com tecnologia AMD. Este runbook oferece suporte a instâncias de uso geral (M), de uso geral intermitente (T), otimizadas para computação (C) e otimizadas para memória (R) criadas no sistema Nitro. Este runbook pode ser usado em instâncias que não são gerenciadas pelo Systems Manager.

Para reduzir o risco potencial de perda de dados e tempo de inatividade, o runbook verifica o comportamento de parada da instância, se a instância está em um grupo do Amazon EC2 Auto Scaling, a integridade da instância e se o tipo de instância equivalente com tecnologia AMD está disponível na mesma zona de disponibilidade. Por padrão, este runbook não alterará o tipo de instância se os volumes de armazenamento de instâncias estiverem anexados ou se a instância fizer parte de uma pilha do AWS CloudFormation. Se você quiser alterar esse comportamento, especifique yes para um dos parâmetros AllowInstanceStoreInstances e AllowCloudFormationInstances.

Importante

O acesso aos runbooks da AWSPremiumSupport-* requer uma assinatura do Enterprise ou Business Support. Para obter mais informações, consulte Comparar os planos do AWS Support.

Considerações

  • Recomendamos fazer backup da sua instância antes de usar este runbook.

  • A alteração do tipo de instância exige que o runbook interrompa sua instância. Quando uma instância é interrompida, todos os dados armazenados na RAM ou nos volumes de armazenamento da instância são perdidos e o endereço IPv4 público automático é liberado. Para obter mais informações, consulte Interromper e iniciar sua instância.

  • Se você não especificar um valor para o parâmetro TargetInstanceType, o runbook tentará identificar a instância AMD equivalente em termos de CPUs virtuais e memória dentro da mesma família de instâncias. O runbook termina se não for capaz de identificar um tipo de instância AMD equivalente.

  • Ao usar a opção DryRun, você pode capturar o tipo de instância AMD equivalente e validar os requisitos sem realmente alterar o tipo de instância.

Execute esta automação (console)

Tipo de documento

Automation

Proprietário

Amazon

Plataformas

Linux, macOS, Windows

Parâmetros

  • AutomationAssumeRole

    Tipo: sequência

    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: sequência

    Descrição: (obrigatório) digite yes para confirmar que sua instância de destino será interrompida se estiver em execução.

  • InstanceId

    Tipo: sequência

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

  • TargetInstanceType

    Tipo: sequência

    Padrão: automático

    Descrição: (opcional) o tipo de instância AMD para a qual você deseja alterar sua instância. O valor automatic padrão usa o tipo de instância equivalente em termos de CPUs virtuais e memória. Por exemplo, um m5.large seria alterado para m5a.large.

  • AllowInstanceStoreInstances

    Tipo: sequência

    Valores válidos: não | sim

    Padrão: não

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

  • AllowCloudFormationInstances

    Tipo: sequência

    Valores válidos: não | sim

    Padrão: não

    Descrição: (opcional) se definido como yes, o runbook é executado em instâncias que fazem parte de uma pilha do AWS CloudFormation.

  • AllowCrossGeneration

    Tipo: sequência

    Valores válidos: não | sim

    Padrão: não

    Descrição: (opcional) se definido como yes, o runbook tenta encontrar o tipo de instância AMD equivalente mais recente dentro da mesma família de instâncias.

  • DryRun

    Tipo: sequência

    Valores válidos: não | sim

    Padrão: não

    Descrição: (opcional) se definido como yes, o runbook retorna o tipo de instância AMD equivalente e valida os requisitos de migração sem fazer alterações no tipo de instância.

  • SleepWait

    Tipo: sequência

    Padrão: PT3S

    Descrição: (opcional) o tempo que o runbook deve esperar antes de iniciar uma nova automação. O valor fornecido para esse parâmetro deve corresponder ao padrão ISO 8601. Para obter mais informações sobre a criação de sequências de caracteres ISO 8601, consulte Formatar strings de data e hora para o Systems Manager.

Permissões obrigatórias do IAM

O parâmetro AutomationAssumeRole requer as seguintes ações para usar o runbook com êxito.

  • ssm:DescribeAutomationExecutions

  • ssm:GetAutomationExecution

  • ssm:StartAutomationExecution

  • ec2:GetInstanceTypesFromInstanceRequirements

  • ec2:DescribeInstanceAttribute

  • ec2:DescribeInstances

  • ec2:DescribeInstanceStatus

  • ec2:DescribeInstanceTypeOfferings

  • ec2:DescribeInstanceTypes

  • ec2:DescribeTags

  • ec2:ModifyInstanceAttribute

  • ec2:StartInstances

  • ec2:StopInstances

Etapas do documento

  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.

  2. aws:executeAwsApi: reúne propriedades da instância de destino do Amazon EC2.

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

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

  4. aws:assertAwsResourceProperty: confirma que a instância do Amazon EC2 não faz parte de um grupo do Auto Scaling verificando se a tag aws:autoscaling:groupName está aplicada.

  5. aws:executeAwsApi: reúne as propriedades do tipo de instância atual para encontrar o tipo de instância AMD equivalente.

  6. aws:assertAwsResourceProperty: confirma que um código de produto do AWS Marketplace não está associado à instância do Amazon EC2. Alguns produtos não estão disponíveis em todos os tipos de instâncias.

  7. 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 pilha do AWS CloudFormation

    1. Se a tag aws:cloudformation:stack-name for aplicada à instância, a automação executa aws:assertAwsResourceProperty para confirmar que a instância não faz parte de uma pilha do AWS CloudFormation.

  8. aws:branch: ramifica a automação com base no fato de o tipo de volume raiz da instância ser Amazon Elastic Block Store (Amazon EBS).

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

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

  11. aws:executeAwsApi: retorna uma lista dos tipos de instância AMD com a mesma quantidade de memória e vCPUs.

  12. aws:executeScript: verifica se o tipo de instância atual é compatível e retorna o tipo de instância AMD equivalente. Se não houver equivalente, a automação termina.

  13. aws:executeScript: confirma que o tipo de instância AMD está disponível na mesma zona de disponibilidade e verifica as permissões do IAM fornecidas.

  14. aws:branch: ramifica a automação com base no valor do parâmetro DryRun ser yes.

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

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

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

  18. aws:changeInstanceState: força a instância a parar se ela estiver presa no estado de parada.

  19. aws:executeAwsApi: altera o tipo de instância para o tipo de instância AMD de destino.

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

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

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

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

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

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

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

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

  22. aws:sleep: espera antes de terminar o runbook.