Configurazione della capacità per l'ambiente Elastic Beanstalk - AWS Elastic Beanstalk

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

Configurazione della capacità per l'ambiente Elastic Beanstalk

Questo argomento descrive i diversi approcci per configurare la capacità di Auto Scaling per l'ambiente Elastic Beanstalk. Puoi utilizzare la console Elastic Beanstalk, l'EB AWS CLI CLI, o le opzioni dello spazio dei nomi.

Importante

L'impostazione dell'EnableSpotopzione può far sì che Elastic Beanstalk crei un ambiente con un modello di avvio o aggiorni un ambiente esistente dalle configurazioni di avvio ai modelli di avvio. A tale scopo sono necessarie le autorizzazioni necessarie per gestire i modelli di lancio. Queste autorizzazioni sono incluse nella nostra politica gestita. Se utilizzi politiche personalizzate anziché le nostre politiche gestite, la creazione o gli aggiornamenti dell'ambiente potrebbero non riuscire quando abiliti le istanze Spot per il tuo ambiente. Per ulteriori informazioni e altre considerazioni, consulta. Avvia modelli per il tuo ambiente Elastic Beanstalk

Configurazione con la console

Puoi configurare la gestione della capacità di un gruppo Auto Scaling modificando Capacity nella pagina di configurazione dell'ambiente nella console Elastic Beanstalk.

