Tutorial: Configurazione di un'applicazione con dimensionamento e bilanciamento del carico - 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à.

Tutorial: Configurazione di un'applicazione con dimensionamento e bilanciamento del carico

Importante

Prima di esplorare questo tutorial, ti consigliamo di leggere prima il seguente tutorial introduttivo: Crea il tuo primo gruppo di Auto Scaling.

La registrazione del gruppo Auto Scaling con un load balancer Elastic Load Balancer ti consente di configurare un'applicazione con bilanciamento del carico. Elastic Load Balancing funziona con Amazon EC2 Auto Scaling per distribuire il traffico in entrata tra le istanze Amazon EC2 integre. Ciò aumenta la scalabilità e la disponibilità dell'applicazione. È possibile abilitare Elastic Load Balancing all'interno di più zone di disponibilità per aumentare la tolleranza ai guasti delle applicazioni.

In questo tutorial vengono illustrate le fasi di base per l'impostazione di un'applicazione con bilanciamento del carico quando viene creato il gruppo Auto Scaling. Una volta terminato, l'architettura dovrebbe apparire simile al diagramma riportato di seguito:

Un gruppo Auto Scaling con un Application Load Balancer.

Elastic Load Balancing supporta diversi tipi di bilanciamento del carico. Per questo tutorial, è consigliabile utilizzare un Application Load Balancer.

Per ulteriori informazioni sull'introduzione di un load balancer nell'architettura, vedi Utilizzare sistema di bilanciamento del carico elastico per distribuire il traffico tra le istanze nel gruppo con dimensionamento automatico..

Prerequisiti

  • Un load balancer e un gruppo di destinazione. Assicurati di scegliere le stesse zone di disponibilità per il load balancer che intendi abilitare per il tuo gruppo Auto Scaling. Per ulteriori informazioni, consulta Nozioni di base dell'Elastic Load Balancing nella Guida per l'utente di 'Elastic Load Balancing.

  • Un gruppo di sicurezza per il modello di avvio o la configurazione di avvio. Il gruppo di sicurezza deve permettere l'accesso dal load balancer sulla porta del listener (in genere la porta 80 per il traffico HTTP) e sulla porta che desideri che il bilanciamento del carico Elastic Load Balancing utilizzi per i controlli di integrità. Per ulteriori informazioni, consulta la documentazione relativa:

    Se le istanze dispongono di indirizzi IP pubblici, puoi anche scegliere di permettere il traffico SSH, se è necessario che tu ti connetta alle istanze.

  • (Facoltativo) Un ruolo IAM che consente all'applicazione di accedere a. AWS

  • (Facoltativo) Un'Amazon Machine Image (AMI) come modello di origine per le tue istanze Amazon EC2. Per crearne una ora, avvia un'istanza. Specifica il ruolo IAM (se ne hai creato uno) ed eventuali script di configurazione di cui hai bisogno come dati utente. Connessione e personalizzazione dell'istanza. Ad esempio, puoi installare software e applicazioni, copiare i dati e allegare volumi EBS aggiuntivi. Testa l'applicazione sull'istanza per assicurarsi che quest'ultima sia configurata correttamente. Salva questa configurazione aggiornata come AMI personalizzata. Puoi terminare l'istanza, se in seguito non ne avrai bisogno. Le istanze avviate da questa nuova AMI personalizzata includono le personalizzazioni apportate durante la creazione dell'AMI stessa.

  • Un virtual private cloud (VPC). Questo tutorial fa riferimento al VPC di default, ma puoi anche utilizzare il tuo. In quest'ultimo caso, assicurati che il VPC abbia una sottorete mappata a ciascuna zona di disponibilità della Regione in cui stai lavorando. Per creare il load balancer, ti serviranno almeno due sottoreti pubbliche. Inoltre, dovrai avere a tua disposizione due sottoreti private o due sottoreti pubbliche per creare il gruppo Auto Scaling e registrarlo con il load balancer.

Fase 1: configurazione di un modello di avvio o una configurazione di avvio

Per questo tutorial, utilizza un modello di avvio o una configurazione di avvio.

Seleziona o crea un modello di lancio

Se disponi già di un modello di avvio che desideri utilizzare, selezionalo utilizzando la procedura seguente.

