AWSPremiumSupport-ChangeInstanceTypeIntelToAMD - AWS Systems Manager Guide de référence du manuel d'automatisation

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.

AWSPremiumSupport-ChangeInstanceTypeIntelToAMD

Description

Le AWSPremiumSupport-ChangeInstanceTypeIntelToAMD runbook automatise les migrations depuis les instances Amazon Elastic Compute Cloud (Amazon EC2) alimentées par Intel vers les types d'instances AMD équivalents. Ce runbook prend en charge les instances à usage général (M), polyvalentes (T), optimisées pour le calcul (C) et optimisées pour la mémoire (R) créées sur le système Nitro. Ce runbook peut être utilisé sur des instances qui ne sont pas gérées par Systems Manager.

Pour réduire le risque potentiel de perte de données et d'indisponibilité, le runbook vérifie le comportement d'arrêt de l'instance, vérifie si l'instance fait partie d'un groupe Amazon EC2 Auto Scaling, son état de santé et vérifie qu'un type d'instance AMD équivalent est disponible dans la même zone de disponibilité. Par défaut, ce runbook ne changera pas le type d'instance si des volumes de stockage d'instance sont attachés ou si l'instance fait partie d'une AWS CloudFormation pile. Si vous souhaitez modifier ce comportement, spécifiez yes l'un des AllowCloudFormationInstances paramètres AllowInstanceStoreInstances et.

Important

L'accès aux AWSPremiumSupport-* runbooks nécessite un abonnement Enterprise ou Business Support. Pour plus d'informations, consultez la section Comparer AWS Support les plans.

Considérations

  • Nous vous recommandons de sauvegarder votre instance avant d'utiliser ce runbook.

  • Pour modifier le type d'instance, le runbook doit arrêter votre instance. Lorsqu'une instance est arrêtée, toutes les données stockées dans la RAM ou dans les volumes de stockage d'instance sont perdues et l'adresse IPv4 publique automatique est libérée. Pour plus d'informations, consultez Arrêt et démarrage de votre instance.

  • Si vous ne spécifiez pas de valeur pour le TargetInstanceType paramètre, le runbook tente d'identifier l'instance AMD équivalente en termes de processeurs virtuels et de mémoire au sein de la même famille d'instances. Le runbook s'arrête s'il n'est pas en mesure d'identifier un type d'instance AMD équivalent.

  • En utilisant DryRun cette option, vous pouvez capturer le type d'instance AMD équivalent et valider les exigences sans réellement modifier le type d'instance.

Exécutez cette automatisation (console)

Type de document

 Automatisation

Propriétaire

Amazon

Plateformes

LinuxmacOS, Windows

