Distribuzione di applicazioni in ambienti 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à.

Distribuzione di applicazioni in ambienti Elastic Beanstalk

È possibile utilizzare la console AWS Elastic Beanstalk per caricare un bundle fonte aggiornato e implementarlo nel tuo ambiente Elastic Beanstalk o ridistribuire una versione caricata in precedenza.

Ogni distribuzione è identificata da un ID della distribuzione. Gli ID distribuzione iniziano da 1 e vengono incrementati di uno a ogni distribuzione o modifica della configurazione dell'istanza. Attivando il reporting sullo stato migliorato, Elastic Beanstalk mostra l'ID distribuzione sia nella console dello stato, sia nella CLI EB quando comunica lo stato dell'istanza. L'ID della distribuzione consente di stabilire lo stato dell'ambiente quando un aggiornamento in sequenza ha esito negativo.

Elastic Beanstalk fornisce diverse policy e impostazioni di distribuzione. Per informazioni dettagliate sulla configurazione di una policy e di impostazioni aggiuntive, consulta Impostazioni e policy di distribuzione. Nella tabella seguente sono elencate le policy e i tipi di ambienti che le supportano.

Policy di distribuzione supportate
Policy di distribuzione Ambienti con bilanciamento del carico Ambienti di istanza singola Ambienti di Windows Server legacy†

Tutto contemporaneamente

In sequenza

No

In sequenza con batch aggiuntivi

No

No

Non modificabile

No

Suddivisione del traffico

Sì (Application Load Balancer)

No

No

† In questa tabella, un ambiente Windows Server legacy è un ambiente basato su una configurazione della piattaforma Windows Server che utilizza una versione IIS precedente a IIS 8.5.

avvertimento

Alcuni criteri sostituiscono tutte le istanze durante la distribuzione o l'aggiornamento. Ciò causa la perdita di tutti i saldi burst di Amazon EC2 accumulati. Succede nei seguenti casi:

  • Aggiornamenti della piattaforma gestiti con sostituzione delle istanze abilitata

  • Aggiornamenti non modificabili

  • Distribuzioni con aggiornamenti immutabili o suddivisione del traffico abilitata

Scelta di una policy di distribuzione

La scelta della policy di distribuzione appropriata per l'applicazione è un compromesso di alcune considerazioni e dipende dalle esigenze specifiche. La pagina Impostazioni e policy di distribuzione contiene ulteriori informazioni su ogni policy e una descrizione dettagliata del funzionamento di alcune di esse.

Nell'elenco seguente vengono fornite informazioni di riepilogo sulle diverse policy di distribuzione con considerazioni correlate.

  • Tutto contemporaneamente: il metodo di distribuzione più rapido. Adatto se puoi accettare una breve perdita del servizio e se le distribuzioni rapide sono per te importanti. Con questo metodo Elastic Beanstalk distribuisce la nuova versione dell'applicazione in ogni istanza. Quindi, potrebbe essere necessario riavviare il proxy Web o il server applicazioni. Di conseguenza, l'applicazione potrebbe non essere disponibile per gli utenti (o avere bassa disponibilità) per un breve periodo.

  • In sequenza: evita i tempi di inattività e contiene al minimo la disponibilità ridotta, ma con tempi di distribuzione più lunghi. Adatto se non puoi accettare un periodo con perdita del servizio totale. Con questo metodo, l'applicazione viene distribuita nell'ambiente in uso per un batch di istanze alla volta. La maggior parte della larghezza di banda viene mantenuta per tutta la distribuzione.

  • In sequenza con batch aggiuntivi: evita la disponibilità ridotta, ma con tempi di distribuzione ancora più lunghi rispetto al metodo In sequenza. Adatto se è necessario mantenere la stessa larghezza di banda per tutta la distribuzione. Con questo metodo Elastic Beanstalk avvia un batch aggiuntivo di istanze, quindi esegue una distribuzione in sequenza. L'avvio del batch aggiuntivo richiede tempo e garantisce che la stessa larghezza di banda venga mantenuta per tutta la distribuzione.

  • Non modificabile: metodo di distribuzione più lento che assicura che la nuova versione dell'applicazione venga sempre distribuita nelle nuove istanze, anziché aggiornare le istanze esistenti. Ha anche il vantaggio aggiuntivo di un rollback rapido e sicuro nel caso in cui la distribuzione non riesca. Con questo metodo, Elastic Beanstalk esegue un aggiornamento non modificabile per distribuire l'applicazione. In un aggiornamento non modificabile viene avviato un secondo gruppo Auto Scaling nel tuo ambiente e la nuova versione serve il traffico insieme alla versione precedente fino a quando le nuove istanze superano i controlli dello stato.

  • Suddivisione del traffico: metodo di distribuzione con test canary. Adatto se vuoi verificare l'integrità della nuova versione dell'applicazione utilizzando una parte del traffico in entrata, mantenendo il resto del traffico servito dalla versione precedente dell'applicazione.

