Utilizzo di un aggiornamento dell'istanza con l'opzione Ignora la corrispondenza - Dimensionamento automatico Amazon EC2

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di un aggiornamento dell'istanza con l'opzione Ignora la corrispondenza

Ignora la corrispondenza indica a Dimensionamento automatico Amazon EC2 di ignorare le istanze che dispongono già degli aggiornamenti più recenti, in modo da non sostituire più istanze del necessario. Ciò è utile quando desideri assicurarti che il gruppo con scalabilità automatica utilizzi una particolare versione del modello di avvio e sostituisca solo le istanze che ne utilizzano una diversa.

All'opzione Salta corrispondenza si applicano le seguenti considerazioni:

  • Se avvii un aggiornamento dell'istanza con l'opzione Ignora la corrispondenza e specifichi una configurazione desiderata, Dimensionamento automatico Amazon EC2 verifica la corrispondenza di determinate istanze con la configurazione desiderata. Quindi, sostituisce solo le istanze che non corrispondono a tale configurazione. Al termine dell'aggiornamento dell'istanza, Dimensionamento automatico Amazon EC2 aggiorna il gruppo affinché corrisponda alla configurazione desiderata.

  • Se avvii un aggiornamento dell'istanza con l'opzione Ignora la corrispondenza ma non specifichi una configurazione desiderata, Dimensionamento automatico Amazon EC2 verifica la corrispondenza di determinate istanze all'ultima configurazione salvata nel gruppo con scalabilità automatica. Quindi, sostituisce solo le istanze non corrispondenti.

  • Puoi usare l'opzione Ignora la corrispondenza con un nuovo modello di avvio, una nuova versione del modello di avvio o un set di tipi di istanze. Se abiliti l'opzione Salta corrispondenza, ma nessuno di questi parametri viene modificato, l'aggiornamento dell'istanza avrà esito positivo senza sostituirne alcuna. Se hai apportato altre modifiche alla configurazione desiderata (ad esempio la modifica della strategia di allocazione Spot), Dimensionamento automatico Amazon EC2 attende che l'aggiornamento dell'istanza abbia esito positivo. Quindi, aggiorna le impostazioni del gruppo con scalabilità automatica in base alla nuova configurazione desiderata.

  • Non puoi utilizzare l'opzione Salta corrispondenza con una nuova configurazione di avvio.

  • Quando avvii un aggiornamento dell'istanza e fornisci la configurazione desiderata, Amazon EC2 Auto Scaling assicura che tutte le istanze utilizzino la configurazione desiderata. Pertanto, quando specifichi una $Default o $Latest come versione desiderata per il modello di lancio e poi crei una nuova versione del modello di lancio mentre è in corso un aggiornamento dell'istanza, tutte le istanze già sostituite verranno nuovamente sostituite.

  • Skip matching non sa se uno script di dati utente nel modello di avvio recupererà il codice aggiornato e lo installerà su nuove istanze. Di conseguenza, skip matching potrebbe saltare la sostituzione delle istanze in cui è installato codice obsoleto. In questo caso, dovresti disattivare lo skip matching per assicurarti che tutte le istanze ricevano il codice più recente, anche senza un aggiornamento della versione del modello di lancio.

Questa sezione include AWS CLI le istruzioni per avviare un aggiornamento dell'istanza con skip matching abilitato. Per istruzioni su come usare la console, consulta Avvio dell'aggiornamento di un'istanza (console).

Segui i passaggi di questa sezione per AWS CLI eseguire le seguenti operazioni:

  • Creare il modello di avvio da applicare alle istanze.

  • Avviare un aggiornamento dell'istanza per applicare il modello di avvio al gruppo con scalabilità automatica Se non abiliti l'opzione Ignora la corrispondenza, tutte le istanze verranno sostituite. Ciò vale anche se il modello di avvio utilizzato per eseguire il provisioning dell'istanza è uguale a quello specificato per la configurazione desiderata.

