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
Les AWSSupport-CloneXenEC2 InstanceAndMigrateToNitro runbook clonent, préparent et migrent l'instance Linux Amazon Elastic Compute Cloud (Amazon EC2) clonée, actuellement exécutée sur la plateforme Amazon EC2 Xen, pour l'exécuter sur la plateforme Amazon EC2 Nitro. Cette automatisation est divisée en trois branches différentes :
-
Contrôles préliminaires : évalue toutes les conditions préalables à 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 de donner l'autorisation d'arrêter 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' IPv4 adresse publique automatique changera une fois l'instance 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 & s. AMI Consultez les tarifs Amazon EC2
Important
Conditions préalables
L'instance Amazon EC2 cible nécessite un accès sortant aux référentiels pour installer les pilotes et les 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 SUSE15 SP (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 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 NVMe module dans initramfs.
Analyse et modifie /etc/fstab pour remplacer les noms des périphériques par. UUIDs
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 image finale AMI qui peut être utilisée comme image dorée pour le lancement d'instances Nitro.
Exécuter 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:DescribeAutoScalingInstancesec2:CreateImageec2:CreateTagsec2:DescribeImagesec2:DescribeInstanceAttributeec2:DescribeInstancesec2:DescribeInstanceStatusec2:DescribeInstanceTypeOfferingsec2:DescribeInstanceTypesec2:DeregisterImageec2:ModifyInstanceAttributeec2:RunInstancesec2:StartInstancesec2:StopInstancesec2:TerminateInstancesiam:PassRolesns:Publishssm:DescribeAutomationExecutionsssm:DescribeInstanceInformationssm: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 :
-
Accédez
AWSSupport-CloneXenEC2InstanceAndMigrateToNitroà Systems Manager sous Documents. -
Sélectionnez
Execute automation. -
Pour les paramètres d'entrée, entrez ce qui suit :
-
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 lance 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-
Modèle 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 lors de l'exécution de l'automatisation.
Type :
String-
Modèle 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}$
-
ApproverIAM (obligatoire) :
Description : (Obligatoire) Fournissez une liste des principaux AWS authentifiés qui sont en mesure d'approuver ou de rejeter l'action. Le nombre maximum d'approbateurs est de 10.
Type :
StringList-
Modèle 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 AMI et si l'automatisation échoue.
Type :
Boolean-
Valeurs autorisées :
[true, false] Valeur par défaut :
true
-
Reconnaissance (obligatoire) :
Description : (Obligatoire) Veuillez lire le détail complet des actions effectuées par ce manuel d'automatisation et écrire « Oui, je comprends et j'accepte » si vous reconnaissez les étapes.
Type :
String-
Modèle autorisé :
^Yes, I understand and acknowledge$
-
AllowInstanceStoreInstances (Facultatif) :
Description : (Facultatif) Si vous le spécifiez
yes, le runbook s'exécute sur des instances auxquelles des volumes de stockage d'instance sont attachés. 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
-
-
Sélectionnez Exécuter.
-
L'automatisation démarre.
-
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 absents.
-
checkAndAddNVMEDrivers:Détermine la disponibilité des pilotes NVMe sur l'instance Amazon EC2 clonée et les installe s'ils sont absents.
-
checkAndModifyFSTABEntries:Détermine si le nom du périphérique est utilisé
/etc/fstabet le remplace par le leur UUIDs, s'il est trouvé. -
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 plate-forme Nitro.
-
createImageAfterDriversInstallation:Crée une image à partir de la nouvelle instance Amazon EC2 uniquement si celle-ci démarre correctement sur Nitro Platform.
-
-
Une fois terminé, consultez la section Sorties pour connaître les résultats détaillés de l'exécution.
Références
AWS Systems Manager Automatisation