Paramètres

  • AutomationAssumeRole

    Type : String

    Description : (Facultatif) Le nom de ressource Amazon (ARN) du rôle AWS Identity and Access Management (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.

  • Reconnaître

    Type : String

    Description : (Obligatoire) Entrez yes pour confirmer que votre instance cible sera arrêtée si elle est en cours d'exécution.

  • InstanceId

    Type : String

    Description : (Obligatoire) L'ID de l'instance Amazon EC2 dont vous souhaitez modifier le type.

  • TargetInstanceType

    Type : String

    Par défaut : automatique

    Description : (Facultatif) Le type d'instance AMD vers lequel vous souhaitez modifier votre instance. La automatic valeur par défaut utilise le type d'instance équivalent en termes de processeurs virtuels et de mémoire. Par exemple, un fichier m5.large serait remplacé par un fichier m5a.large.

  • AllowInstanceStoreInstances

    Type : String

    Valeurs valides : non | oui

    Par défaut : non

    Description : (Facultatif) Si vous le spécifiezyes, le runbook s'exécute sur les instances auxquelles des volumes de stockage d'instance sont attachés.

  • AllowCloudFormationInstances

    Type : String

    Valeurs valides : non | oui

    Par défaut : non

    Description : (Facultatif) Si ce paramètre est défini suryes, le runbook s'exécute sur les instances faisant partie d'une AWS CloudFormation pile.

  • AllowCrossGeneration

    Type : String

    Valeurs valides : non | oui

    Par défaut : non

    Description : (Facultatif) Si ce paramètre est défini suryes, le runbook tente de trouver le type d'instance AMD équivalent le plus récent au sein de la même famille d'instances.

  • DryRun

    Type : String

    Valeurs valides : non | oui

    Par défaut : non

    Description : (Facultatif) Si ce paramètre est défini suryes, le runbook renvoie le type d'instance AMD équivalent et valide les exigences de migration sans modifier le type d'instance.

  • SleepWait

    Type : String

    Par défaut : PT3S

    Description : (Facultatif) Durée pendant laquelle le runbook doit attendre avant de démarrer une nouvelle automatisation. La valeur que vous fournissez pour ce paramètre doit correspondre à la norme ISO 8601. Pour plus d'informations sur la création de chaînes ISO 8601, voir Formatage des chaînes de date et d'heure pour Systems Manager.

Autorisations IAM requises

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

  • 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

Étapes de document

  1. aws:assertAwsResourceProperty: confirme que l'état de l'instance Amazon EC2 cible estrunning, pendingstopped, oustopping. Dans le cas contraire, l'automatisation prend fin.

  2. aws:executeAwsApi: rassemble les propriétés de l'instance Amazon EC2 cible.

  3. aws:branch: Branche l'automatisation en fonction de l'état de l'instance Amazon EC2.

    1. Si tel stopped est le casstopping, l'automatisation s'exécute aws:waitForAwsResourceProperty jusqu'à l'arrêt complet de l'instance Amazon EC2.

    2. Si tel running est le caspending, l'automatisation s'exécute aws:waitForAwsResourceProperty jusqu'à ce que l'instance Amazon EC2 passe les contrôles de statut.

  4. aws:assertAwsResourceProperty: confirme que l'instance Amazon EC2 ne fait pas partie d'un groupe Auto Scaling en vérifiant si la aws:autoscaling:groupName balise est appliquée.

  5. aws:executeAwsApi: rassemble les propriétés du type d'instance actuel pour trouver le type d'instance AMD équivalent.

  6. aws:assertAwsResourceProperty: confirme qu'AWS Marketplaceaucun code produit n'est associé à l'instance Amazon EC2. Certains produits ne sont pas disponibles sur tous les types d'instances.

  7. aws:branch: Branche l'automatisation selon que vous souhaitez que l'automatisation vérifie si l'instance Amazon EC2 fait partie d'une pile AWS CloudFormation

    1. Si la aws:cloudformation:stack-name balise est appliquée à l'instance, l'automatisation s'exécute aws:assertAwsResourceProperty pour confirmer que l'instance ne fait pas partie d'une AWS CloudFormation pile.

  8. aws:branch: Branche l'automatisation selon que le type de volume racine de l'instance est Amazon Elastic Block Store (Amazon EBS).

  9. aws:assertAwsResourceProperty: confirme que le comportement d'arrêt de l'instance est stop ou nonterminate.

  10. aws:executeScript: confirme qu'il n'existe qu'une seule automatisation de ce runbook ciblant l'instance actuelle. Si une autre automatisation est déjà en cours et cible la même instance, elle renvoie une erreur et se termine.

  11. aws:executeAwsApi: Renvoie la liste des types d'instances AMD dotés de la même quantité de mémoire et de processeurs virtuels.

  12. aws:executeScript: vérifie si le type d'instance actuel est pris en charge et renvoie son type d'instance AMD équivalent. S'il n'y a pas d'équivalent, l'automatisation prend fin.

  13. aws:executeScript: confirme que le type d'instance AMD est disponible dans la même zone de disponibilité et vérifie les autorisations IAM fournies.

  14. aws:branch: Branche l'automatisation selon que la valeur du DryRun paramètre est ou nonyes.

  15. aws:branch: vérifie si le type d'instance d'origine et le type d'instance cible sont identiques. S'ils sont identiques, l'automatisation prend fin.

  16. aws:executeAwsApi: obtient l'état actuel de l'instance.

  17. aws:changeInstanceState: arrête l'instance Amazon EC2.

  18. aws:changeInstanceState: force l'instance à s'arrêter si elle est bloquée à l'état d'arrêt.

  19. aws:executeAwsApi: remplace le type d'instance par le type d'instance AMD cible.

  20. aws:sleep: attend 3 secondes après avoir modifié le type d'instance pour une éventuelle cohérence.

  21. aws:branch: Branche l'automatisation en fonction de l'état précédent de l'instance. Si tel est le casrunning, l'instance est démarrée.

    1. aws:changeInstanceState: démarre l'instance Amazon EC2 si elle était en cours d'exécution avant de modifier le type d'instance.

    2. aws:waitForAwsResourceProperty: attend que l'instance Amazon EC2 passe les contrôles de statut. Si l'instance ne passe pas les contrôles d'état, elle revient à son type d'instance d'origine.

      1. aws:changeInstanceState: arrête l'instance Amazon EC2 avant de la remplacer par son type d'instance d'origine.

      2. aws:changeInstanceState: force l'instance Amazon EC2 à s'arrêter avant de la remplacer par son type d'instance d'origine au cas où elle resterait bloquée dans un état d'arrêt.

      3. aws:executeAwsApi: rétablit le type d'origine de l'instance Amazon EC2.

      4. aws:sleep: attend 3 secondes après avoir changé le type d'instance pour une éventuelle cohérence.

      5. aws:changeInstanceState: démarre l'instance Amazon EC2 si elle était en cours d'exécution avant de modifier le type d'instance.

      6. aws:waitForAwsResourceProperty: attend que l'instance Amazon EC2 passe les contrôles de statut.

  22. aws:sleep: Attend avant de terminer le runbook.