Per utilizzare l'opzione Ignora la corrispondenza con un nuovo modello di avvio
  1. Utilizzate il create-launch-templatecomando per creare un nuovo modello di avvio per il gruppo Auto Scaling. Includi l'opzione --launch-template-data e l'input JSON che definisce i dettagli delle istanze create per il gruppo con scalabilità automatica.

    Ad esempio, utilizza il comando seguente per creare un modello di avvio di base con l'ID AMI ami-0123456789abcdef0 e il tipo di istanza t2.micro.

    aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \ --launch-template-data '{"ImageId":"ami-0123456789abcdef0","InstanceType":"t2.micro"}'

    Se il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:

    { "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 } }

    Per ulteriori informazioni, consulta Esempi di creazione e gestione di modelli di lancio con AWS CLI.

  2. Utilizzate il start-instance-refreshcomando per avviare il flusso di lavoro di sostituzione delle istanze e applicate il nuovo modello di lancio con l'ID. lt-068f72b729example Poiché il modello di avvio è nuovo, ha una sola versione. Ciò significa che la versione 1 del modello di avvio è l'obiettivo di tale aggiornamento dell'istanza. Se durante l'aggiornamento dell'istanza si verifica un aumento orizzontale e Dimensionamento automatico Amazon EC2 effettua il provisioning di nuove istanze utilizzando la versione 1 di questo modello di avvio, le istanze non verranno sostituite. Al termine dell'operazione, il nuovo modello di avvio viene applicato correttamente al gruppo con scalabilità automatica.

    aws autoscaling start-instance-refresh --cli-input-json file://config.json

    Contenuto di config.json.

    { "AutoScalingGroupName": "my-asg", "DesiredConfiguration": { "LaunchTemplate": { "LaunchTemplateId": "lt-068f72b729example", "Version": "$Default" } }, "Preferences": { "SkipMatching": true } }

    Se il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:

    { "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }

Se disponi di un gruppo Auto Scaling con una politica di istanze miste, segui i passaggi di questa sezione AWS CLI per avviare un aggiornamento dell'istanza con skip matching. Sono disponibili le seguenti opzioni:

  • Fornire un nuovo modello di avvio da applicare a tutti i tipi di istanze specificati nella policy.

  • Fornire un set aggiornato di tipi di istanze con o senza modifica del modello di avvio nella policy. Supponiamo, ad esempio, che tu voglia eseguire la migrazione da tipi di istanza indesiderati. In questo caso, dovresti utilizzare il modello di avvio così com'è, senza modificare l'AMI, i gruppi di sicurezza o altre specifiche delle istanze da sostituire.

Segui i passaggi indicati in una delle sezioni seguenti, a seconda dell'opzione più adatta alle tue esigenze.

Per utilizzare l'opzione Ignora la corrispondenza con un nuovo modello di avvio
  1. Utilizzate il create-launch-templatecomando per creare un nuovo modello di avvio per il gruppo Auto Scaling. Includi l'opzione --launch-template-data e l'input JSON che definisce i dettagli delle istanze create per il gruppo con scalabilità automatica.

    Ad esempio, utilizza il comando seguente per creare un modello di avvio con l'ID AMI ami-0123456789abcdef0.

    aws ec2 create-launch-template --launch-template-name my-new-template --version-description version1 \ --launch-template-data '{"ImageId":"ami-0123456789abcdef0"}'

    Se il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:

    { "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 } }

    Per ulteriori informazioni, consulta Esempi di creazione e gestione di modelli di lancio con AWS CLI.

  2. Per visualizzare la politica esistente per le istanze miste per il gruppo Auto Scaling, describe-auto-scaling-groupsesegui il comando. Queste informazioni serviranno per avviare l'aggiornamento dell'istanza, come descritto nel passaggio successivo.

    Il seguente comando di esempio restituisce la policy di istanze miste configurata per il gruppo con scalabilità automatica denominato my-asg.

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg

    Se il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:

    { "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, ... } ] }
  3. Utilizzate il start-instance-refreshcomando per avviare il flusso di lavoro di sostituzione delle istanze e applicate il nuovo modello di lancio con l'ID. lt-04d5cc9b88example Poiché il modello di avvio è nuovo, ha una sola versione. Ciò significa che la versione 1 del modello di avvio è l'obiettivo di tale aggiornamento dell'istanza. Se durante l'aggiornamento dell'istanza si verifica un aumento orizzontale e Dimensionamento automatico Amazon EC2 effettua il provisioning di nuove istanze utilizzando la versione 1 di questo modello di avvio, le istanze non verranno sostituite. Al termine dell'operazione, la policy di istanze miste aggiornata viene applicata correttamente al gruppo con scalabilità automatica.

    aws autoscaling start-instance-refresh --cli-input-json file://config.json

    Contenuto di 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 } }

    Se il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:

    { "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }

Nella procedura seguente, fornirai un set aggiornato di tipi di istanze senza modificare il modello di avvio.

Per utilizzare l'opzione Ignora la corrispondenza con un set aggiornato di tipi di istanza
  1. Per visualizzare la politica esistente per le istanze miste per il gruppo Auto Scaling, describe-auto-scaling-groupsesegui il comando. Queste informazioni serviranno per avviare l'aggiornamento dell'istanza, come descritto nel passaggio successivo.

    Il seguente comando di esempio restituisce la policy di istanze miste configurata per il gruppo con scalabilità automatica denominato my-asg.

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg

    Se il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:

    { "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, ... } ] }
  2. Utilizzate il start-instance-refreshcomando per avviare il flusso di lavoro di sostituzione delle istanze e applicare gli aggiornamenti. Se desideri sostituire le istanze che utilizzano tipi di istanza precisi, la configurazione desiderata deve specificare la policy di istanze miste con solo i tipi di istanza desiderati. Puoi scegliere se aggiungere nuovi tipi di istanza al loro posto.

    Il seguente comando di esempio avvia un aggiornamento dell'istanza senza il tipo di istanza indesiderato m5a.large. Quando un tipo di istanza nel gruppo non corrisponde a uno dei tre tipi di istanza rimanenti, le istanze vengono sostituite. Tieni presente che un aggiornamento dell'istanza non sceglie i tipi di istanza da cui eseguire il provisioning delle nuove istanze, al contrario delle strategie di allocazione. Al termine dell'operazione, la policy di istanze miste aggiornata viene applicata correttamente al gruppo con scalabilità automatica.

    aws autoscaling start-instance-refresh --cli-input-json file://config.json

    Contenuto di 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 } }