Crea un gruppo di istanze miste utilizzando la selezione del tipo di istanza basata su attributi - 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à.

Crea un gruppo di istanze miste utilizzando la selezione del tipo di istanza basata su attributi

In alternativa alla scelta manuale dei tipi di istanza di un gruppo di istanze miste, puoi specificare un set di attributi dell'istanza che descrivono i requisiti di calcolo. Quando Dimensionamento automatico Amazon EC2 avvia istanze, qualsiasi tipo di istanza utilizzato dal gruppo con scalabilità automatica deve rispettare agli attributi dell'istanza richiesti. Questa opzione è nota come selezione del tipo di istanza basata su attributi.

Questo approccio è ideale per carichi di lavoro e framework che possono essere flessibili su quali tipi di istanza utilizzano, come ad esempio container, big data e CI/CD.

Di seguito sono elencati i vantaggi della selezione del tipo di istanza basata su attributi:

  • Flessibilità ottimale per le istanze Spot: Amazon EC2 Auto Scaling può scegliere tra un'ampia gamma di tipi di istanze per il lancio di istanze Spot. Ciò soddisfa la best practice delle istanze Spot che indica di essere flessibili sui tipi di istanza, il che offre al servizio Amazon EC2 Spot maggiori possibilità di trovare e allocare la quantità necessaria di capacità di calcolo.

  • Usa facilmente i tipi di istanza giusti: con così tanti tipi di istanze disponibili, trovare i tipi di istanza giusti per il tuo carico di lavoro può richiedere molto tempo. Quando si specificano gli attributi dell'istanza, i tipi di istanza avranno automaticamente gli attributi richiesti per il carico di lavoro.

  • Uso automatico di nuovi tipi di istanze: i gruppi di Auto Scaling possono utilizzare tipi di istanze di nuova generazione non appena vengono rilasciati. I tipi di istanza di nuova generazione vengono utilizzati automaticamente quando soddisfano i requisiti e si allineano alle strategie di allocazione scelte per il gruppo con scalabilità automatica.

Come funziona la selezione del tipo di istanza basata su attributi

Con la selezione del tipo di istanza basata sugli attributi, anziché fornire un elenco di tipi di istanza specifici, è possibile fornire un elenco di attributi di istanza richiesti dalle istanze, ad esempio:

  • Numero di vCPU: il numero minimo e massimo di vCPU per istanza.

  • Memoria: il numero minimo e massimo GiBs di memoria per istanza.

  • Archiviazione locale: se utilizzare EBS o i volumi di archiviazione delle istanze per l'archiviazione locale.

  • Prestazioni affidabili: se utilizzare la famiglia di istanze T, inclusi i tipi T4g, T3a, T3 e T2.

Sono disponibili molte opzioni per definire i requisiti dell'istanza. Per una descrizione di ciascuna opzione e dei valori predefiniti, consulta il riferimento InstanceRequirementsall'API Amazon EC2 Auto Scaling.

Quando il gruppo Auto Scaling deve avviare un'istanza, cercherà i tipi di istanza che corrispondono agli attributi specificati e sono disponibili in quella zona di disponibilità. La strategia di allocazione determina quindi quali tipi di istanza corrispondenti avviare. Per impostazione predefinita, la selezione del tipo di istanza basata sugli attributi ha una funzione di protezione del prezzo abilitata per impedire al gruppo Auto Scaling di lanciare tipi di istanze che superano le soglie di budget.

Per impostazione predefinita, si utilizza il numero di istanze come unità di misura per impostare la capacità desiderata del gruppo Auto Scaling, il che significa che ogni istanza conta come un'unità.

Alternativamente, è possibile impostare il valore della capacità desiderata come numero di vCPU o quantità di memoria. A tale scopo, utilizzate il campo a discesa Tipo di capacità desiderato AWS Management Console o la DesiredCapacityType proprietà nell'operazione CreateAutoScalingGroup o UpdateAutoScalingGroup API. Amazon EC2 Auto Scaling avvia quindi il numero di istanze necessarie per soddisfare la vCPU o la capacità di memoria desiderata. Ad esempio, se si utilizzano vCPU come tipo di capacità desiderato e si utilizzano istanze con 2 vCPU ciascuna, una capacità desiderata di 10 vCPU lancerebbe 5 istanze. Si tratta di un'alternativa utile ai pesi delle istanze.

