View a markdown version of this page

AWSSupport-CloneXenEC2InstanceAndMigrateToNitro - AWS Systems Manager Referência do runbooks 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á.

AWSSupport-CloneXenEC2InstanceAndMigrateToNitro

Descrição

O AWSSupport-CloneXenEC2InstanceAndMigrateToNitro runbook clona, prepara e migra a instância Linux clonada do Amazon Elastic Compute Cloud (Amazon EC2), atualmente em execução na plataforma Amazon EC2 Xen, para ser executada na plataforma Amazon EC2 Nitro. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances Essa automação é dividida em três ramos diferentes:

  • Verificações preliminares: avalia todos os pré-requisitos para prosseguir com a migração, incluindo verificar se a instância de destino do Amazon EC2 já está em execução na plataforma Nitro, determinar o status do ciclo de vida, validar o sistema operacional e verificar a conectividade do Systems Manager.

  • Teste: cria um teste a AMI partir da instância de destino do Amazon EC2 e inicia uma instância de teste do Amazon EC2 para validar o processo de migração antes de continuar.

  • CloneAndMigrate: cria um clone da instância de destino do Amazon EC2, instala os drivers necessários, configura o sistema para a plataforma Nitro e altera o tipo de instância para o tipo Nitro desejado.

Importante

Antes de fornecer aprovação para interromper a instância de destino do Amazon EC2, certifique-se de que todos os aplicativos em execução na instância estejam normalmente fechados. Se a instância do Amazon EC2 não tiver um endereço IP elástico associado, o endereço IPv4 público automático mudará quando a instância for interrompida e iniciada.

Importante

Aviso: a execução deste runbook pode gerar cobranças extras em sua conta para a instância do Amazon EC2, Amazon EBS Volumes & s. AMI Consulte os preços do Amazon EC2 e os preços do Amazon EBS para obter mais detalhes.

Importante

Pré-requisitos

A instância de destino do Amazon EC2 exige acesso externo aos repositórios para instalar drivers e dependênciaskernel-devel, como,,,,,,, gcc patch rpm-buildwget, e unzip usar o gerenciador de pacotes dracut makelinux-headers, se necessário.

Sistemas operacionais compatíveis

  • Red Hat Enterprise Linux (RHEL) 8 e 9

  • Amazon Linux 2 e AL2023

  • Servidor Ubuntu 18.04 LTS, 20.04 e 22.04

  • Debian 11 e 12 (somente AWS partição)

  • SUSE12SP5 e SUSE15SP (5,6)

Como funciona?

O runbook executa as seguintes etapas de alto nível:

  • Valida os pré-requisitos e verifica se a instância é adequada para migração.

  • Cria e testa um AMI para garantir que a migração seja bem-sucedida.

  • Ativa o atributo de rede avançada (ENA) e instala os drivers ENA mais recentes.

  • Verifica e configura o módulo NVMe no initramfs.

  • Analisa e modifica/etc/fstab para substituir nomes de dispositivos por UUIDs.

  • Desativa a nomenclatura previsível da interface e remove as regras de rede persistentes.

  • Altera o tipo de instância clonada para o tipo Nitro desejado.

  • Cria um final AMI que pode ser usado como uma imagem dourada para iniciar instâncias do Nitro.

Executar esta automação (console)

Tipo de documento

Automação

Proprietário

Amazon

Plataformas

Linux

Parâmetros

Permissões obrigatórias do IAM

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

  • autoscaling:DescribeAutoScalingInstances

  • ec2:CreateImage

  • ec2:CreateTags

  • ec2:DescribeImages

  • ec2:DescribeInstanceAttribute

  • ec2:DescribeInstances

  • ec2:DescribeInstanceStatus

  • ec2:DescribeInstanceTypeOfferings

  • ec2:DescribeInstanceTypes

  • ec2:DeregisterImage

  • ec2:ModifyInstanceAttribute

  • ec2:RunInstances

  • ec2:StartInstances

  • ec2:StopInstances

  • ec2:TerminateInstances

  • iam:PassRole

  • sns:Publish

  • ssm:DescribeAutomationExecutions

  • ssm:DescribeInstanceInformation

  • ssm:SendCommand

Exemplo de política do IAM:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "autoscaling:DescribeAutoScalingInstances", "ec2:CreateImage", "ec2:CreateTags", "ec2:DescribeImages", :ec2:DescribeInstanceAttribute:, "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:DescribeInstanceTypes", "ec2:DeregisterImage", "ec2:ModifyInstanceAttribute", "ec2:RunInstances", "ec2:StartInstances", "ec2:StopInstances", "ec2:TerminateInstances", "iam:PassRole", "ssm:DescribeAutomationExecutions", "ssm:DescribeInstanceInformation", "ssm:SendCommand" ], "Resource": "*" } ] }

Instruções

