View a markdown version of this page

Usa i segmenti di distribuzione per scegliere come target più tipi di prenotazione di capacità - Amazon EC2 Auto Scaling

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à.

Usa i segmenti di distribuzione per scegliere come target più tipi di prenotazione di capacità

Utilizza i segmenti di distribuzione per configurare il tuo gruppo Auto Scaling in modo da utilizzare più tipi di prenotazioni di capacità (prenotazioni di On-Demand capacità, Capacity Blocks per ML e prenotazioni di capacità interrompibili) con ordinamento prioritario. Scegli come target questi tipi di prenotazione indirizzando il tuo gruppo Auto Scaling a un Capacity Reservation Resource Group che contiene una combinazione di diverse prenotazioni di capacità.

Quando configuri i segmenti di distribuzione, Auto Scaling avvia le istanze tra i tipi di prenotazione nell'ordine di priorità specificato, con riserva opzionale alla capacità. On-Demand

In che modo Auto Scaling distribuisce le istanze tra le opzioni di mercato

Auto Scaling distribuisce le istanze avviate tra diverse opzioni di mercato in base alla configurazione delle policy per le istanze miste.

On-Demand e distribuzione Spot

Puoi distribuire le istanze tra On-Demand e la capacità di Spot utilizzando i OnDemandPercentageAboveBaseCapacity campi OnDemandBaseCapacity e della tua policy sulle istanze miste. L'esempio seguente avvia le prime 2 istanze come On-Demand, quindi il 25 percento delle istanze rimanenti come On-Demand e le restanti come Spot:

{ "InstancesDistribution": { "OnDemandBaseCapacity": 2, "OnDemandPercentageAboveBaseCapacity": 25 } }

Distribuzione con segmenti di distribuzione

Un segmento di distribuzione è una configurazione del gruppo Auto Scaling che contiene un elenco di tipi di capacità a cui assegnare priorità in ordine. I segmenti di distribuzione sono impostati nel DistributionSegments campo della politica sulle istanze miste.

Auto Scaling attualmente supporta solo un segmento di distribuzione per gruppo Auto Scaling. Tutta la capacità del gruppo Auto Scaling è distribuita tra i tipi di capacità target (TargetCapacityTypes) di quel segmento.

I valori validi per TargetCapacityTypes sono:

  • on-demand-capacity-reservation— Prenotazioni On-Demand di capacità

  • capacity-block— Capacity Blocks per ML

  • interruptible-capacity-reservation— prenotazioni di capacità interrompibili

  • on-demand— capacità On-Demand

L'ordine dell'elenco determina il modo in cui Auto Scaling distribuisce le istanze avviate. Auto Scaling tenta di consumare capacità nell'ordine in cui sono elencati i tipi. Quando un particolare tipo di capacità non è disponibile, Auto Scaling salta quel tipo e passa a quello successivo.

L'esempio seguente avvia le istanze Reservation-backed prima come On-Demand Capacity, poi come Capacity Block -backed, quindi come Capacity interrompibile e infine come se la capacità riservata Reservation-backed non fosse sufficiente: On-Demand

{ "InstancesDistribution": { "DistributionSegments": [ { "TargetCapacityTypes": [ "on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand" ] } ] } }

Se si include on-demand nell'elenco, Auto Scaling torna alla On-Demand capacità quando la capacità riservata non è disponibile. Se si ometteon-demand, le istanze non vengono avviate quando la capacità riservata non è disponibile. Se la includion-demand, deve essere l'ultima voce dell'elenco.

Nota

La capacità Spot non è supportata come tipo di capacità target in questo momento.

Prerequisiti

Prima di poter configurare i segmenti di distribuzione nel gruppo Auto Scaling, devi creare le prenotazioni di capacità che desideri consumare e il gruppo di risorse per le prenotazioni di capacità che le contiene.

Per creare una prenotazione di capacità, consulta una delle seguenti informazioni nella Guida per l'utente di Amazon EC2:

Per creare un gruppo di risorse per la prenotazione della capacità che contenga una combinazione di diverse prenotazioni di capacità, consulta i gruppi di risorse per la prenotazione della capacità nella Guida per l'utente di Amazon EC2.

Configura il tuo gruppo Auto Scaling per utilizzare i segmenti di distribuzione

Per configurare il gruppo Auto Scaling per l'utilizzo dei segmenti di distribuzione, aggiungeteli alla vostra policy sulle istanze miste e impostate il Capacity Reservation Resource Group ARN come obiettivo nella specifica di Capacity Reservation.