Per configurare la capacità del gruppo Auto Scaling nella console Elastic Beanstalk
  1. Apri la console Elastic Beanstalk e, nell'elenco Regioni, seleziona la tua. Regione AWS

  2. Nel pannello di navigazione selezionare Environments (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.

    Nota

    Se si dispone di molti ambienti, utilizzare la barra di ricerca per filtrare l'elenco degli ambienti.

  3. Nel riquadro di navigazione, selezionare Configuration (Configurazione).

  4. Nella categoria di configurazione Capacity (Capacità), scegliere Edit (Modifica).

  5. Nella sezione Auto Scaling group (Gruppo Auto Scaling), configurare le impostazioni seguenti.

    • Environment type (Tipo di ambiente): selezionare Load balanced (Carico bilanciato).

    • Numero minimo di istanze: il numero minimo di EC2 istanze che il gruppo deve contenere in qualsiasi momento. Il gruppo inizia con il numero minimo di istanze e ne aggiunge altre quando viene soddisfatta la condizione del trigger di scalabilità verticale.

    • Numero massimo di istanze: il numero massimo di EC2 istanze che il gruppo deve contenere in qualsiasi momento.

      Nota

      Se utilizzi gli aggiornamenti in sequenza, accertati che il numero massimo di istanze sia superiore all'impostazione Minimum instances in service (Istanze minime in servizio) per gli aggiornamenti in sequenza.

    • Composizione del parco istanze: per impostazione predefinita è Istanze on demand. Per abilitare le richieste di istanze Spot, seleziona Opzioni e istanze d'acquisto combinate.

      Importante

      L'impostazione dell'EnableSpotopzione può far sì che Elastic Beanstalk crei un ambiente con un modello di avvio o aggiorni un ambiente esistente dalle configurazioni di avvio ai modelli di avvio. A tale scopo sono necessarie le autorizzazioni necessarie per gestire i modelli di lancio. Queste autorizzazioni sono incluse nella nostra politica gestita. Se utilizzi politiche personalizzate anziché le nostre politiche gestite, la creazione o gli aggiornamenti dell'ambiente potrebbero non riuscire quando abiliti le istanze Spot per il tuo ambiente. Per ulteriori informazioni e altre considerazioni, consulta. Avvia modelli per il tuo ambiente Elastic Beanstalk

      Se sceglierai di abilitare le richieste di istanze Spot, verranno abilitate le seguenti opzioni:

      • Strategia di allocazione spot: determina il metodo utilizzato per gestire e fornire le istanze Spot nell'ambiente in uso, in base alla capacità disponibile, al prezzo e alla selezione dei tipi di istanze. Scegli tra Capacità ottimizzata (impostazione predefinita), Ottimizzazione della capacità di prezzo, Capacità ottimizzata con priorità o Prezzo più basso. Per una descrizione di ogni strategia di allocazione e ulteriori informazioni, vedere. Strategia di allocazione delle istanze Spot

      • Prezzo spot massimo: per consigli sulle opzioni di prezzo massimo per le istanze Spot, consulta la cronologia dei prezzi delle istanze Spot nella Amazon EC2 User Guide.

      • On demand di base: il numero minimo di istanze on demand di cui il gruppo Auto Scaling effettua il provisioning prima di considerare le istanze Spot durante il dimensionamento dell'ambiente.

      • On demand sopra la base: la percentuale di istanze on demand come parte della capacità aggiuntiva di cui il gruppo Auto Scaling effettua il provisioning oltre alle istanze on demand di base.

        Nota

        Le opzioni On-Demand base (On demand di base) e On-Demand above base (On demand sopra la base) sono correlate alle opzioni di istanze Min e Max elencate in precedenza. Per ulteriori informazioni su queste opzioni ed esempi, consulta Supporto di istanze Spot per il tuo ambiente Elastic Beanstalk.

      • Ribilanciamento della capacità: questa opzione è rilevante solo quando nel gruppo Auto Scaling è presente almeno un'istanza Spot. Quando questa funzionalità è abilitata, tenta EC2 automaticamente di sostituire le istanze Spot nel gruppo Auto Scaling prima che vengano interrotte, riducendo al minimo le interruzioni delle istanze Spot nelle applicazioni. Per ulteriori informazioni, consulta Capacity Rebalancing nella Amazon Auto EC2 Scaling User Guide

    • Architettura: l'architettura del processore per le tue istanze. EC2 L'architettura del processore determina i tipi di EC2 istanza che saranno disponibili nel campo successivo.

    • Tipi di istanze: i tipi di EC2 istanze Amazon avviate per eseguire l'applicazione. Per informazioni dettagliate, consultare Tipi di istanza.

    • ID AMI: l'immagine della macchina utilizzata da Elastic Beanstalk per EC2 avviare le istanze Amazon nel tuo ambiente. Per informazioni dettagliate, consultare ID AMI.

    • Availability Zones (Zone di disponibilità): scegli il numero di zone di disponibilità in cui distribuire le istanze dell'ambiente. Per impostazione predefinita, il gruppo Auto Scaling avvia le istanze in modo uniforme in tutte le zone utilizzabili. Per concentrare le tue istanze in un numero minore di zone, scegli il numero di zone da utilizzare. Per gli ambienti di produzione, utilizza almeno due zone per essere sicuro che la tua applicazione sia disponibile in caso una zona di disponibilità fosse inutilizzabile.

    • Placement (Posizionamento) (opzionale): scegli le zone di disponibilità da utilizzare. Utilizza questa impostazione se le istanze devono connettersi a risorse in determinate zone o se hai acquistato le istanze riservate, che sono specifiche per zona. Se avvii l'ambiente in un VPC personalizzato, non è possibile configurare questa opzione. In un VPC personalizzato, scegli le zone di disponibilità per le sottoreti che assegni al tuo ambiente.

    • Scaling cooldown (Raffreddamento del dimensionamento): tempo di attesa espresso in secondi per avviare o terminare le istanze dopo il dimensionamento, prima di continuare a valutare i trigger. Per ulteriori informazioni, consulta l'articolo relativo ai periodi di attesa del dimensionamento.

  6. Per salvare le modifiche scegli Apply (Applica) nella parte inferiore della pagina.

Configurazione utilizzando le opzioni dello spazio dei nomi

In Elastic Beanstalk sono disponibili opzioni di configurazione delle impostazioni di Auto Scaling in due spazi dei nomi: aws:autoscaling:asg e aws:ec2:instances.

Spazio dei nomi aws:autoscaling:asg

Lo spazio dei nomi aws:autoscaling:asg fornisce opzioni per la scalabilità complessiva e la disponibilità.

Nell'esempio di file di configurazione riportato di seguito viene configurato il gruppo Auto Scaling in modo da utilizzare da due a quattro istanze, zone di disponibilità specifiche e un periodo di attesa di 12 minuti (720 secondi). Consente il ribilanciamento della capacità per le istanze Spot. Questa EnableCapacityRebalancing opzione ha effetto solo se EnableSpot è impostata su true nello spazio dei aws:ec2:instancesnomi, come mostrato nell'esempio del file di configurazione che segue questa.

option_settings: aws:autoscaling:asg: Availability Zones: Any Cooldown: '720' Custom Availability Zones: 'us-west-2a,us-west-2b' MaxSize: '4' MinSize: '2' EnableCapacityRebalancing: true

Spazio dei nomi aws:ec2:instances

Nota

Quando aggiorni la configurazione dell'ambiente e rimuovi uno o più tipi di istanze dall'InstanceTypesopzione, Elastic Beanstalk interrompe tutte le istanze Amazon in esecuzione su EC2 uno qualsiasi dei tipi di istanza rimossi. Il gruppo Auto Scaling dell'ambiente avvia quindi nuove istanze, se necessario per completare la capacità desiderata, utilizzando i tipi di istanza specificati correnti.

Lo spazio dei nomi aws:ec2:instances offre opzioni relative alle istanze dell'ambiente, inclusa la gestione dell'istanza Spot. Integra aws:autoscaling:launchconfiguration e aws:autoscaling:asg.

L'esempio di file di configurazione seguente configura il gruppo Auto Scaling per abilitare le richieste di istanze Spot per l'ambiente. Designa tre possibili tipi di istanze che possono essere utilizzati. Allmeno un'istanza on demand viene utilizzata per la capacità di base, mentre un 33% sostenuto delle istanze on demand viene utilizzato per tutte le capacità aggiuntive.

La configurazione imposta la strategia di allocazione spot su. capacity-optimized-prioritized Questa particolare strategia di allocazione dà la priorità agli avvii delle istanze dal pool in base all'ordine dei tipi di istanze specificati nell'opzione. InstanceTypes Se non SpotAllocationStrategy è specificato, il valore predefinito è. capacity-optimized

option_settings: aws:ec2:instances: EnableSpot: true InstanceTypes: 't2.micro,t3.micro,t3.small' SpotAllocationStrategy: capacity-optimized-prioritized SpotFleetOnDemandBase: '1' SpotFleetOnDemandAboveBasePercentage: '33'

Per scegliere i tipi di istanze Spot, utilizza Spot Instance Advisor.

Importante

L'impostazione dell'EnableSpotopzione può far sì che Elastic Beanstalk crei un ambiente con un modello di avvio o aggiorni un ambiente esistente dalle configurazioni di avvio ai modelli di avvio. A tale scopo sono necessarie le autorizzazioni necessarie per gestire i modelli di lancio. Queste autorizzazioni sono incluse nella nostra politica gestita. Se utilizzi politiche personalizzate anziché le nostre politiche gestite, la creazione o gli aggiornamenti dell'ambiente potrebbero non riuscire quando abiliti le istanze Spot per il tuo ambiente. Per ulteriori informazioni e altre considerazioni, consulta. Avvia modelli per il tuo ambiente Elastic Beanstalk

Configurazione mediante AWS CLI

Questa sezione fornisce esempi di come utilizzare il comando AWS CLI create-environment per configurare l'ambiente con le opzioni Auto Scaling e Capacity descritte in queste sezioni. Noterai che le impostazioni dello spazio dei nomi per aws:autoscaling:asge aws:ec2:instances, come descritto nella precedente sezione sulle opzioni di configurazione dello spazio dei nomi, sono configurate anche con questo esempio.

L'interfaccia a riga di AWS comando fornisce comandi per creare e configurare ambienti Elastic Beanstalk. Con l'--option-settingsopzione, puoi passare le opzioni dello spazio dei nomi supportate da Elastic Beanstalk. Ciò significa che le opzioni di configurazione dello spazio dei nomi descritte in precedenza possono essere passate ai AWS CLI comandi applicabili per configurare l'ambiente Elastic Beanstalk.

Nota

Puoi anche utilizzare il comando update-environment con --option-settings per aggiungere o aggiornare le opzioni dello spazio dei nomi. Se devi rimuovere qualsiasi opzione del namespace dal tuo ambiente, usa il comando with. update-environment --options-to-remove

L'esempio seguente crea un nuovo ambiente. Fate riferimento all'argomento precedente opzioni di configurazione dello spazio dei nomi per ulteriori informazioni sulle opzioni che vengono passate.

La prima opzione elencata, IamInstanceProfile nel aws:autoscaling:launchconfiguration namespace, è il profilo dell'istanza Elastic Beanstalk. È necessario quando si crea un nuovo ambiente.

Esempio — ambiente di creazione con opzioni Auto Scaling (opzioni dello spazio dei nomi in linea)
aws elasticbeanstalk create-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2023 v4.3.0 running Python 3.12" \ --option-settings \ Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role Namespace=aws:autoscaling:asg,OptionName=Availability Zones,Value=Any \ Namespace=aws:autoscaling:asg,OptionName=Cooldown,Value=720 \ Namespace=aws:autoscaling:asg,OptionName=Custom Availability Zones,Value=us-west-2a,us-west-2b \ Namespace=aws:autoscaling:asg,OptionName=MaxSize,Value=4 \ Namespace=aws:autoscaling:asg,OptionName=MinSize,Value=2 \ Namespace=aws:autoscaling:asg,OptionName=EnableCapacityRebalancing,Value=true \ Namespace=aws:ec2:instances,OptionName=EnableSpot,Value=true \ Namespace=aws:ec2:instances,OptionName=InstanceTypes,Value=t2.micro,t3.micro,t3.small \ Namespace=aws:ec2:instances,OptionName=SpotAllocationStrategy,Value=capacity-optimized-prioritized \ Namespace=aws:ec2:instances,OptionName=SpotFleetOnDemandBase,Value=1 \ Namespace=aws:ec2:instances,OptionName=SpotFleetOnDemandAboveBasePercentage,Value=33

Importante

L'impostazione dell'EnableSpotopzione può far sì che Elastic Beanstalk crei un ambiente con un modello di avvio o aggiorni un ambiente esistente dalle configurazioni di avvio ai modelli di avvio. A tale scopo sono necessarie le autorizzazioni necessarie per gestire i modelli di lancio. Queste autorizzazioni sono incluse nella nostra politica gestita. Se utilizzi politiche personalizzate anziché le nostre politiche gestite, la creazione o gli aggiornamenti dell'ambiente potrebbero non riuscire quando abiliti le istanze Spot per il tuo ambiente. Per ulteriori informazioni e altre considerazioni, consulta. Avvia modelli per il tuo ambiente Elastic Beanstalk

In alternativa, utilizza un file options.json per specificare le opzioni dello spazio dei nomi invece di includerle in riga.

Esempio —create-environment con opzioni Auto Scaling (opzioni dello spazio dei nomi nel file) options.json
aws elasticbeanstalk create-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2023 v4.3.0 running Python 3.12" --option-settings file://options.json
### example options.json ### [ { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "IamInstanceProfile", "Value": "aws-elasticbeanstalk-ec2-role" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "Availability Zones", "Value": "Any" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "Cooldown", "Value": "720" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "Custom Availability Zones", "Value": "us-west-2a,us-west-2b" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "MaxSize", "Value": "4" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "MinSize", "Value": "2" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "EnableCapacityRebalancing", "Value": "true" }, { "Namespace": "aws:ec2:instances", "OptionName": "EnableSpot", "Value": "true" }, { "Namespace": "aws:ec2:instances", "OptionName": "InstanceTypes", "Value": "t2.micro,t3.micro,t3.small" }, { "Namespace": "aws:ec2:instances", "OptionName": "SpotAllocationStrategy", "Value": "capacity-optimized-prioritized" }, { "Namespace": "aws:ec2:instances", "OptionName": "SpotFleetOnDemandBase", "Value": "1" }, { "Namespace": "aws:ec2:instances", "OptionName": "SpotFleetOnDemandAboveBasePercentage", "Value": "33" } ]

Configurazione tramite l'EB CLI

Quando si crea un ambiente utilizzando il comando eb create, è possibile specificare alcune opzioni relative al gruppo Auto Scaling dell'ambiente. Queste sono alcune delle opzioni que consentono di controllare la capacità dell'ambiente.

--single

Crea l'ambiente con un' EC2 istanza Amazon e nessun sistema di bilanciamento del carico. Se non utilizzi questa opzione, un load balancer viene aggiunto all'ambiente che è stato creato.

--enable-spot

Abilita le richieste di istanze Spot per l'ambiente in uso.

Importante

L'impostazione dell'enable-spotopzione può far sì che Elastic Beanstalk crei un ambiente con un modello di avvio o aggiorni un ambiente esistente dalle configurazioni di avvio ai modelli di avvio. A tale scopo sono necessarie le autorizzazioni necessarie per gestire i modelli di lancio. Queste autorizzazioni sono incluse nella nostra politica gestita. Se utilizzi politiche personalizzate anziché le nostre politiche gestite, la creazione o gli aggiornamenti dell'ambiente potrebbero non riuscire quando abiliti le istanze Spot per il tuo ambiente. Per ulteriori informazioni e altre considerazioni, consulta. Avvia modelli per il tuo ambiente Elastic Beanstalk

Le seguenti opzioni per il comando eb create può essere usato solo con --enable-spot.

--instance-types

Elenca i tipi di EC2 istanze Amazon che desideri utilizzare nel tuo ambiente.

--spot-max-price

Il prezzo massimo orario per unità che si è disposti a pagare per un'istanza Spot in dollari americani. Per consigli sulle opzioni di prezzo massimo per le istanze Spot, consulta la cronologia dei prezzi delle istanze Spot nella Amazon EC2 User Guide.

--on-demand-base-capacity

Il numero minimo di istanze on demand di cui il gruppo Auto Scaling effettua il provisioning prima di considerare le istanze Spot durante la scalabilità dell'ambiente.

--on-demand-above-base-capacity

La percentuale di istanze on demand come parte della capacità aggiuntiva che il gruppo Auto Scaling fornisce in aggiunta al numero di istanze specificato dall'opzione --on-demand-base-capacity.

L'esempio seguente crea un ambiente e configura il gruppo Auto Scaling per abilitare le richieste dell'istanza Spot per il nuovo ambiente, con tre possibili tipi di istanza da utilizzare. Per questo esempio, esistono tre possibili tipi di istanza.

$ eb create --enable-spot --instance-types "t2.micro,t3.micro,t3.small"
Importante

Esiste un'altra opzione con nome simile che si chiama --instance-type (senza "s") che la CLI EB riconosce solo durante l'elaborazione delle istanze on demand. Non utilizzare --instance-type (senza "s") con l'opzione --enable-spot. Se lo fai, la CLI EB lo ignora. Invece, utilizza --instance-types (con "s") con l'opzione --enable-spot.