Protezione del prezzo

Con la protezione del prezzo, puoi specificare il prezzo massimo che sei disposto a pagare per le istanze EC2 lanciate dal tuo gruppo Auto Scaling. La protezione del prezzo è una funzionalità che impedisce al gruppo Auto Scaling di utilizzare tipi di istanze che considereresti troppo costosi anche se corrispondono agli attributi specificati.

La protezione del prezzo è abilitata per impostazione predefinita e prevede soglie di prezzo separate per le istanze On-Demand e le istanze Spot. Quando Amazon EC2 Auto Scaling deve lanciare nuove istanze, qualsiasi tipo di istanza con un prezzo superiore alla soglia pertinente non viene lanciato.

Protezione dei prezzi su richiesta

Per le istanze On-Demand, definisci il prezzo On-Demand massimo che sei disposto a pagare come percentuale superiore a un prezzo On-Demand identificato. Il prezzo On-Demand identificato è il prezzo del tipo di istanza C, M o R dell'attuale generazione con il prezzo più basso con gli attributi specificati.

Se un valore di protezione del prezzo On-Demand non è definito in modo esplicito, verrà utilizzato un prezzo On-Demand massimo predefinito del 20% superiore al prezzo On-Demand identificato.

Protezione del prezzo spot

Per impostazione predefinita, Amazon EC2 Auto Scaling applicherà automaticamente una protezione ottimale del prezzo delle istanze Spot per scegliere in modo coerente tra un'ampia gamma di tipi di istanze. Puoi anche impostare manualmente la protezione del prezzo. Tuttavia, lasciare che Amazon EC2 Auto Scaling lo faccia per te può aumentare la probabilità che la tua capacità Spot venga soddisfatta.

Puoi specificare manualmente la protezione del prezzo utilizzando una delle seguenti opzioni. Se imposti manualmente la protezione del prezzo, ti consigliamo di utilizzare la prima opzione.

  • Una percentuale di un prezzo On-Demand identificato: il prezzo On-Demand identificato è il prezzo del tipo di istanza C, M o R dell'attuale generazione con il prezzo più basso con gli attributi specificati.

  • Una percentuale superiore a un prezzo Spot identificato: il prezzo Spot identificato è il prezzo del tipo di istanza C, M o R dell'attuale generazione con il prezzo più basso con gli attributi specificati. Non consigliamo di utilizzare questa opzione perché i prezzi Spot possono variare e pertanto anche la soglia di protezione del prezzo potrebbe variare.

Personalizza la protezione del prezzo

Puoi personalizzare le soglie di protezione del prezzo nella console Amazon EC2 Auto Scaling o utilizzando gli SDK o. AWS CLI

  • Nella console, utilizza le impostazioni di protezione del prezzo On-Demand e Protezione del prezzo Spot negli attributi aggiuntivi dell'istanza.

  • Nella InstanceRequirementsstruttura, per specificare la soglia di protezione del prezzo delle istanze On-Demand, utilizza la OnDemandMaxPricePercentageOverLowestPrice proprietà. Per specificare la soglia di protezione del prezzo dell'istanza Spot, utilizza la proprietà MaxSpotPriceAsPercentageOfOptimalOnDemandPrice o la SpotMaxPricePercentageOverLowestPrice proprietà.

Se si imposta Desired capacity type (DesiredCapacityType) su vCPU o Memory GiB, la protezione del prezzo si applica in base al prezzo per vCPU o per memoria anziché al prezzo per istanza.

Puoi anche disattivare la protezione del prezzo. Per indicare l'assenza di una soglia di protezione del prezzo, specifica un valore percentuale elevato, ad esempio999999.

Nota