Nella tabella seguente vengono confrontate le proprietà dei metodi di distribuzione.

Metodi di distribuzione
Metodo Impatto di una distribuzione non riuscita Orario di distribuzione Nessun tempo di inattività Nessuna modifica DNS Processo di rollback Codice distribuito in
Tutto contemporaneamente Tempo di inattività Circular icon with a clock face, indicating time-related functionality or waiting period. No Ridistribuzione manuale Istanze esistenti
In sequenza Batch singolo fuori servizio: un qualsiasi batch completato con successo prima del fallimento dell'esecuzione di una nuova versione dell'applicazione Circular icon with a clock face, indicating time-related functionality or waiting period. Circular icon with a clock face, indicating time-related functionality or waiting period. Ridistribuzione manuale Istanze esistenti
In sequenza con batch aggiuntivi Minima se il primo batch ha esito negativo; altrimenti simile a Rolling (In sequenza) Circular icon with a clock face, indicating time-related functionality or waiting period. Circular icon with a clock face, indicating time-related functionality or waiting period. Circular icon with a clock face, indicating time-related functionality or waiting period. Ridistribuzione manuale Istanze nuove ed esistenti
Non modificabile Minima Circular icon with a clock face, indicating time-related functionality or waiting period. Circular icon with a clock face, indicating time-related functionality or waiting period. Circular icon with a clock face, indicating time-related functionality or waiting period. Circular icon with a clock face, indicating time-related functionality or waiting period. Termina nuove istanze Nuove istanze
Suddivisione del traffico Percentuale di traffico client instradato alla nuova versione interessata temporaneamente Circular icon with a clock face, indicating time-related functionality or waiting period. Circular icon with a clock face, indicating time-related functionality or waiting period. Circular icon with a clock face, indicating time-related functionality or waiting period. Circular icon with a clock face, indicating time-related functionality or waiting period. †† Reindirizza il traffico e termina le nuove istanze Nuove istanze
Blu/verde Minima Circular icon with a clock face, indicating time-related functionality or waiting period. Circular icon with a clock face, indicating time-related functionality or waiting period. Circular icon with a clock face, indicating time-related functionality or waiting period. Circular icon with a clock face, indicating time-related functionality or waiting period. No Scambia URL Nuove istanze

Varia in base alle dimensioni del batch.

†† Varia in base all'impostazione dell'opzione del tempo di valutazione.

Distribuzione di una nuova versione dell'applicazione

È possibile eseguire le distribuzioni dal pannello di controllo dell'ambiente.

Per distribuire una nuova versione dell'applicazione in un ambiente Elastic Beanstalk
  1. Apri la console Elastic Beanstalk e nell'elenco Regions (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. Selezionare Upload and Deploy (Carica e distribuisci).

  4. Utilizza il modulo su schermo per caricare il bundle di origine dell'applicazione.

  5. Selezionare Deploy (Distribuisci).

Ridistribuzione di una versione precedente

Puoi anche distribuire una versione dell'applicazione caricata in precedenza su uno qualsiasi dei suoi ambienti dalla pagina delle versioni dell'applicazione.

Per distribuire una versione dell'applicazione esistente in un ambiente esistente
  1. Apri la console Elastic Beanstalk e nell'elenco Regions (Regioni) seleziona la tua Regione AWS.

  2. Nel riquadro di navigazione, scegliere Applicazioni, quindi selezionare il nome dell'applicazione dall'elenco.

    Nota

    Se si dispone di molte applicazioni, utilizzare la barra di ricerca per filtrare l'elenco delle applicazioni.

  3. Nel riquadro di spostamento individuare il nome dell'applicazione e scegliere Application versions (Versioni applicazione).

  4. Selezionare la versione dell'applicazione da distribuire.

  5. Scegliere Actions (Operazioni), quindi Deploy (Distribuisci).

  6. Selezionare un ambiente, quindi scegliere Deploy (Distribuisci).

Altri modi per distribuire l'applicazione

Se si distribuisce spesso, è consigliabile utilizzare l'interfaccia a riga di comando di Elastic Beanstalk (CLI EB) per gestire gli ambienti. La CLI EB crea un repository insieme al codice sorgente. Può anche creare un bundle di origine, caricarlo in Elastic Beanstalk e distribuirlo con un singolo comando.

Per le distribuzioni dipendenti dalle modifiche alla configurazione delle risorse o da una nuova versione che non può essere eseguita insieme alla versione precedente, puoi avviare un nuovo ambiente con la nuova versione ed eseguire uno scambio del CNAME per una distribuzione blu/verde.