Avvia le istanze in modo sincrono - 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à.

Avvia le istanze in modo sincrono

Amazon EC2 Auto Scaling offre due metodi per avviare istanze nel gruppo Auto Scaling: comportamento di scalabilità asincrono e provisioning sincrono tramite l'API. LaunchInstances

Con il provisioning sincrono, utilizzi l' LaunchInstances API per richiedere un numero specifico di istanze in una particolare zona di disponibilità. Il provisioning sincrono offre i seguenti vantaggi:

  • Feedback immediato sulla disponibilità della capacità in zone di disponibilità specifiche

  • Controllo preciso su quali istanze di Availability Zone vengono avviate

  • Istanza deterministica IDs per l'uso immediato nei sistemi di orchestrazione

  • Decisioni di scalabilità in tempo reale basate su vincoli di capacità effettivi

  • Scalabilità più rapida grazie all'eliminazione dei tempi di attesa per i lanci asincroni di Auto Scaling

Con l'Auto Scaling asincrono, quando si modifica la capacità desiderata o quando si attiva una politica di scalabilità, Amazon EC2 Auto Scaling elabora la richiesta di scalabilità e avvia le istanze in background. È necessario monitorare le attività di scaling o descrivere il gruppo Auto Scaling per determinare quando le istanze vengono avviate correttamente.

Nota
  • L' LaunchInstances API funziona solo con i gruppi di Auto Scaling che utilizzano modelli di avvio. I gruppi di Auto Scaling che utilizzano configurazioni di avvio non sono supportati. Se il gruppo Auto Scaling utilizza una configurazione di avvio, è necessario migrare a un modello di avvio prima di utilizzare il provisioning sincrono.

  • L' LaunchInstances API supporta politiche a istanze miste con opzioni di acquisto completamente On-Demand o completamente Spot. Le politiche miste che combinano istanze On-Demand e Spot non sono supportate.

  • Per i gruppi di Auto Scaling che coprono più zone di disponibilità, è necessario specificare la zona di disponibilità o la sottorete di destinazione. Per i gruppi Single-AZ, questo parametro è facoltativo.

Provisioning sincrono e scalabilità asincrona

Provisioning sincrono

Quando usi l' LaunchInstances API, Amazon EC2 Auto Scaling:

  • Tenta immediatamente di avviare le istanze richieste utilizzando CreateFleet

  • Attende la restituzione dell' CreateFleet istanza IDs prima di rispondere

  • Restituisce le informazioni sull'istanza IDs, sui tipi di istanza e sulla zona di disponibilità in caso di successo

  • Restituisce codici di errore specifici e dettagli sull'errore

  • Fornisce un feedback immediato, consentendo decisioni di scalabilità in tempo reale

Scalabilità asincrona

Quando utilizzi metodi di Auto Scaling asincroni come la modifica della capacità desiderata o l'utilizzo di politiche di scalabilità, Amazon Auto Scaling: EC2

  • Aggiorna la capacità desiderata nell'API ma non restituisce immediatamente le istanze

  • L'istanza Plans viene avviata automaticamente nelle zone di disponibilità

  • Avvia le istanze tramite flussi di lavoro in background

  • Distribuisce automaticamente la capacità tra più zone di disponibilità per garantire l'equilibrio

  • Gestisce gli errori di avvio con la logica di ripetizione dei tentativi integrata

È necessario interrogare le attività di scaling o descrivere il gruppo Auto Scaling per verificare lo stato delle operazioni di avvio.

Considerazioni e limitazioni

Quando lavorate con il provisioning sincrono, tenete presente le seguenti note e limitazioni:

  • Stato dell'istanza dopo l'avvio: le istanze restituite dall'API sono in sospeso. Potrebbero comunque fallire durante i successivi processi di flusso di lavoro o durante i passaggi del ciclo di vita. Una risposta API riuscita significa che l'utente EC2 ha accettato la richiesta di avvio e restituito l'istanza. IDs Le istanze non vengono automaticamente considerate completamente pronte per i carichi di lavoro e devono completare i processi del ciclo di vita standard EC2 e di Auto Scaling.

  • Limitazione della piscina calda: i gruppi di Auto Scaling con piscine calde non sono attualmente supportati. Se tenti di chiamare l' LaunchInstances API su un gruppo di Auto Scaling con un pool caldo configurato, l'API esegue un avvio a freddo invece di utilizzare istanze di pool calde e restituisce un errore. UnsupportedOperation Per ulteriori informazioni sugli avviamenti a freddo, consulta Limitazioni delle piscine calde.

  • Timeout e nuovi tentativi dell'API: se l' CreateFleet operazione sottostante richiede più tempo del previsto, l'API potrebbe scadere e restituire un token di idempotenza. Puoi riprovare a utilizzare lo stesso ClientToken per tenere traccia dell'operazione di avvio originale o utilizzare describe-instances con il token client per controllare le istanze avviate.

  • Vincoli della zona di disponibilità: se il gruppo Auto Scaling si estende su più zone di disponibilità e ha abilitato il ribilanciamento delle zone di disponibilità, l'avvio sincrono delle istanze può causare conflitti operativi:

    • Limitazione AZ singola per chiamata: ogni chiamata LaunchInstances API può essere indirizzata a una sola zona di disponibilità, anche se il gruppo Auto Scaling si estende su più zone.

    • Conflitti di ribilanciamento AZ: se il gruppo Auto Scaling ha abilitato il ribilanciamento AZ, le chiamate sequenziali tra AZs diversi gruppi possono attivare lanci asincroni aggiuntivi, con conseguente maggior numero di istanze del previsto. Prendi in considerazione la possibilità di sospendere il ribilanciamento AZ per un controllo preciso della capacità. Per ulteriori informazioni, consulta Sospendi e riprendi i processi di Amazon Auto EC2 Scaling.

  • Scenari di successo parziale: l'LaunchInstancesAPI può restituire un successo parziale se è disponibile solo una parte della capacità richiesta, il che è un comportamento normale. EC2 L'API restituisce le istanze avviate correttamente insieme ai dettagli degli errori relativi agli avvii non riusciti. Per i casi d'uso che richiedono l'avvio congiunto di tutte le istanze (ad esempio le applicazioni che richiedono tutte le istanze nella stessa AZ per una bassa latenza), dovrai terminare le istanze avviate parzialmente e riprovare in una AZ diversa. Considerate questo comportamento quando progettate una logica di ripetizione per carichi di lavoro sensibili alla capacità.

  • Pesi delle istanze: se il gruppo Auto Scaling utilizza i pesi delle istanze, RequestedCapacity il parametro rappresenta le unità di capacità ponderata, non il numero di istanze. Il numero effettivo di istanze avviate dipende dai tipi di istanza selezionati e dai relativi pesi configurati. EC2 Auto Scaling limita i lanci a 100 istanze per chiamata API, indipendentemente dalla capacità ponderata richiesta.

  • Tipi di istanze miste: l' LaunchInstances API utilizza la politica delle istanze miste esistente del gruppo Auto Scaling per determinare quali tipi di istanze avviare. L'API avvia le istanze in base alla strategia di allocazione del gruppo e alle priorità del tipo di istanza.