Vantaggi dell'Auto Scaling per l'architettura delle applicazioni - 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à.

Vantaggi dell'Auto Scaling per l'architettura delle applicazioni

L'aggiunta di Amazon EC2 Auto Scaling all'architettura dell'applicazione è un modo per massimizzare i vantaggi del cloud. AWS Quando usi Amazon EC2 Auto Scaling, le tue applicazioni ottengono i seguenti vantaggi:

  • Maggiore tolleranza ai guasti. Amazon EC2 Auto Scaling è in grado di rilevare quando un'istanza non è integra, terminarla e avviare un'istanza per sostituirla. Puoi anche configurare Amazon EC2 Auto Scaling per utilizzare più zone di disponibilità. Se una zona di disponibilità diventa non disponibile, Amazon EC2 Auto Scaling può avviare istanze in un'altra per compensare.

  • Maggiore disponibilità. Amazon EC2 Auto Scaling aiuta a garantire che la tua applicazione abbia sempre la giusta capacità per gestire l'attuale domanda di traffico.

  • Migliore gestione dei costi. Amazon EC2 Auto Scaling può aumentare e diminuire dinamicamente la capacità in base alle esigenze. Poiché paghi per le EC2 istanze che usi, risparmi denaro avviando le istanze quando sono necessarie e chiudendole quando non lo sono.

Esempio: copertura delle necessità variabili

Per dimostrare alcuni dei vantaggi di Amazon EC2 Auto Scaling, prendi in considerazione un'applicazione Web di base in esecuzione su. AWS Questa applicazione consente ai dipendenti di cercare sale conferenze da utilizzare per le riunioni. All'inizio e alla fine della settimana, l'utilizzo di questa applicazione è minimo. Nei giorni centrali della settimana più dipendenti programmano riunioni, perciò la richiesta relativa all'applicazione aumenta in modo significativo.

Il grafico seguente mostra la quantità di capacità dell'applicazione che viene utilizzata durante una settimana.

Un esempio di richiesta di capacità di un'applicazione.

Tradizionalmente, sono disponibili due modi per pianificare le modifiche della capacità. Il primo è la possibilità di aggiungere un numero sufficiente di server, in modo che l'applicazione disponga sempre di capacità sufficiente per soddisfare le richieste. Lo svantaggio di questa opzione, tuttavia, è che ci sono giorni in cui l'applicazione non ha bisogno di molta capacità. La capacità aggiuntiva resta inutilizzata e, in pratica, aumenta il costo del mantenimento dell'applicazione in esecuzione.

Un esempio che illustra come l'acquisto di maggiore capacità rispetto a quella necessaria può essere inefficiente in termini di costi.

La seconda opzione consiste nel disporre di capacità sufficiente per gestire la richiesta media dell'applicazione. Questa opzione è meno costosa, in quanto non è necessario acquistare apparecchiature da utilizzare solo occasionalmente. Tuttavia, si rischia di creare un'esperienza cliente insoddisfacente, quando la richiesta dell'applicazione supera la relativa capacità.

Un esempio che mostra come l'acquisto di minore capacità rispetto a quella necessaria possa causare un'esperienza cliente insoddisfacente.

Aggiungendo Amazon EC2 Auto Scaling a questa applicazione, hai a disposizione una terza opzione. Puoi aggiungere nuove istanze per l'applicazione solo quando necessario e terminarle quando non sono più necessarie. Poiché Amazon EC2 Auto Scaling utilizza EC2 le istanze, devi pagare solo per le istanze che usi, quando le usi. In questo modo avrai un'architettura economicamente vantaggiosa che offre la migliore esperienza cliente riducendo al minimo i costi.

Un esempio che mostra come Amazon EC2 Auto Scaling può regolare la capacità in base alle esigenze.

Esempio: architettura per applicazioni Web

In uno scenario comune di applicazioni Web è possibile eseguire più copie della tua app contemporaneamente, per coprire il volume del traffico dei clienti. Queste copie multiple dell'applicazione sono ospitate su EC2 istanze identiche (server cloud), ognuna delle quali gestisce le richieste dei clienti.

Amazon EC2 Auto Scaling gestisce l'avvio e la chiusura di queste EC2 istanze per tuo conto. Definisci una serie di criteri (come un CloudWatch allarme Amazon) che determinano quando il gruppo Auto Scaling avvia o termina le istanze. EC2 L'aggiunta di gruppi Auto Scaling all'architettura di rete aiuta ad aumentare la disponibilità e la tolleranza ai guasti della tua applicazione.

Un'architettura di base a tre livelli con un gruppo con scalabilità automatica.

Puoi creare tutti i gruppi Auto Scaling di cui hai bisogno. Ad esempio, puoi creare un gruppo con scalabilità automatica per ogni livello.

Per distribuire il traffico tra le istanze nei gruppi con scalabilità automatica, puoi introdurre un load balancer all'interno dell'architettura. Per ulteriori informazioni, consulta Sistema di bilanciamento del carico elastico.

Esempio: distribuzione di istanze tra le zone di disponibilità

Le zone di disponibilità sono posizioni isolate all'interno di una determinata Regione AWS. Ogni regione ha più zone di disponibilità progettate per fornire un'elevata disponibilità per la regione. Le zone di disponibilità sono indipendenti e pertanto quando si progetta l'applicazione per l'uso di più zone se ne aumenta la disponibilità. Per ulteriori informazioni, consulta Resilienza in Amazon EC2 Auto Scaling.