Auto Scaling tenta di avviare le istanze nell'ordine di priorità dei tipi di capacità e, all'interno di ciascun tipo di capacità, nell'ordine dei tipi di istanza elencati nel modello di avvio. Overrides

Console
Per configurare i segmenti di distribuzione su un nuovo gruppo (console)
  1. Segui i passaggi indicatiCreare un gruppo con dimensionamento automatico utilizzando la procedura guidata di Amazon EC2, fino al passaggio 2.

  2. Nella pagina Scegli le opzioni di avvio dell'istanza, in Requisiti del tipo di istanza, scegli Sostituisci modello di avvio, quindi scegli Sostituisci modello di avvio per i segmenti di distribuzione.

  3. In Opzioni di distribuzione dell'istanza, scegli Segmenti di distribuzione.

  4. Per Seleziona il tipo di prenotazione della capacità target, seleziona i tipi di prenotazione della capacità da includere in questo segmento di distribuzione. Assicurati che il tuo Capacity Reservation Resource Group contenga i tipi di prenotazione selezionati.

  5. In Order target Capacity Reservation types, trascina i tipi nell'ordine di priorità desiderato. Auto Scaling avvia le istanze in Capacity Reservations in questo ordine. Se hai selezionato On-Demand delle istanze, devono essere le ultime.

  6. In Impostazioni di capacità aggiuntive, per l'obiettivo di prenotazione della capacità, scegli Specifica il gruppo di risorse di prenotazione della capacità (obiettivo per ARN), quindi scegli l'ARN del tuo gruppo di risorse per la prenotazione della capacità.

  7. Continua con i passaggi rimanenti della procedura guidata.

AWS CLI

Utilizzate il comando create-auto-scaling-group per creare un nuovo gruppo Auto Scaling con segmenti di distribuzione.

L'esempio seguente utilizza un ordine di priorità: prima le prenotazioni di On-Demand capacità, poi le prenotazioni di capacità interrompibiliCapacity Blocks, quindi. On-Demand

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --min-size 0 --max-size 10 --desired-capacity 5 \ --vpc-zone-identifier "subnet-abc1234a" \ --mixed-instances-policy '{ "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template" }, "Overrides": [ {"InstanceType": "m5.24xlarge"}, {"InstanceType": "p5.48xlarge"} ] }, "InstancesDistribution": { "OnDemandAllocationStrategy": "prioritized", "DistributionSegments": [ { "TargetCapacityTypes": [ "on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand" ] } ] } }' \ --capacity-reservation-specification '{ "CapacityReservationTarget": { "CapacityReservationResourceGroupArns": [ "arn:aws:resource-groups:us-east-1:123456789012:group/my-crg" ] } }'

Esegui la migrazione da e verso i segmenti di distribuzione

È possibile migrare un gruppo Auto Scaling esistente per utilizzare i segmenti di distribuzione e tornare a una configurazione standard quando necessario. In tutti gli scenari di migrazione, le istanze esistenti continuano a funzionare. I nuovi lanci seguono la configurazione aggiornata.

Esegui la migrazione di un gruppo di istanze miste per utilizzare i segmenti di distribuzione

Per migrare un gruppo di istanze miste esistente per utilizzare i segmenti di distribuzione, utilizza uno dei seguenti metodi. Auto Scaling cancella automaticamente OnDemandBaseCapacity e OnDemandPercentageAboveBaseCapacity quando aggiungi segmenti di distribuzione.

Console
Per migrare un gruppo esistente ai segmenti di distribuzione (console)
  1. Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/ e scegli Auto Scaling Groups dal pannello di navigazione.

  2. Dalla barra di navigazione in alto, scegli Regione AWS dove si trova il tuo gruppo Auto Scaling.

  3. Scegli il nome del tuo gruppo Auto Scaling per aprirne la pagina dei dettagli.

  4. Nella sezione Requisiti del tipo di istanza, scegli Modifica.

  5. In Requisiti del tipo di istanza, scegli Sostituisci modello di avvio, quindi scegli Sostituisci modello di avvio per i segmenti di distribuzione.

  6. In Opzioni di distribuzione dell'istanza, scegli Segmenti di distribuzione.

  7. Per Seleziona il tipo di prenotazione della capacità target, seleziona i tipi di prenotazione della capacità da includere in questo segmento di distribuzione. Assicurati che il tuo Capacity Reservation Resource Group contenga i tipi di prenotazione selezionati.

  8. In Order target Capacity Reservation types, trascina i tipi nell'ordine di priorità desiderato. Se hai selezionato On-Demand delle istanze, deve essere l'ultima.

  9. Scegliere Aggiorna.

