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 applicazioni usufruiscono dei seguenti vantaggi:
-
Maggiore tolleranza ai guasti. Amazon EC2 Auto Scaling può rilevare quando un'istanza non è integra, terminarla e avviarne una nuova in sostituzione. Puoi anche configurare Amazon EC2 Auto Scaling per l'utilizzo di più zone di disponibilità. Se una zona di disponibilità non è più accessibile, Amazon EC2 Auto Scaling può avviare le istanze in un'altra zona per compensare.
-
Maggiore disponibilità. Amazon EC2 Auto Scaling può aiutarti a garantire che l'applicazione disponga sempre della giusta quantità di capacità per gestire le necessità di traffico correnti.
-
Migliore gestione dei costi. Amazon EC2 Auto Scaling è in grado di aumentare e diminuire dinamicamente la capacità in base alle esigenze. Poiché le istanze EC2 utilizzate sono a pagamento, è possibile risparmiare denaro avviando le istanze quando sono necessarie e terminandole quando non lo sono.
Indice
Esempio: copertura delle necessità variabili
Per dimostrare alcuni dei vantaggi di Amazon EC2 Auto Scaling, considera 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.
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.
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à.
Aggiungendo Amazon EC2 Auto Scaling a questa applicazione, disponi di 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 usa le istanze EC2, dovrai pagare solo per le istanze utilizzate e quando le utilizzi. In questo modo avrai un'architettura economicamente vantaggiosa che offre la migliore esperienza cliente riducendo al minimo i costi.
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 in istanze EC2 identiche (server cloud), ciascuna delle quali gestisce le richieste dei clienti.
Amazon EC2 Auto Scaling gestisce l'avvio e la terminazione di queste istanze EC2 per tuo conto. Definisci una serie di criteri (come un CloudWatch allarme Amazon) che determinano quando il gruppo Auto Scaling avvia o chiude 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.
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 crei il tuo VPC e le sottoreti anziché utilizzare il VPC di default, puoi 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 Come funziona Amazon VPC nella Guida per l'utente di Amazon VPC.
Quando crei un gruppo con scalabilità automatica, è necessario scegliere il VPC e le sottoreti in cui distribuire il gruppo. Dimensionamento automatico Amazon EC2 crea le istanze nelle sottoreti scelte. Ogni istanza è quindi associata a una zona di disponibilità specifica scelta da Dimensionamento automatico Amazon EC2. All'avvio delle istanze, Dimensionamento automatico Amazon EC2 prova a distribuirle uniformemente tra le zone per un'elevata disponibilità e affidabilità.
L'immagine seguente mostra una panoramica dell'architettura a più livelli implementata in tre zone di disponibilità.
Distribuzione delle istanze
Dimensionamento automatico Amazon EC2 prova automaticamente a mantenere un numero equivalente di istanze in ogni zona di disponibilità abilitata. Dimensionamento automatico Amazon EC2 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 EC2 Auto Scaling tenta di avviare istanze nella sottorete con il maggior numero di indirizzi IP disponibili nella zona di disponibilità. Se il tentativo non riesce, Amazon EC2 Auto Scaling tenta di avviare le istanze in un'altra zona di disponibilità finché l'operazione non va a buon fine.
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, Dimensionamento automatico Amazon EC2 ribilancia automaticamente il gruppo con scalabilità automatica. 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, Dimensionamento automatico Amazon EC2 lancia nuove istanze prima di terminare quelle precedenti. In questo modo, il ribilanciamento non compromette le prestazioni o la disponibilità delle applicazioni.
Poiché Dimensionamento automatico Amazon EC2 prova ad avviare nuove istanze prima di terminare quelle vecchie, se si è raggiunta o si sta per raggiungere la capacità massima specificata le attività di ribilanciamento potrebbero essere ostacolate o bloccate completamente.
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 a Dimensionamento automatico Amazon EC2 di avviare un'istanza spot ogni volta che Amazon EC2 riporta che un'istanza spot è a rischio elevato di interruzione. Dopo aver avviato una nuova istanza, ne termina quindi una vecchia. Per ulteriori informazioni, consulta Ribilanciamento della capacità in Auto Scaling per sostituire le istanze Spot a rischio.