View a markdown version of this page

AWSSupport-CloneXenEC2InstanceAndMigrateToNitro - AWS Systems Manager Référence du dossier d’exploitation Automation

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWSSupport-CloneXenEC2InstanceAndMigrateToNitro

Description

Le AWSSupport-CloneXenEC2InstanceAndMigrateToNitro runbook clone, prépare et migre l'instance Linux Amazon Elastic Compute Cloud (Amazon EC2) clonée, qui s'exécute actuellement sur la plateforme Amazon EC2 Xen, afin de l'exécuter sur la plateforme Amazon EC2 Nitro. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances Cette automatisation est divisée en trois branches différentes :

  • Vérifications préliminaires  : évalue toutes les conditions requises pour poursuivre la migration, notamment en vérifiant si l'instance Amazon EC2 cible est déjà en cours d'exécution sur la plateforme Nitro, en déterminant l'état du cycle de vie, en validant le système d'exploitation et en vérifiant la connectivité de Systems Manager.

  • Test  : crée un test AMI à partir de l'instance Amazon EC2 cible et lance une instance Amazon EC2 de test pour valider le processus de migration avant de poursuivre.

  • CloneAndMigrate: crée un clone de l'instance Amazon EC2 cible, installe les pilotes nécessaires, configure le système pour la plateforme Nitro et remplace le type d'instance par le type Nitro souhaité.

Important

Avant d'autoriser l'arrêt de l'instance Amazon EC2 cible, assurez-vous que toutes les applications exécutées sur l'instance sont correctement fermées. Si aucune adresse IP élastique n'est associée à l'instance Amazon EC2, l'adresse IPv4 publique automatique changera une fois que l'instance sera arrêtée et démarrée.

Important

Avertissement  : L'exécution de ce runbook peut entraîner des frais supplémentaires sur votre compte pour l'instance Amazon EC2, Amazon EBS Volumes, etc. AMI Consultez les tarifs Amazon EC2 et Amazon EBS pour plus de détails.

Important

Conditions préalables

L'instance Amazon EC2 cible nécessite un accès sortant aux référentiels pour installer des pilotes et des dépendances tels quekernel-devel,,,gcc,patch, rpm-build wget dracut makelinux-headers, et unzip utiliser le gestionnaire de packages si nécessaire.

Systèmes d'exploitation pris en charge

  • Red Hat Enterprise Linux (RHEL) 8 et 9

  • Amazon Linux 2 et AL2023

  • Ubuntu Server 18.04 LTS, 20.04 et 22.04

  • Debian 11 et 12 (AWS partition uniquement)

  • SUSE12SP5 et SUSE15SP (5,6)

Fonctionnement

Le runbook exécute les étapes de haut niveau suivantes :

  • Valide les prérequis et vérifie si l'instance est adaptée à la migration.

  • Crée et teste un an AMI pour garantir le succès de la migration.

  • Active l'attribut Enhanced Networking (ENA) et installe les derniers pilotes ENA.

  • Vérifie et configure le module NVMe dans initramfs.

  • Analyse et modifie/etc/fstab pour remplacer les noms de périphériques par des UUID.

  • Désactive la dénomination prévisible des interfaces et supprime les règles réseau persistantes.

  • Remplace le type d'instance clonée par le type Nitro souhaité.

  • Crée une finale AMI qui peut être utilisée comme image dorée pour le lancement d'instances Nitro.

Exécutez cette automatisation (console)

Type de document

 Automatisation

Propriétaire

Amazon

Plateformes

Linux

Paramètres

Autorisations IAM requises

Le AutomationAssumeRole paramètre nécessite les actions suivantes pour utiliser correctement le runbook.

  • 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

Exemple de politique 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": "*" } ] }

Instructions