Per impostare il Capacity Reservation Resource Group come destinazione per un gruppo esistente, vedereAggiornare un gruppo Auto Scaling esistente.

AWS CLI

Utilizzate il comando update-auto-scaling-group per aggiungere segmenti di distribuzione alla vostra policy sulle istanze miste e impostare il Capacity Reservation Resource Group ARN come destinazione.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --mixed-instances-policy '{ "InstancesDistribution": { "DistributionSegments": [ { "TargetCapacityTypes": [ "on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand" ] } ] } }' \ --capacity-reservation-specification '{ "CapacityReservationPreference": "default", "CapacityReservationTarget": { "CapacityReservationResourceGroupArns": [ "arn:aws:resource-groups:us-east-1:123456789012:group/my-crg" ] } }'

Esegui la migrazione dai segmenti di distribuzione

Per tornare a un gruppo di istanze miste standard, utilizza uno dei seguenti metodi.

Console
Per rimuovere i segmenti di distribuzione da un gruppo (console)
  1. Apri la console Amazon EC2 all'indirizzo e https://console.aws.amazon.com/ec2/ scegli Auto Scaling Groups dal pannello di navigazione.

  2. Dalla barra di navigazione in alto, scegli Regione AWS dove si trova il tuo gruppo Auto Scaling.

  3. Scegli il nome del tuo gruppo Auto Scaling per aprirne la pagina dei dettagli.

  4. Nella sezione Requisiti del tipo di istanza, scegli Modifica.

  5. In Requisiti del tipo di istanza, scegli Reimposta per avviare il modello. In questo modo vengono rimosse le sostituzioni al modello di avvio, cancellando così la policy relativa alle istanze miste e i relativi segmenti di distribuzione.

  6. Scegliere Aggiorna.

AWS CLI

Usa il comando https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html update-auto-scaling-group per impostare o. OnDemandBaseCapacity OnDemandPercentageAboveBaseCapacity Auto Scaling cancella automaticamente i segmenti di distribuzione quando imposti i campi precedenti.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --mixed-instances-policy '{ "InstancesDistribution": { "OnDemandBaseCapacity": 2, "OnDemandPercentageAboveBaseCapacity": 25 } }' \ --capacity-reservation-specification '{ "CapacityReservationPreference": "capacity-reservations-first" }'

In alternativa, puoi cancellare i segmenti di distribuzione in modo esplicito DistributionSegments impostando un elenco vuoto.

Se desideri passare a utilizzare un modello di avvio nel tuo gruppo Auto Scaling senza una politica di istanze miste, usa il update-auto-scaling-group comando con un modello di avvio di primo livello. Auto Scaling cancella la policy sulle istanze miste quando fornisci un modello di avvio di primo livello.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-launch-template \ --capacity-reservation-specification '{ "CapacityReservationPreference": "capacity-reservations-first" }'
Nota

Puoi anche migrare da e verso i segmenti di distribuzione utilizzando un aggiornamento dell'istanza con il parametro. --desired-configuration

Scale-in comportamento con i segmenti di distribuzione

Quando il gruppo Auto Scaling si espande, Auto Scaling termina le istanze nell'ordine opposto al tuo. TargetCapacityTypes On-Demand le istanze vengono terminate per prime, seguite dalle istanze con la priorità più bassa e così via fino al tipo di capacità con la priorità più alta.

Ad esempio, se TargetCapacityTypes impostato su["on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand"], Auto Scaling termina le istanze nel seguente ordine durante la scalabilità in:

  1. On-Demand

  2. Capacità interrompibile Reservation-backed

  3. Supportata da Capacity Block

  4. On-Demand Capacity Reservation-backed

Se aggiorni i segmenti di distribuzione per rimuovere un tipo di prenotazione, le istanze esistenti di quel tipo rimosso vengono terminate prima di qualsiasi istanza il cui tipo è ancora nell'elenco.

Considerazioni

  • Preferenza di prenotazione della capacità: default è supportata solo durante la configurazione dei segmenti di distribuzione. Per ulteriori informazioni, consulta Preferenza di prenotazione della capacità.

  • On-Demand strategia di allocazione: prioritized è supportata solo quando si configurano i segmenti di distribuzione.

  • Piscine calde: le piscine calde non sono supportate con i segmenti di distribuzione.

  • Capacità spot: la capacità spot non è supportata come tipo di capacità target nei segmenti di distribuzione.