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.
Utiliser une actualisation d'instance avec la fonction Ignorer la correspondance
La fonction Ignorer la correspondance indique à Amazon EC2 Auto Scaling d'ignorer les instances qui disposent déjà de vos dernières mises à jour. De cette façon, vous ne remplacez pas plus d'instances que nécessaire. Cela est utile quand vous souhaitez vous assurer que votre groupe Auto Scaling utilise une version particulière de votre modèle de lancement et ne remplace que les instances qui utilisent une version différente.
Les considérations suivantes s'appliquent à la fonction Ignorer la correspondance :
-
Si vous lancez une actualisation d'instance à la fois avec la fonction Ignorer la correspondance et la configuration souhaitée, Amazon EC2 Auto Scaling vérifie si des instances correspondent à la configuration souhaitée. Ensuite, il remplace uniquement les instances qui ne correspondent pas à la configuration souhaitée. Une fois l'actualisation d'instance réussie, Amazon EC2 Auto Scaling met à jour le groupe pour qu'il corresponde à la configuration souhaitée.
-
Si vous lancez une actualisation d'instance avec la fonction Ignorer la correspondance, mais que vous ne spécifiez pas la configuration souhaitée, Amazon EC2 Auto Scaling vérifie si des instances correspondent à la configuration que vous avez enregistrée pour la dernière fois dans le groupe Auto Scaling. Ensuite, il remplace uniquement les instances qui ne correspondent pas à la configuration que vous avez enregistrée la dernière fois.
-
Vous pouvez utiliser la fonction Ignorer la correspondance avec un nouveau modèle de lancement, une nouvelle version du modèle de lancement ou un ensemble de types d'instance. Si vous activez la fonction Ignorer la correspondance, mais qu'aucune d'entre elles ne change, le rafraîchissement des instances réussira immédiatement sans remplacer aucune instance. Si vous avez apporté d'autres modifications à la configuration souhaitée (à votre politique d'allocation des instances Spot, par exemple), Amazon EC2 Auto Scaling attend la réussite de l'actualisation d'instance. Il met ensuite à jour les paramètres du groupe Auto Scaling pour refléter la nouvelle configuration souhaitée.
-
Vous ne pouvez pas utiliser la fonction Ignorer la correspondance avec une nouvelle configuration de lancement.
-
Lorsque vous lancez une actualisation d'instance et que vous fournissez la configuration souhaitée, Amazon EC2 Auto Scaling garantit que toutes les instances utilisent la configuration souhaitée. Par conséquent, lorsque vous spécifiez l'une
$Default
ou$Latest
l'autre version souhaitée pour votre modèle de lancement, puis que vous créez une nouvelle version du modèle de lancement alors qu'une actualisation d'instance est en cours, toutes les instances déjà remplacées seront remplacées à nouveau. -
Skip matching ne permet pas de savoir si un script de données utilisateur du modèle de lancement extraira le code mis à jour et l'installera sur les nouvelles instances. Par conséquent, il se peut que le remplacement des instances sur lesquelles un code obsolète soit installé ne soit pas remplacé. Dans ce cas, vous devez désactiver la mise en correspondance des erreurs pour vous assurer que toutes les instances reçoivent votre dernier code, même si la version du modèle de lancement n'est pas mise à jour.
Cette section contient des AWS CLI instructions pour démarrer une actualisation d'instance en activant la mise en correspondance des sauts. Pour des instructions sur l'utilisation de la console, consultez Lancer une actualisation d'instance (console).
Suivez les étapes décrites dans cette section AWS CLI pour effectuer les opérations suivantes :
-
Créez le modèle de lancement que vous souhaitez appliquer à vos instances.
-
Lancez une actualisation d'instance pour appliquer votre modèle de lancement à votre groupe Auto Scaling. Si vous n'activez pas la fonction Ignorer la correspondance, toutes les instances seront remplacées. Cela est vrai même si le modèle de lancement utilisé pour provisionner l'instance est le même que celui que vous avez spécifié pour la configuration souhaitée.
Pour utiliser la fonction Ignorer la correspondance avec un nouveau modèle de lancement
-
Utilisez la create-launch-templatecommande pour créer un nouveau modèle de lancement pour votre groupe Auto Scaling. Incluez l'option
--launch-template-data
et l'entrée JSON qui définit les détails des instances créées pour votre groupe Auto Scaling.Par exemple, utilisez la commande suivante pour créer un modèle de lancement de base avec l'ID d'AMI
et le type d'instanceami-0123456789abcdef0
.t2.micro
aws ec2 create-launch-template --launch-template-name
my-template-for-auto-scaling
--version-descriptionversion1
\ --launch-template-data '{"ImageId":"ami-0123456789abcdef0
","InstanceType":"t2.micro
"}'Si elle aboutit, la commande renvoie un résultat semblable au suivant :
{ "LaunchTemplate": { "LaunchTemplateId": "lt-068f72b729example", "LaunchTemplateName": "my-template-for-auto-scaling", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "CreateTime": "2023-01-30T18:16:06.000Z", "DefaultVersionNumber": 1, "LatestVersionNumber": 1 } }
Pour plus d’informations, consultez Exemples de création et de gestion de modèles de lancement à l'aide du AWS CLI.
-
Utilisez la start-instance-refreshcommande pour lancer le flux de travail de remplacement d'instance et appliquez votre nouveau modèle de lancement avec l'ID
. Le modèle de lancement étant nouveau, il ne comporte qu'une seule version. Cela signifie que la versionlt-068f72b729example
1
du modèle de lancement est la cible de cette actualisation d'instance. Si un événement de montée en puissance se produit lors de l'actualisation d'instance et si Amazon EC2 Auto Scaling provisionne de nouvelles instances à l'aide de la version1
de ce modèle de lancement, elles ne seront pas remplacées. Une fois l'opération terminée avec succès, le nouveau modèle de lancement est appliqué à votre groupe Auto Scaling.aws autoscaling start-instance-refresh --cli-input-json file://config.json
Contenu de
config.json
.{ "AutoScalingGroupName": "
my-asg
", "DesiredConfiguration": { "LaunchTemplate": { "LaunchTemplateId": "lt-068f72b729example
", "Version": "$Default
" } }, "Preferences": { "SkipMatching": true } }Si elle aboutit, la commande renvoie un résultat semblable au suivant :
{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }
Si vous avez un groupe Auto Scaling doté d'une politique d'instances mixtes, suivez les étapes décrites dans cette section AWS CLI pour démarrer une actualisation d'instance en sautant la correspondance. Vous avez les options suivantes :
-
Fournissez un nouveau modèle de lancement à appliquer à tous les types d'instances spécifiés dans la politique.
-
Fournissez un ensemble actualisé de types d'instances avec ou sans modification du modèle de lancement dans la politique. Par exemple, il se peut que vous souhaitiez migrer les types d'instance indésirables. Vous utiliseriez le modèle de lancement tel quel, sans modifier l'AMI, les groupes de sécurité ou les autres spécificités des instances remplacées.
Suivez les étapes décrites dans l'une des sections suivantes, selon l'option qui répond à vos besoins.
Pour utiliser la fonction Ignorer la correspondance avec un nouveau modèle de lancement
-
Utilisez la create-launch-templatecommande pour créer un nouveau modèle de lancement pour votre groupe Auto Scaling. Incluez l’option
--launch-template-data
et l’entrée JSON qui définit les détails des instances créées pour votre groupe Auto Scaling.Par exemple, utilisez la commande suivante pour créer un modèle de lancement avec l'ID d'AMI
.ami-0123456789abcdef0
aws ec2 create-launch-template --launch-template-name
my-new-template
--version-descriptionversion1
\ --launch-template-data '{"ImageId":"ami-0123456789abcdef0
"}'Si elle aboutit, la commande renvoie un résultat semblable au suivant :
{ "LaunchTemplate": { "LaunchTemplateId": "lt-04d5cc9b88example", "LaunchTemplateName": "my-new-template", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "CreateTime": "2023-01-31T15:56:02.000Z", "DefaultVersionNumber": 1, "LatestVersionNumber": 1 } }
Pour plus d’informations, consultez Exemples de création et de gestion de modèles de lancement à l'aide du AWS CLI.
-
Pour consulter la politique d'instances mixtes existante pour votre groupe Auto Scaling, exécutez la describe-auto-scaling-groupscommande. Vous aurez besoin de ces informations à l'étape suivante, lorsque vous lancerez l'actualisation d'instance.
L'exemple de commande suivant renvoie la politique d'instances mixtes configurée pour le groupe Auto Scaling nommé
.my-asg
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name
my-asg
Si elle aboutit, la commande renvoie un résultat semblable au suivant :
{ "AutoScalingGroups":[ { "AutoScalingGroupName":"my-asg", "AutoScalingGroupARN":"
arn
", "MixedInstancesPolicy":{ "LaunchTemplate":{ "LaunchTemplateSpecification":{ "LaunchTemplateId":"lt-073693ed27example", "LaunchTemplateName":"my-old-template", "Version":"$Default" }, "Overrides":[ { "InstanceType":"c5.large" }, { "InstanceType":"c5a.large" }, { "InstanceType":"m5.large" }, { "InstanceType":"m5a.large" } ] }, "InstancesDistribution":{ "OnDemandAllocationStrategy":"prioritized", "OnDemandBaseCapacity":1, "OnDemandPercentageAboveBaseCapacity":50, "SpotAllocationStrategy":"price-capacity-optimized" } }, "MinSize":1, "MaxSize":5, "DesiredCapacity":4, ... } ] } -
Utilisez la start-instance-refreshcommande pour lancer le flux de travail de remplacement d'instance et appliquez votre nouveau modèle de lancement avec l'ID
. Le modèle de lancement étant nouveau, il ne comporte qu'une seule version. Cela signifie que la versionlt-04d5cc9b88example
1
du modèle de lancement est la cible de cette actualisation d'instance. Si un événement de montée en puissance se produit lors de l’actualisation d’instance et si Amazon EC2 Auto Scaling provisionne de nouvelles instances à l’aide de la version1
de ce modèle de lancement, elles ne seront pas remplacées. Une fois l'opération terminée avec succès, la politique d'instances mixtes mise à jour est appliquée à votre groupe Auto Scaling.aws autoscaling start-instance-refresh --cli-input-json file://config.json
Contenu de
config.json
.{ "AutoScalingGroupName":"my-asg", "DesiredConfiguration":{ "MixedInstancesPolicy":{ "LaunchTemplate":{ "LaunchTemplateSpecification":{ "LaunchTemplateId":"
lt-04d5cc9b88example
", "Version":"$Default" }, "Overrides":[ { "InstanceType":"c5.large" }, { "InstanceType":"c5a.large" }, { "InstanceType":"m5.large" }, { "InstanceType":"m5a.large" } ] }, "InstancesDistribution":{ "OnDemandAllocationStrategy":"prioritized", "OnDemandBaseCapacity":1, "OnDemandPercentageAboveBaseCapacity":50, "SpotAllocationStrategy":"price-capacity-optimized" } } } }, "Preferences":{ "SkipMatching":true } }Si elle aboutit, la commande renvoie un résultat semblable au suivant :
{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }
Dans cette procédure suivante, vous allez fournir un ensemble actualisé de types d'instances sans modifier le modèle de lancement.
Pour utiliser la fonction Ignorer la correspondance avec un ensemble actualisé de types d'instances
-
Pour consulter la politique d'instances mixtes existante pour votre groupe Auto Scaling, exécutez la describe-auto-scaling-groupscommande. Vous aurez besoin de ces informations à l'étape suivante, lorsque vous lancerez l'actualisation d'instance.
L'exemple de commande suivant renvoie la politique d'instances mixtes configurée pour le groupe Auto Scaling nommé
.my-asg
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name
my-asg
Si elle aboutit, la commande renvoie un résultat semblable au suivant :
{ "AutoScalingGroups":[ { "AutoScalingGroupName":"my-asg", "AutoScalingGroupARN":"
arn
", "MixedInstancesPolicy":{ "LaunchTemplate":{ "LaunchTemplateSpecification":{ "LaunchTemplateId":"lt-073693ed27example", "LaunchTemplateName":"my-template-for-auto-scaling", "Version":"$Default" }, "Overrides":[ { "InstanceType":"c5.large" }, { "InstanceType":"c5a.large" }, { "InstanceType":"m5.large" }, { "InstanceType":"m5a.large" } ] }, "InstancesDistribution":{ "OnDemandAllocationStrategy":"prioritized", "OnDemandBaseCapacity":1, "OnDemandPercentageAboveBaseCapacity":50, "SpotAllocationStrategy":"price-capacity-optimized" } }, "MinSize":1, "MaxSize":5, "DesiredCapacity":4, ... } ] } -
Utilisez la start-instance-refreshcommande pour lancer le flux de travail de remplacement d'instance et appliquer vos mises à jour. Si vous souhaitez remplacer les instances qui utilisent des types d'instance spécifiques, la configuration souhaitée doit spécifier la politique d'instances mixtes comprenant uniquement les types d'instance que vous souhaitez. Vous pouvez choisir d'ajouter de nouveaux types d'instance à leur place.
L'exemple de commande suivant lance une actualisation d'instance sans le type d'instance indésirable
. Lorsqu'un type d'instance de votre groupe ne correspond pas à l'un des trois types d'instances restants, les instances sont remplacées. (Notez qu'une actualisation d'instance ne choisit pas les types d'instance à partir desquels les nouvelles instances doivent être approvisionnées ; ce choix revient aux stratégies d'allocation.) Une fois l'opération terminée avec succès, la politique d'instances mixtes mise à jour est appliquée à votre groupe Auto Scaling.m5a.large
aws autoscaling start-instance-refresh --cli-input-json file://config.json
Contenu de
config.json
{ "AutoScalingGroupName":"my-asg", "DesiredConfiguration":{ "MixedInstancesPolicy":{ "LaunchTemplate":{ "LaunchTemplateSpecification":{ "LaunchTemplateId":"lt-073693ed27example", "Version":"$Default" }, "Overrides":[ { "InstanceType":"
c5.large
" }, { "InstanceType":"c5a.large
" }, { "InstanceType":"m5.large
" } ] }, "InstancesDistribution":{ "OnDemandAllocationStrategy":"prioritized", "OnDemandBaseCapacity":1, "OnDemandPercentageAboveBaseCapacity":50, "SpotAllocationStrategy":"price-capacity-optimized" } } } }, "Preferences":{ "SkipMatching":true } }