Pour configurer l'automatisation, procédez comme suit :

  1. Accédez à AWSSupport-CloneXenEC2InstanceAndMigrateToNitro la section Documents dans Systems Manager.

  2. Sélectionnez Execute automation.

  3. Pour les paramètres d'entrée, entrez les informations suivantes :

    • AutomationAssumeRole (Facultatif) :

      • Description : (Facultatif) L'ARN du rôle Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui démarre ce runbook.

      • Type : AWS::IAM::Role::Arn

    • TargetInstanceId (Obligatoire) :

      • Description : (Obligatoire) ID d'instance de l'instance Amazon EC2 cible que vous souhaitez migrer vers la plateforme Nitro.

      • Type : AWS::EC2::Instance::Id

    • NitroInstanceType (Facultatif) :

      • Description : (Facultatif) Entrez le type d'instance Nitro de destination. Seules les instances Nitro M5, M6, C5, C6, R5, R6 et T3 sont prises en charge (par exemple, t3.small). Par défaut : m5.xlarge.

      • Type : String

      • Schéma autorisé : ^(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)$

      • Valeur par défaut : m5.xlarge

    • SNSTopicArn (Obligatoire) :

      • Description : (Obligatoire) Fournissez l'ARN de la rubrique Amazon SNS pour la notification d'approbation. Cette rubrique Amazon SNS est utilisée pour envoyer des notifications d'approbation pendant l'exécution de l'automatisation.

      • Type : String

      • Schéma autorisé : ^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}$

    • Approbateur IAM (obligatoire) :

      • Description : (Obligatoire) Fournissez une liste des mandants AWS authentifiés capables d'approuver ou de rejeter l'action. Le nombre maximum d'approbateurs est de 10.

      • Type : StringList

      • Schéma autorisé : ^[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 (Facultatif) :

      • Description : (Facultatif) Le nombre minimum d'approbations requises pour reprendre l'automatisation. Par défaut : 1.

      • Type : Integer

      • Valeur par défaut : 1

    • DeleteResourcesOnFailure (Facultatif) :

      • Description : (Facultatif) Indique s'il faut mettre fin à l'instance Amazon EC2 clonée et AMI si l'automatisation échoue.

      • Type : Boolean

      • Valeurs autorisées : [true, false]

      • Valeur par défaut : true

    • Accusé de réception (obligatoire) :

      • Description : (Obligatoire) Veuillez lire les détails complets des actions effectuées par ce manuel d'automatisation et écrivez « Oui, je comprends et j'accepte » si vous acceptez les étapes.

      • Type : String

      • Schéma autorisé : ^Yes, I understand and acknowledge$

    • AllowInstanceStoreInstances (Facultatif) :

      • Description : (Facultatif) Si vous le spécifiezyes, le runbook s'exécute sur les instances auxquelles sont attachés des volumes de stockage d'instance. Avertissement : les données des volumes de stockage de l'instance sont perdues lorsque l'instance est arrêtée. Ce paramètre permet d'éviter les pertes de données accidentelles.

      • Type : Boolean

      • Valeurs autorisées : [yes, no]

      • Valeur par défaut : no

  4. Sélectionnez Exécuter.

  5. L'automatisation démarre.

  6. Le document exécute les étapes suivantes :

    • checkConcurrency:

      Garantit qu'il n'y a qu'une seule exécution de ce runbook ciblant l'instance Amazon EC2 actuelle.

    • getTargetInstanceProperties:

      Récupère les détails de l'instance Amazon EC2 cible.

    • checkIfNitroInstanceTypeIsSupportedInAZ:

      Détermine si le type d'instance Nitro cible est pris en charge dans la même zone de disponibilité que l'instance Amazon EC2 cible.

    • createTestImage:

      Crée un test AMI à partir de l'instance fournie.

    • launchTestInstanceInSameSubnet:

      Lance une instance Amazon EC2 de test à partir du test AMI en utilisant la même configuration que l'instance Amazon EC2 cible.

    • approvalToStopTargetInstance:

      Attend l'approbation des principaux désignés pour arrêter l'instance cible.

    • createBackupImage:

      Crée un AMI à partir de l'instance fournie pour la sauvegarde.

    • launchInstanceInSameSubnet:

      Lance une nouvelle instance Amazon EC2 à partir de la sauvegarde AMI en utilisant la même configuration que l'instance Amazon EC2 source.

    • checkAndInstallENADrivers:

      Détermine la disponibilité des pilotes ENA (Enhanced Networking Adapter) sur l'instance Amazon EC2 et les installe s'ils sont manquants.

    • checkAndAddNVMEDrivers:

      Détermine la disponibilité des pilotes NVMe sur l'instance Amazon EC2 clonée et les installe s'ils sont manquants.

    • checkAndModifyFSTABEntries:

      Détermine si les noms de périphériques sont utilisés /etc/fstab et les remplace par leurs UUID, s'ils sont trouvés.

    • setNitroInstanceTypeForClonedInstance:

      Définit le type d'instance Amazon EC2 cible fourni pour l'instance Amazon EC2 clonée.

    • approvalForCreatingImageAfterDriversInstallation:

      Attend l'approbation de l'utilisateur si l'instance Amazon EC2 clonée démarre correctement sur la plateforme Nitro.

    • createImageAfterDriversInstallation:

      Crée une image à partir de la nouvelle instance Amazon EC2 uniquement si la nouvelle instance Amazon EC2 démarre correctement sur Nitro Platform.

  7. Une fois terminé, consultez la section Sorties pour obtenir les résultats détaillés de l'exécution.

Références

AWS Systems Manager  Automatisation