Come selezionare un modello di avvio esistente
  1. Apri la pagina Configurazioni di avvio della console Amazon EC2.

  2. Sulla barra di navigazione nella parte superiore dello schermo, scegli la Regione in cui è stato creato il load balancer.

  3. Seleziona un modello di avvio.

  4. Scegli Operazioni, Crea un gruppo con dimensionamento automatico.

In alternativa, per creare un nuovo modello di avvio, utilizza la procedura seguente.

Per creare un modello di avvio
  1. Apri la pagina Configurazioni di avvio della console Amazon EC2.

  2. Sulla barra di navigazione nella parte superiore dello schermo, scegli la Regione in cui è stato creato il load balancer.

  3. Scegli Crea modello di avvio.

  4. Immetti un nome e una descrizione per la versione iniziale del modello di avvio.

  5. Per Immagini di applicazioni e sistema operativo (Amazon Machine Image), scegliere l'ID dell'AMI per le istanze. Puoi cercare tra tutte le AMI disponibili o selezionarne una dall'elenco Recent (Recenti) o Quick Start (Avvio rapido). Se l'AMI desiderata non viene visualizzata, puoi scegliere Browse more AMIs (Sfoglia altre AMI) per sfogliare il catalogo completo di AMI.

  6. In Instance type (Tipo di istanza), seleziona una configurazione hardware per le istanze compatibile con l'AMI che hai specificato.

  7. (Facoltativo) In Key pair name (login) (Nome coppia di chiavi (Accesso) inserisci il nome della coppia di chiavi da utilizzare durante il collegamento alle istanze.

  8. Per Impostazioni di rete, amplia Configurazione avanzata di rete e esegui queste operazioni:

    1. Per configurare un'interfaccia di rete primaria, selezionare Aggiungi interfaccia di rete.

    2. Per l'assegnazione automatica dell'IP pubblico, specifica se le istanze ricevono indirizzi IPv4 pubblici. Per impostazione predefinita, Amazon EC2 assegna un indirizzo IPv4 pubblico se l'istanza EC2 viene avviata in una sottorete predefinita o se l'istanza viene avviata in una sottorete configurata per assegnare automaticamente un indirizzo IPv4 pubblico. Se non hai bisogno di connetterti alle tue istanze, puoi scegliere Disattiva per impedire alle istanze del tuo gruppo di ricevere traffico direttamente da Internet. In questo caso, le istanze riceveranno traffico solo dal load balancer.

    3. In Security group ID (ID gruppo di sicurezza), specifica un gruppo di sicurezza per le istanze dallo stesso VPC del load balancer.

    4. In Delete on termination (Elimina al termine), scegli Yes (Sì). Questo elimina l'interfaccia di rete quando il gruppo Auto Scaling si riduce e termina l'istanza a cui è allegata l'interfaccia di rete.

  9. (Facoltativo) Per distribuire in modo sicuro le credenziali alle istanze, in Advanced details (Dettagli avanzati), IAM instance profile (Profilo dell'istanza IAM), inserisci l'Amazon Resource Name (ARN) del ruolo IAM.

  10. (Facoltativo) Per specificare i dati utente o uno script di configurazione per le istanze, incollali in Advanced details (Dettagli avanzati), User data (Dati utente).

  11. Scegli Crea modello di avvio.

  12. Nella pagina di conferma, scegli Crea gruppo con dimensionamento automatico).

Creazione o selezione di una configurazione di avvio

Nota

Sconsigliamo vivamente di utilizzare le configurazioni di avvio in nuove applicazioni perché si tratta di una funzionalità legacy senza investimenti pianificati. Inoltre, i nuovi account creati a partire dal 1° giugno 2023 non avranno la possibilità di creare nuove configurazioni di lancio tramite la console. Per ulteriori informazioni, consulta Configurazioni di avvio.

Come selezionare una configurazione di avvio esistente
  1. Apri la pagina Launch configurations (Configurazioni di avvio) della console Amazon EC2.

  2. Sulla barra di navigazione nella parte superiore dello schermo, scegli la Regione in cui è stato creato il sistema di bilanciamento del carico.

  3. Seleziona una configurazione di avvio.

  4. Scegli Operazioni, Crea un gruppo con dimensionamento automatico.

In alternativa, per creare una nuova configurazione di avvio, utilizza la procedura seguente.

Per creare una configurazione di avvio
  1. Apri la pagina Launch configurations (Configurazioni di avvio) della console Amazon EC2. Quando viene richiesta la conferma, scegli Visualizza configurazioni di avvio per confermare che desideri visualizzare la pagina delle configurazioni di avvio.

  2. Sulla barra di navigazione nella parte superiore dello schermo, scegli la Regione in cui è stato creato il sistema di bilanciamento del carico.

  3. Scegli Create launch configuration (Crea una configurazione di avvio) e inserisci un nome per la configurazione di avvio.

  4. In Amazon Machine Image (AMI), inserisci l'ID dell'AMI per le tue istanze come criterio di ricerca.

  5. In Instance type (Tipo di istanza), seleziona una configurazione hardware per l'istanza.

  6. In Additional configuration (Configurazione aggiuntiva), presta particolare attenzione ai campi seguenti:

    1. (Facoltativo) Per distribuire in modo sicuro le credenziali per la tua istanza EC2, in IAM instance profile (Profilo dell'istanza IAM), seleziona il tuo ruolo IAM. Per ulteriori informazioni, consulta Ruoli IAM per le applicazioni in esecuzione sulle istanze Amazon EC2.

    2. (Facoltativo) Per specificare i dati utente o uno script di configurazione per le istanze, incollali in Advanced details (Dettagli avanzati), User data (Dati utente).

    3. (Facoltativo) In Advanced details (Dettagli avanzati), IP address type (Tipo di indirizzo IP), mantieni il valore di default. Quando crei il gruppo Auto Scaling, puoi assegnare un indirizzo IP pubblico alle istanze del gruppo utilizzando le sottoreti per le quali è abilitato l'attributo di indirizzamento IP pubblico, ad esempio le sottoreti predefinite nel VPC di default. In alternativa, se non devi connetterti alle istanze, puoi scegliere Do not assign a public IP address to any instances (Non assegnare un indirizzo IP pubblico a nessuna istanza) per impedire alle istanze del gruppo di ricevere traffico direttamente da Internet. In questo caso, le istanze riceveranno traffico solo dal load balancer.

  7. In Gruppi di sicurezza, scegli un gruppo di sicurezza esistente dallo stesso VPC del load balancer. Se lasci Create new security group (Crea nuovo gruppo di sicurezza) selezionato, viene configurata una regola SSH predefinita per le istanze Amazon EC2 che eseguono Linux. Viene configurato un ruolo RDP di default per le istanze Amazon EC2 che eseguono Windows.

  8. In Key pair (login) (Coppia di chiavi (login)), scegli un'opzione in Key pair options (Opzioni di coppia di chiavi).

    Se hai già configurato una coppia di chiavi dell'istanza Amazon EC2 instance, è possibile sceglierla in questa pagina.

    Se invece non hai ancora una coppia di chiavi dell'istanza Amazon EC2, scegli Create a new key pair (Crea una nuova coppia di chiavi) e assegnale un nome riconoscibile. Scegli Download key pair (Scarica coppia di chiavi) per scaricare la coppia di chiavi sul computer.

    Importante

    Se hai bisogno di connetterti alle istanze, non scegliere Proceed without a key pair (Procedi senza una coppia di chiavi).

  9. Selezionare la casella di controllo di conferma, quindi scegliere Create launch configuration (Crea configurazione di avvio).

  10. Seleziona la casella di controllo accanto al nome della nuova configurazione di avvio e scegli Operazioni, Gruppo con dimensionamento automatico.

Fase 2: creazione di un gruppo con dimensionamento automatico

Utilizza la procedura seguente per continuare dal punto in cui hai interrotto dopo aver selezionato o creato il modello o la configurazione di avvio.

Creazione di un gruppo con dimensionamento automatico
  1. 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.

  2. [Solo modello di avvio] In Versione del modello di avvio, scegli se per l'aumento orizzontale il gruppo con dimensionamento automatico debba usare la versione di default, quella più recente o una versione specifica del modello di avvio.

  3. Seleziona Successivo.

    Viene visualizzata la pagina Scegli le opzioni di avvio dell'istanza che consente di scegliere le impostazioni di rete VPC che si desidera utilizzare il gruppo con dimensionamento automatico e offre opzioni per l'avvio di istanze on demand e istanze Spot (se scegli un modello di avvio).

  4. Nella sezione Network (Rete), per VPC, scegli il VPC utilizzato per il load balancer. Se sceglierai il VPC di default, questo verrà configurato automaticamente per fornire la connettività Internet alle istanze. Questo VPC include una sottorete pubblica in ciascuna zona di disponibilità nella regione.

  5. Per Availability Zones and subnets (Zone di disponibilità e sottoreti), scegli una o più sottoreti ciascuna zona di disponibilità che desideri includere, in base alle zone di disponibilità in cui si trova il load balancer. Per ulteriori informazioni, consulta Considerazioni sulla scelta di sottoreti VPC.

  6. [Solo modello di avvio] Nella sezione Instance type requirements (Requisiti del tipo di istanza), utilizza l'impostazione predefinita per semplificare questo passaggio. (Non sovrascrivere il modello di avvio.) Per questo tutorial, avvierai solo le istanze on demand utilizzando il tipo di istanza specificato nel modello di avvio.

  7. Scegli Next (Avanti) per accedere alla pagina Configure advanced options (Configura opzioni avanzate).

  8. Per collegare il gruppo a un sistema di bilanciamento del carico esistente, nella sezione Load balancing (Bilanciamento del carico), scegli Attach to an existing load balancer (Collega a un load balancer esistente). È possibile scegliere Choose from your load balancer target groups (Scegli tra i gruppi di destinazione del load balancer) o Choose from Classic Load Balancers (Scegli tra Classic Load Balancer). È quindi possibile scegliere il nome di un gruppo di destinazione per Application Load Balancer o Network Load Balancer creato oppure scegliere il nome di un Classic Load Balancer.

  9. (Facoltativo) Per utilizzare i controlli d'integrità dell'Elastic Load Balancing per Health checks (Controlli dell'integrità), scegli ELB in Health check type (Tipo di controllo dell'integrità).

  10. Al termine della configurazione del gruppo Auto Scaling, scegli Skip to review (Vai alla verifica).

  11. Nella pagina Review (Verifica), riesamina i dettagli del gruppo Auto Scaling. Per apportare delle modifiche, scegli Edit (Modifica). Al termine, scegli Create Auto Scaling group (Crea gruppo Auto Scaling).

Dopo aver creato il gruppo Auto Scaling con il load balancer allegato, quest'ultimo registra automaticamente le nuove istanze, una volta che queste saranno online. A questo punto è disponibile solo un'istanza, quindi non c'è molto da registrare. Tuttavia, ora puoi aggiungere altre istanze aggiornando la capacità desiderata del gruppo. Per step-by-step istruzioni, consultaModifica la capacità desiderata del gruppo con dimensionamento automatico.

Fase 3: come verificare che il load balancer sia allegato

Come verificare che il load balancer sia allegato
  1. Dalla pagina Gruppi con dimensionamento automatico della console Amazon EC2 seleziona la casella di controllo accanto al gruppo con dimensionamento automatico.

  2. Nella scheda Details (Dettagli), il campo Load balancing (Bilanciamento del carico), mostra tutti i gruppi di destinazione del load balancer o del Classic Load Balancer allegati.

  3. Puoi verificare che le istanze siano state avviate correttamente nella scheda Activity (Attività), in Activity history (Cronologia delle attività). La colonna Status (Stato) indica se il gruppo Auto Scaling ha avviato le istanze. Se le istanze non vengono avviate, puoi trovare idee per la risoluzione dei problemi comuni di avvio delle istanze in Risoluzione dei problemi di Amazon EC2 Auto Scaling.

  4. Nella scheda Instance management (Gestione istanze) in Instances (Istanze), è possibile verificare che le istanze siano pronte a ricevere traffico. Inizialmente, lo stato delle istanze è Pending. Lo stato di un'istanza pronta a ricevere traffico è InService. La colonna Health status (Stato) mostra il risultato dei controlli dell'integrità sulle istanze Amazon EC2 Auto Scaling. Sebbene un'istanza possa essere contrassegnata come integra, il load balancer invierà traffico solo alle istanze che superano i controlli di integrità relativi.

  5. Verifica che le istanze siano registrate con il load balancer. Apri la pagina Target groups (Gruppi di destinazione) nella console Amazon EC2. Seleziona il tuo gruppo di destinazione e poi scegli la scheda Targets (Destinazioni). Se lo stato delle istanze è initial, è probabilmente perché sono ancora in fase di registrazione, o sono ancora sottoposti al controllo dell'integrità. Quando lo stato delle istanze è healthy, queste sono pronte per l'uso.

Fase 4: Fasi successive

Ora che hai completato questo tutorial, puoi scoprire di più su:

  • Dimensionamento automatico Amazon EC2 determina se un'istanza è integra in base allo stato dei controlli dell'integrità utilizzati dal gruppo con dimensionamento automatico. Se abiliti i controlli dello stato del bilanciamento del carico e un'istanza non supera i controlli di integrità, il gruppo Auto Scaling considera l'istanza non integra e la sostituisce. Per ulteriori informazioni, consulta Controlli dell'integrità.

  • Puoi espandere la tua applicazione a una zona di disponibilità aggiuntiva nella stessa Regione per aumentare la tolleranza ai guasti in caso di interruzione di un servizio. Per ulteriori informazioni, consulta Aggiungere zone di disponibilità.

  • Puoi configurare il gruppo Auto Scaling affinché utilizzi una policy di dimensionamento con monitoraggio degli obiettivi. Ciò aumenta o diminuisce automaticamente il numero di istanze man mano la domanda varia. Ciò consente al gruppo di gestire le modifiche nel traffico ricevuto dall'applicazione. Per ulteriori informazioni, consulta Policy di dimensionamento con monitoraggio degli obiettivi.

Fase 5: rimozione

Dopo aver creato le risorse per questo tutorial, è consigliabile considerare di effettuare la pulizia per evitare addebiti superflui.

Come eliminare il gruppo con dimensionamento automatico
  1. Apri la pagina Gruppi con dimensionamento automatico nella console Amazon EC2.

  2. Seleziona la casella di controllo accanto al gruppo con dimensionamento automatico.

  3. Scegli Elimina.

  4. Quando viene richiesta la conferma, digita delete per confermare l'eliminazione del gruppo con dimensionamento automatico specificato e scegli Elimina.

    Un'icona di caricamento nella colonna Nome indica che il gruppo con dimensionamento automatico è in fase di eliminazione. Al termine dell'eliminazione, le colonne Desired (Desiderate), Min e Max mostreranno le istanze 0 per il gruppo con dimensionamento automatico. Sono necessari alcuni minuti per terminare l'istanza ed eliminare il gruppo. Aggiorna l'elenco per visualizzare lo stato corrente.

Se desideri mantenere il modello di avvio, salta la procedura seguente.

Per eliminare il modello di avvio
  1. Apri la pagina Configurazioni di avvio della console Amazon EC2.

  2. Seleziona il modello di avvio.

  3. Scegliere Actions (Operazioni), Delete template (Elimina modello).

  4. Quando viene richiesta la conferma, digitare Delete per confermare l'eliminazione del modello di avvio specificato e scegliere Delete (Elimina).

Se desideri mantenere la configurazione di avvio, salta la procedura seguente.

Per eliminare la configurazione di avvio
  1. Apri la pagina Launch configurations (Configurazioni di avvio) della console Amazon EC2.

  2. Seleziona la configurazione di avvio.

  3. Scegli Actions (Operazioni), Delete launch configuration (Elimina configurazione di avvio).

  4. Quando viene richiesta la conferma, seleziona Delete (Elimina).

Se desideri mantenere il load balancer per uso futuro, salta la procedura seguente.

Come eliminare il load balancer
  1. Apri la pagina bilanciatori del carico nella console Amazon EC2.

  2. Seleziona il load balancer e scegli Actions (Operazioni), Delete (Elimina).

  3. Quando viene richiesta la conferma, seleziona Sì, elimina.

Come eliminare i gruppi di destinazione
  1. Apri la pagina Target groups (Gruppi di destinazione) nella console Amazon EC2.

  2. Selezionare il gruppo di destinazione e scegliere Operazioni, Elimina.

  3. Quando viene richiesta la conferma, seleziona Sì, elimina.

Con AWS CloudFormation, puoi creare ed eseguire il provisioning AWS delle implementazioni dell'infrastruttura in modo prevedibile e ripetuto, utilizzando file modello per creare ed eliminare una raccolta di risorse insieme come una singola unità (uno stack). Per ulteriori informazioni, consulta la AWS CloudFormation Guida per l'utente.

Per una procedura dettagliata che utilizza un modello di stack per effettuare il provisioning di un gruppo con dimensionamento automatico e di un Application Load Balancer, consulta Spiegazione passo per passo: creazione di un'applicazione con dimensionamento e sistema di bilanciamento del carico nella Guida per l'utente di AWS CloudFormation . Utilizza questa procedura e questo modello di esempio come punto di partenza per creare modelli simili adatti alle tue esigenze.