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-ResizeNitroInstance
Description
Le AWSPremiumSupport-ResizeNitroInstance
runbook fournit une solution automatisée pour redimensionner les instances Amazon Elastic Compute Cloud (Amazon EC2) créées sur le système Nitro.
Pour réduire le risque potentiel de perte de données et d'interruption de service, le runbook vérifie les points suivants :
-
Comportement d'arrêt de l'instance.
-
Si l'instance fait partie d'un groupe Amazon EC2 Auto Scaling, et en
standby
mode. -
État de l'instance et location.
-
Le type d'instance que vous souhaitez modifier prend en charge le nombre d'interfaces réseau actuellement attachées à votre instance.
-
L'architecture du processeur et le type de virtualisation du type d'instance actuel et du type d'instance cible sont identiques.
-
Si l'instance est en cours d'exécution, elle passe avec succès tous les contrôles d'état.
-
Le type d'instance vers lequel vous souhaitez passer est disponible dans la même zone de disponibilité.
Si Amazon EC2 ne passe pas les contrôles d'état après avoir modifié le type d'instance, le runbook revient automatiquement au type d'instance précédent.
Par défaut, ce runbook ne changera pas le type d'instance s'il est en cours d'exécution et si des volumes de stockage d'instance sont attachés. Le runbook ne changera pas non plus le type d'instance si l'instance fait partie d'une AWS CloudFormation pile. Si vous souhaitez modifier l'un de ces comportements, spécifiez yes
les AllowCloudFormationInstances
paramètres AllowInstanceStoreInstances
et.
Le runbook propose deux méthodes différentes pour spécifier le type d'instance que vous souhaitez modifier :
-
Pour les automatisations simples ciblant une seule instance, spécifiez le type d'instance que vous souhaitez modifier à l'aide du
TargetInstanceTypeFromParameter
paramètre. -
Pour exécuter des automatisations à grande échelle afin de modifier le type d'instance de plusieurs instances, spécifiez le type d'instance à l'aide du
TargetInstanceTypeFromTagValue
paramètre. Pour plus d'informations sur l'exécution d'automatisations à grande échelle, voir Exécuter des automatisations à grande échelle.
Si vous ne spécifiez aucune valeur pour aucun des paramètres, l'automatisation échoue.
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 plus d'informations sur la compatibilité pour la modification des types d'instance, consultez la section Compatibilité pour la modification du type d'instance.
-
Si l'automatisation échoue et revient au type d'instance d'origine, voir Résolution des problèmes liés à la modification du type d'instance.
-
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 en mémoire ou sur les volumes de stockage de l'instance sont perdues. De plus, toutes les adresses IPv4 publiques attribuées automatiquement sont publiées. Pour plus d'informations sur ce qui se passe lorsque vous arrêtez une instance, consultez Arrêter et démarrer votre instance.
-
À l'aide de
SkipInstancesWithTagKey
ce paramètre, vous pouvez ignorer les instances auxquelles une clé de balise Amazon EC2 spécifique est appliquée.
Exécutez cette automatisation (console)
Type de document
Automatisation
Propriétaire
Amazon
Plateformes
Linux, 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 sera arrêtée si elle est en cours d'exécution. -
AllowInstanceStoreInstances
Type : String
Valeurs valides : non | oui
Par défaut : non
Description : (Facultatif) Si vous le spécifiez
yes
, vous autorisez le runbook à s'exécuter sur des 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 vous le spécifiez
yes
, le runbook s'exécute sur des instances faisant partie d'une AWS CloudFormation pile. -
DryRun
Type : String
Valeurs valides : non | oui
Par défaut : non
Description : (Facultatif) Si vous le spécifiez
yes
, le runbook valide les exigences de redimensionnement sans modifier le type d'instance. -
InstanceId
Type : String
Description : (Obligatoire) L'ID de l'instance Amazon EC2 dont vous souhaitez modifier le type.
-
SkipInstancesWithTagKey
Type : String
Description : (Facultatif) L'automatisation ignore une instance cible si la clé de balise que vous spécifiez est appliquée à l'instance.
-
SleepTime
Type : String
Par défaut : 3
Description : (Facultatif) Le nombre de secondes pendant lesquelles ce runbook doit rester en veille une fois terminé.
-
TagInstance
Type : String
Description : (Facultatif) Marquez les instances avec la clé et la valeur de votre choix en utilisant le format suivant :
Clé=ChangingType, Valeur=True
. Cette option vous permet de suivre les instances qui ont été ciblées par ce runbook. Les clés et valeurs de balise sont sensibles à la casse. -
TargetInstanceTypeFromParameter
Type : String
Description : (Facultatif) Le type d'instance vers lequel vous souhaitez modifier votre instance. Laissez ce paramètre vide si vous souhaitez utiliser la valeur de la clé de balise fournie dans le
TargetInstanceTypeFromTagValue
paramètre. -
TargetInstanceTypeFromTagValue
Type : String
Description : (Facultatif) La clé de balise appliquée à vos instances cibles dont la valeur contient le type d'instance vers lequel vous souhaitez passer. Si vous spécifiez une valeur pour le
TargetInstanceTypeFromParameter
paramètre, elle remplace toute valeur que vous avez spécifiée pour ce paramètre.
Autorisations IAM requises
Le AutomationAssumeRole
paramètre nécessite les actions suivantes pour utiliser correctement le runbook.
-
autoscaling:DescribeAutoScalingInstances
-
cloudformation:DescribeStackResources
-
ssm:GetAutomationExecution
-
ssm:DescribeAutomationExecutions
-
ec2:DescribeInstanceAttribute
-
ec2:DescribeInstances
-
ec2:DescribeInstanceStatus
-
ec2:DescribeInstanceTypeOfferings
-
ec2:DescribeInstanceTypes
-
ec2:DescribeTags
-
ec2:ModifyInstanceAttribute
-
ec2:StartInstances
-
ec2:StopInstances
Étapes de document
-
aws:assertAwsResourceProperty
: garantit que l'instance Amazon EC2 n'est pas balisée avec la clé de balise de ressource spécifiée dans leSkipInstancesWithTagKey
paramètre. Si la clé de balise est trouvée appliquée à l'instance, l'étape échoue et l'automatisation prend fin. -
aws:assertAwsResourceProperty
: confirme que l'état de l'instance Amazon EC2 cible estrunning
,pending
stopped
, oustopping
. Dans le cas contraire, l'automatisation prend fin. -
aws:executeAwsApi
: rassemble les propriétés de l'instance Amazon EC2. -
aws:executeAwsApi
: recueille des informations sur le type d'instance Amazon EC2 actuel. -
aws:branch
: vérifie si le type d'instance actuel et le type d'instance spécifié dans leTargetInstanceTypeFromParameter
paramètre sont identiques. Si tel est le cas, l'automatisation prend fin. -
aws:assertAwsResourceProperty
: vérifie que l'instance s'exécute sur le système Nitro. -
aws:branch
: garantit que le type de volume racine de l'instance Amazon EC2 est un volume Amazon Elastic Block Store (Amazon EBS). -
aws:assertAwsResourceProperty
: confirme que le comportement d'arrêt de l'instance eststop
ou nonterminate
. -
aws:branch
: garantit que l'instance Amazon EC2 n'est pas une instance Spot. -
aws:branch
: garantit que la location de l'instance Amazon EC2 est celle par défaut et qu'il ne s'agit pas d'un hôte dédié ou d'une instance dédiée. -
aws:executeScript
: confirme qu'il n'existe qu'une seule automatisation de ce runbook ciblant l'ID d'instance actuel. Si une autre automatisation est déjà en cours et cible la même instance, elle renvoie une erreur et se termine. -
aws:branch
: Branche l'automatisation en fonction de l'état de l'instance Amazon EC2.-
Si tel
stopped
est le casstopping
, l'automatisation s'exécuteaws:waitForAwsResourceProperty
jusqu'à l'arrêt complet de l'instance Amazon EC2. -
Si tel
running
est le caspending
, l'automatisation s'exécuteaws:waitForAwsResourceProperty
jusqu'à ce que l'instance Amazon EC2 passe les contrôles de statut.
-
-
aws:assertAwsResourceProperty
: confirme que l'instance Amazon EC2 ne fait pas partie d'un groupe Auto Scaling en appelant l'opérationDescribeAutoScalingInstances
d'API. Si l'instance fait partie d'un groupe Auto Scaling, assurez-vous que l'instance Amazon EC2 est enstandby
mode. -
aws:branch
: Branche l'automatisation selon que vous souhaitez que l'automatisation vérifie si l'instance Amazon EC2 fait partie d'une AWS CloudFormation pile :-
aws:executeScript
Assurez-vous que l'instance Amazon EC2 ne fait pas partie d'une AWS CloudFormation pile en appelant l'opérationDescribeStackResources
d'API.
-
-
aws:executeAwsApi
: renvoie une liste de types d'instances ayant le même type d'architecture de processeur et de virtualisation, et qui prennent en charge le nombre d'interfaces réseau actuellement attachées à l'instance cible. -
aws:executeAwsApi
: obtient la valeur du type d'instance cible à partir de la clé de balise spécifiée dans leTargetInstanceTypeFromTagValue
paramètre. -
aws:executeScript
: confirme que les types d'instances actuels et cibles sont compatibles. Garantit que le type d'instance cible est disponible dans le même sous-réseau. Vérifie que le principal qui a lancé le runbook est autorisé à modifier le type d'instance et à arrêter et démarrer l'instance si elle était en cours d'exécution. -
aws:branch
: Branche l'automatisation selon que la valeur duDryRun
paramètre est définie ou non suryes
. Si c'est le casyes
, l'automatisation prend fin. -
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. -
aws:executeAwsApi
: obtient l'état actuel de l'instance. -
aws:changeInstanceState
: arrête l'instance Amazon EC2. -
aws:changeInstanceState
: force l'instance à s'arrêter si elle est bloquée dansstopping
cet état. -
aws:executeAwsApi
: remplace le type d'instance par le type d'instance cible. -
aws:sleep
: attend 3 secondes après avoir modifié le type d'instance pour une éventuelle cohérence. -
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.-
aws:changeInstanceState
: démarre l'instance Amazon EC2 si elle était en cours d'exécution avant de modifier le type d'instance. -
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.-
aws:changeInstanceState
: arrête l'instance Amazon EC2 avant de la remplacer par son type d'instance d'origine. -
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. -
aws:executeAwsApi
: rétablit le type d'origine de l'instance Amazon EC2. -
aws:sleep
: attend 3 secondes après avoir modifié le type d'instance pour une éventuelle cohérence. -
aws:changeInstanceState
: démarre l'instance Amazon EC2 si elle était en cours d'exécution avant de modifier le type d'instance. -
aws:waitForAwsResourceProperty
: attend que l'instance Amazon EC2 passe les contrôles de statut.
-
-
-
aws:sleep
: Attend avant de terminer le runbook.