Siga estas etapas para configurar a automação:

  1. Navegue até o AWSSupport-CloneXenEC2InstanceAndMigrateToNitro Systems Manager em Documentos.

  2. Selecione Execute automation.

  3. Para os parâmetros de entrada, insira o seguinte:

    • AutomationAssumeRole (Opcional):

      • Descrição: (Opcional) O ARN da função AWS Identity and Access Management (IAM) que permite que o Systems Manager Automation execute as 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.

      • Tipo: AWS::IAM::Role::Arn

    • TargetInstanceId (Obrigatório):

      • Descrição: (Obrigatório) ID da instância de destino do Amazon EC2 que você deseja migrar para a plataforma Nitro.

      • Tipo: AWS::EC2::Instance::Id

    • NitroInstanceType (Opcional):

      • Descrição: (Opcional) Insira o tipo de instância Nitro de destino. Somente instâncias Nitro M5, M6, C5, C6, R5, R6 e T3 são suportadas (por exemplo, t3.small). Padrão: m5.xlarge.

      • Tipo: String

      • Allowed-pattern: ^(m5a?z?d?n?|c5a?d?n?|r5a?d?n?b?|(c|m|r)6(a|i)?d?)\\.(2|4|8|12|16|24|32)?xlarge$|^t3a?\\.((x|2x)?large|nano|micro|small|medium)$

      • Padrão: m5.xlarge

    • SNSTopicArn (Obrigatório):

      • Descrição: (Obrigatório) Forneça o ARN do tópico do Amazon SNS para notificação de aprovação. Esse tópico do Amazon SNS é usado para enviar notificações de aprovação durante a execução da automação.

      • Tipo: String

      • Allowed-pattern: ^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):sns:(us(-gov|-isob?)?|ap|ca|af|me|cn|eu|sa)-(central|(north|south)?(east|west)?)-\\d:\\d{12}:[a-zA-Z0-9_.-]{1,256}$

    • Aprovação (Obrigatório):

      • Descrição: (Obrigatório) Forneça uma lista de diretores AWS autenticados que possam aprovar ou rejeitar a ação. O número máximo de aprovadores é 10.

      • Tipo: StringList

      • Allowed-pattern: ^[a-zA-Z0-9_+=,.@\\-\/]{1,128}$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):(sts|iam)::[0-9]{12}:[a-zA-Z0-9_+=,.@\\-\/]{1,256}$

    • MinimumRequiredApprovals (Opcional):

      • Descrição: (Opcional) O número mínimo de aprovações necessárias para retomar a automação. Padrão: 1.

      • Tipo: inteiro

      • Padrão: 1

    • DeleteResourcesOnFailure (Opcional):

      • Descrição: (Opcional) Se a instância clonada do Amazon EC2 deve ser encerrada e AMI se a automação falhar.

      • Tipo: Boolean

      • Valores permitidos: [true, false]

      • Padrão: true

    • Confirmação (obrigatória):

      • Descrição: (Obrigatório) Leia os detalhes completos das ações realizadas por esse runbook de automação e escreva “Sim, eu entendo e reconheço” se você reconhecer as etapas.

      • Tipo: String

      • Allowed-pattern: ^Yes, I understand and acknowledge$

    • AllowInstanceStoreInstances (Opcional):

      • Descrição: (opcional) se você especificar yes, o runbook é executado em instâncias que têm volumes de armazenamento de instâncias anexados. Aviso: os dados nos volumes do armazenamento de instâncias são perdidos quando a instância é interrompida. Esse parâmetro ajuda a evitar a perda acidental de dados.

      • Tipo: Boolean

      • Valores permitidos: [yes, no]

      • Padrão: no

  4. Selecione Executar.

  5. A automação é iniciada.

  6. O bucket realiza as seguintes etapas:

    • checkConcurrency:

      Garante que haja apenas uma execução desse runbook direcionada à instância atual do Amazon EC2.

    • getTargetInstanceProperties:

      Obtém os detalhes da instância de destino do Amazon EC2.

    • checkIfNitroInstanceTypeIsSupportedInAZ:

      Determina se o tipo de instância Nitro de destino é suportado na mesma zona de disponibilidade da instância de destino do Amazon EC2.

    • createTestImage:

      Cria um teste AMI a partir da instância fornecida.

    • launchTestInstanceInSameSubnet:

      Inicia uma instância de teste do Amazon EC2 a partir do teste AMI usando a mesma configuração da instância de destino do Amazon EC2.

    • approvalToStopTargetInstance:

      Aguarda a aprovação dos diretores designados para interromper a instância de destino.

    • createBackupImage:

      Cria um a AMI partir da instância fornecida para backup.

    • launchInstanceInSameSubnet:

      Inicia uma nova instância do Amazon EC2 a partir do backup AMI usando a mesma configuração da instância de origem do Amazon EC2.

    • checkAndInstallENADrivers:

      Determina a disponibilidade dos drivers do Enhanced Networking Adapter (ENA) na instância do Amazon EC2 e os instala, se estiverem ausentes.

    • checkAndAddNVMEDrivers:

      Determina a disponibilidade dos drivers NVMe na instância clonada do Amazon EC2 e instala, se estiverem ausentes.

    • checkAndModifyFSTABEntries:

      Determina se o nome do dispositivo é usado /etc/fstab e os substitui por seus UUIDs, se encontrados.

    • setNitroInstanceTypeForClonedInstance:

      Define o tipo de instância de destino do Amazon EC2 fornecido para a instância clonada do Amazon EC2.

    • approvalForCreatingImageAfterDriversInstallation:

      Aguarda a aprovação do usuário se a instância clonada do Amazon EC2 for inicializada com sucesso na plataforma Nitro.

    • createImageAfterDriversInstallation:

      Cria uma imagem da nova instância do Amazon EC2 somente se a nova instância do Amazon EC2 for inicializada com sucesso na plataforma Nitro.

  7. Depois de concluído, revise a seção Saídas para ver os resultados detalhados da execução.

Referências

AWS Systems Manager Automation