Una zona di disponibilità è identificata dal Regione AWS codice seguito da una lettera identificativa (ad esempio,). us-east-1a Se si creano le sottoreti VPC and anziché utilizzare quella predefinitaVPC, è possibile definire una o più sottoreti in ciascuna zona di disponibilità. Ogni sottorete deve risiedere totalmente all'interno di una zona di disponibilità e non può estendersi in altre zone. Per ulteriori informazioni, consulta How Amazon VPC works nella Amazon VPC User Guide.

Quando si crea un gruppo Auto Scaling, è necessario scegliere le sottoreti VPC e in cui distribuire il gruppo Auto Scaling. Amazon EC2 Auto Scaling crea le tue istanze nelle sottoreti scelte. Ogni istanza è quindi associata a una zona di disponibilità specifica scelta da Amazon EC2 Auto Scaling. All'avvio delle istanze, Amazon EC2 Auto Scaling cerca di distribuirle uniformemente tra le zone per garantire disponibilità e affidabilità elevate.

L'immagine seguente mostra una panoramica dell'architettura a più livelli implementata in tre zone di disponibilità.

Un tipico gruppo con scalabilità automatica distribuito su due zone di disponibilità.

Distribuzione delle istanze

Amazon EC2 Auto Scaling tenta automaticamente di mantenere un numero equivalente di istanze in ogni zona di disponibilità abilitata. Amazon EC2 Auto Scaling esegue questa operazione tentando di avviare nuove istanze nella zona di disponibilità con il minor numero di istanze. Se sono state scelte più sottoreti per la zona di disponibilità, Amazon Auto EC2 Scaling seleziona casualmente una sottorete dalla zona di disponibilità. Se il tentativo fallisce, tuttavia, Amazon EC2 Auto Scaling tenta di avviare le istanze in un'altra zona di disponibilità finché non riesce.

In circostanze in cui una zona di disponibilità diventa non integra o non disponibile, la distribuzione delle istanze potrebbe essere non uniforme tra le zone di disponibilità. Quando la zona di disponibilità viene ripristinata, Amazon EC2 Auto Scaling ribilancia automaticamente il gruppo Auto Scaling. Ciò avviene avviando le istanze nelle zone di disponibilità abilitate con il minor numero di istanze e terminandole in un'altra posizione.

Attività di ribilanciamento

Le attività di ribilanciamento rientrano in due categorie: ribilanciamento della zona di disponibilità e ribilanciamento della capacità.

Ribilanciamento della zona di disponibilità

Dopo determinate operazioni, il gruppo con scalabilità automatica può diventare non bilanciato tra le zone di disponibilità. Amazon EC2 Auto Scaling compensa ribilanciando le zone di disponibilità. Le seguenti operazioni possono portare alla necessità di attività di ribilanciamento:

  • Puoi modificare le zone di disponibilità associate al gruppo con scalabilità automatica.

  • Hai terminato o distaccato esplicitamente le istanze o hai messo le istanze in standby e il gruppo è diventato sbilanciato.

  • Una zona di disponibilità che aveva in precedenza capacità insufficiente viene ripristinata e dispone quindi di capacità aggiuntiva.

  • Una zona di disponibilità il cui precedente prezzo istanza Spot era superiore al tuo prezzo massimo ora ha un prezzo istanza Spot inferiore al tuo prezzo massimo.

Durante il ribilanciamento, Amazon Auto EC2 Scaling lancia nuove istanze prima di terminare quelle precedenti. In questo modo, il ribilanciamento non compromette le prestazioni o la disponibilità delle applicazioni.

Poiché Amazon EC2 Auto Scaling tenta di avviare nuove istanze prima di terminare quelle precedenti, raggiungere o avvicinarsi alla capacità massima specificata potrebbe impedire o interrompere completamente le attività di ribilanciamento.

Per evitare questo problema, il sistema può temporaneamente superare la capacità massima specificata di un gruppo durante un'attività di ribilanciamento. Per impostazione predefinita, ciò è possibile con un margine del 10% o un'istanza, a seconda di quale sia maggiore. Il margine viene esteso solo se il gruppo ha raggiunto o è vicino alla capacità massima e deve essere ribilanciato. L'estensione dura solo il tempo necessario per ribilanciare il gruppo, in genere pochi minuti.

In alternativa, puoi stabilire soglie per un gruppo con dimensionamento automatico utilizzando una policy di manutenzione dell'istanza e il gruppo può solo aumentare o diminuire la capacità entro tale intervallo di soglia. In questo modo, puoi controllare la velocità alla quale il gruppo si riequilibra. Per ulteriori informazioni, consulta Policy di manutenzione delle istanze.

Ribilanciamento della capacità

Quando utilizzi le istanze spot, puoi abilitare il ribilanciamento della capacità nei gruppi con scalabilità automatica. Ciò consente ad Amazon EC2 Auto Scaling di tentare di avviare un'istanza Spot ogni volta che Amazon EC2 segnala che un'istanza Spot presenta un rischio elevato di interruzione. Dopo aver avviato una nuova istanza, ne termina quindi una vecchia. Per ulteriori informazioni, consulta Utilizza il ribilanciamento della capacità per gestire le interruzioni spot di Amazon EC2.