Se nessun tipo di istanza C, M o R dell'attuale generazione corrisponde agli attributi specificati, la protezione del prezzo è comunque applicabile. Se non viene trovata alcuna corrispondenza, il prezzo identificato proviene dai tipi di istanza della generazione corrente con il prezzo più basso o, in mancanza, dai tipi di istanza della generazione precedente con il prezzo più basso, che corrispondono ai tuoi attributi.

Prerequisiti

Crea un gruppo di istanze miste con la selezione del tipo di istanza basata sugli attributi (console)

Usa la procedura seguente per creare un gruppo di istanze miste utilizzando la selezione del tipo di istanza basata su attributi. Per aiutarti a eseguire i passaggi in modo efficiente, alcune sezioni facoltative vengono saltate.

Per la maggior parte dei carichi per scopi generici, è sufficiente specificare il numero di vCPU e di memoria necessari. Per casi d'uso avanzati, è possibile specificare attributi come tipo di archiviazione, interfacce di rete, produttore della CPU e tipo di acceleratore.

Per esaminare le best practice per un gruppo di istanze miste, consulta. Panoramica della configurazione

Come creare gruppi di istanze
  1. Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/ e scegli Gruppi con dimensionamento automatico dal pannello di navigazione.

  2. Sulla barra di navigazione nella parte superiore della schermata, scegli la stessa Regione AWS che utilizzata durante la creazione del modello di avvio.

  3. Selezionare Crea un gruppo con dimensionamento automatico.

  4. Nella pagina Scegli il modello o la configurazione di avvio, in Nome gruppo con dimensionamento automatico, inserisci un nome per il gruppo con dimensionamento automatico.

  5. Per scegliere il modello di avvio, completa le seguenti operazioni:

    1. Come Launch template (Modello di avvio) scegli un modello di avvio esistente.

    2. Per la Versione del modello di avvio, scegli se durante il dimensionamento orizzontale il gruppo con dimensionamento automatico debba usare la versione di default, quella più recente o una versione specifica del modello di avvio.

    3. Verificare che il modello di avvio supporti tutte le opzioni che si intende utilizzare e quindi scegliere Next (Successivo).

  6. Nella pagina Scegli le opzioni di avvio istanza, procedi come segue:

    1. Per Instance type requirements (Requisiti del tipo di istanza), scegli Override launch template (Sostituisci modello di avvio).

      Nota

      Se scegli un modello di avvio che contiene già un set di attributi di istanza, come vCPU e memoria, vengono visualizzati gli attributi dell'istanza. Questi attributi vengono aggiunti alle proprietà del gruppo con dimensionamento automatico, dove puoi aggiornarli dalla console Amazon EC2 in qualsiasi momento.

    2. In Specify instance attributes (Specifica attributi dell'istanza), inizia inserendo le vCPU e i requisiti di memoria.

      • Per vCPUs (vCPU) inserire il numero minimo e massimo desiderato di vCPU. Per non specificare alcun limite, selezionare No minimum (Nessun minimo), No maximum (Nessun massimo) o entrambe le opzioni.

      • Per Memory (GiB) (Memoria [GiB]) inserire la quantità minima e massima di memoria desiderata. Per non specificare alcun limite, selezionare No minimum (Nessun minimo), No maximum (Nessun massimo) o entrambe le opzioni.

    3. (Facoltativo) Per Additional instance attributes (Attributi istanza aggiuntivi), facoltativamente, è possibile specificare uno o più attributi per esprimere i requisiti di calcolo in modo più dettagliato. Ogni attributo aggiuntivo aggiunge ulteriori vincoli alla propria richiesta.

    4. Espandete Anteprima dei tipi di istanze corrispondenti per visualizzare i tipi di istanza con gli attributi specificati.

    5. In Opzioni di acquisto delle istanze, per Distribuzione delle istanze, specifica le percentuali del gruppo da avviare rispettivamente come istanze on demand e istanze spot. Se l'applicazione è senza stato, tollerante ai guasti e può gestire un'istanza interrotta, è possibile specificare una percentuale più alta di istanze Spot.

    6. (Facoltativo) Quando specifichi una percentuale per le istanze spot, seleziona Includi capacità di base on demand e specifica quindi la quantità minima di capacità iniziale del gruppo con dimensionamento automatico che deve essere raggiunta dalle istanze on demand. Qualsiasi cosa oltre la capacità di base utilizza le impostazioni Instances distribution (Distribuzione delle istanze) per stabilire quante istanze on demand e istanze Spot avviare.

    7. In Allocation strategies (Strategie di allocazione), Lowest price (Prezzo più basso) viene selezionato automaticamente per On-Demand allocation strategy (Strategia di allocazione on demand) e non può essere cambiato.

    8. Per Spot allocation strategy (Strategia di allocazione Spot), scegli una strategia di allocazione. L'opzione Price capacity optimized (Ottimizzazione per prezzo e capacità) è selezionata per impostazione predefinita. Per impostazione predefinita, l'opzione Lowest price (Prezzo più basso) è nascosta e viene visualizzata solo quando scegli Show all strategies (Mostra tutte le strategie). Se hai scelto Prezzo più basso inserisci il numero di pool con il prezzo più basso da diversificare tra i Pool con prezzi più bassi.

    9. Per il ribilanciamento della capacità, scegli se abilitare o disabilitare il ribilanciamento della capacità. Utilizza il ribilanciamento della capacità per rispondere automaticamente quando le tue istanze spot stanno per terminare a causa di un'interruzione spot. Per ulteriori informazioni, consulta Utilizza il ribilanciamento della capacità per gestire le interruzioni spot di Amazon EC2.

    10. In Rete, per VPC, scegli un VPC. Il gruppo con dimensionamento automatico deve essere creato nello stesso VPC del gruppo di sicurezza specificato nel modello di avvio.

    11. Per Availability Zones and subnets (Zone di disponibilità e sottoreti), scegli una o più sottoreti nel VPC specificato. Per un'elevata disponibilità, utilizza sottoreti in più zone di disponibilità. Per ulteriori informazioni, consulta Considerazioni sulla scelta di sottoreti VPC.

    12. Scegli Avanti, Avanti.

  7. Per la fase Configure group size and scaling policies (Configura le dimensioni dei gruppi e le policy di scalabilità), procedi come riportato di seguito:

    1. Per misurare la capacità desiderata in unità diverse dalle istanze, scegli l'opzione appropriata per Dimensioni gruppo, Tipo di capacità desiderata. Sono supportati Units (Unità), vCPUs (vCPU) e Memory GiB (GiB di memoria). Per impostazione predefinita, Dimensionamento automatico Amazon EC2 specifica Units (Unità), che si traduce in un numero di istanze.

    2. Per capacità desiderata, le dimensioni iniziali del tuo gruppo con dimensionamento automatico.

    3. Nella sezione Dimensionamento, in Limiti di dimensionamento, se il nuovo valore per la capacità desiderata è maggiore della capacità minima desiderata e della capacità massima desiderata, la capacità massima desiderata viene automaticamente aumentata fino al nuovo valore di capacità desiderato. È possibile modificare questi limiti se necessario. Per ulteriori informazioni, consulta Impostare i limiti di dimensionamento per il gruppo con dimensionamento automatico.

  8. Selezionare Passa a revisione.

  9. Nella pagina Verifica, scegliere Crea gruppo con dimensionamento automatico.

Crea un gruppo di istanze miste con la selezione del tipo di istanza basata sugli attributi ()AWS CLI

Per creare un gruppo di istanze miste tramite la riga di comando

Utilizzare uno dei seguenti comandi:

Configurazione di esempio

Per creare un gruppo con dimensionamento automatico con selezione del tipo di istanza basata su attributi utilizzando AWS CLI, puoi utilizzare il seguente comando create-auto-scaling-group.

Vengono specificati i seguenti attributi di istanza:

  • VCpuCount: i tipi di istanza devono avere un minimo di quattro e un massimo di otto vCPU.

  • MemoryMiB: i tipi di istanza devono avere un minimo di 16.384 MiB di memoria.

  • CpuManufacturers: i tipi di istanza devono avere una CPU prodotta da Intel.

aws autoscaling create-auto-scaling-group --cli-input-json file://~/config.json

Di seguito è riportato un esempio del file config.json.

{ "AutoScalingGroupName": "my-asg", "DesiredCapacityType": "units", "MixedInstancesPolicy": { "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "$Default" }, "Overrides": [{ "InstanceRequirements": { "VCpuCount": {"Min": 4, "Max": 8}, "MemoryMiB": {"Min": 16384}, "CpuManufacturers": ["intel"] } }] }, "InstancesDistribution": { "OnDemandPercentageAboveBaseCapacity": 50, "SpotAllocationStrategy": "price-capacity-optimized" } }, "MinSize": 0, "MaxSize": 100, "DesiredCapacity": 4, "DesiredCapacityType": "units", "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" }

Per impostare il valore della capacità desiderata come numero di vCPU o quantità di memoria, specifica "DesiredCapacityType": "vcpu" o "DesiredCapacityType": "memory-mib" nel file. Il tipo di capacità di default desiderato è units, che imposta il valore della capacità desiderata come numero di istanze.

In alternativa, puoi utilizzare il seguente comando create-auto-scaling-group per creare il gruppo con dimensionamento automatico. Questo fa riferimento a un file YAML, non a un file JSON, come unico parametro per il gruppo con dimensionamento automatico.

aws autoscaling create-auto-scaling-group --cli-input-yaml file://~/config.yaml

Di seguito è riportato un esempio del file config.yaml.

--- AutoScalingGroupName: my-asg DesiredCapacityType: units MixedInstancesPolicy: LaunchTemplate: LaunchTemplateSpecification: LaunchTemplateName: my-launch-template Version: $Default Overrides: - InstanceRequirements: VCpuCount: Min: 2 Max: 4 MemoryMiB: Min: 2048 CpuManufacturers: - intel InstancesDistribution: OnDemandPercentageAboveBaseCapacity: 50 SpotAllocationStrategy: price-capacity-optimized MinSize: 0 MaxSize: 100 DesiredCapacity: 4 DesiredCapacityType: units VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782

Per impostare il valore della capacità desiderata come numero di vCPU o quantità di memoria, specifica DesiredCapacityType: vcpu o DesiredCapacityType: memory-mib nel file. Il tipo di capacità di default desiderato è units, che imposta il valore della capacità desiderata come numero di istanze.

Visualizza in anteprima i tipi di istanza

È possibile visualizzare in anteprima i tipi di istanza che corrispondono ai requisiti di calcolo senza avviarli e modificare i requisiti, se necessario. Quando crei il gruppo con scalabilità automatica nella console Dimensionamento automatico Amazon EC2, viene visualizzata un'anteprima dei tipi di istanza nella sezione Preview matching instance types (Anteprima tipi di istanza corrispondenti) alla pagina Choose instance launch options (Scelta delle opzioni di avvio dell'istanza).

In alternativa, puoi visualizzare in anteprima i tipi di istanza effettuando una chiamata GetInstanceTypesFromInstanceRequirementsAPI Amazon EC2 utilizzando AWS CLI o un SDK. Trasferisci i parametri InstanceRequirements nella richiesta nel formato esatto da utilizzare per creare o aggiornare un gruppo con scalabilità automatica. Per ulteriori informazioni, consulta Anteprima dei tipi di istanza con attributi specificati nella Amazon EC2 User Guide.

Per ulteriori informazioni sulla selezione del tipo di istanza basata sugli attributi, consulta Selezione del tipo di istanza basata sugli attributi per EC2 Auto Scaling and EC2 Fleet sul blog. AWS

Puoi dichiarare la selezione del tipo di istanza basata su attributi quando crei un gruppo con dimensionamento automatico usando AWS CloudFormation. Per ulteriori informazioni, consulta lo snippet di esempio nella sezione Snippet del modello di dimensionamento automatico della Guida per l'utente AWS CloudFormation .