implementazione di riferimento

Distribuzione blue/green in AWS

Utilizzo di AWS CodePipeline per la distribuzione di ambienti AWS Elastic Beanstalk

Questo Quick Start distribuisce automaticamente un'architettura blue/green in AWS utilizzando AWS CodePipeline. Crea una pipeline di integrazione e distribuzione continue (CI/CD) in circa 15 minuti.

Quando un'applicazione viene sviluppata e distribuita in un ambiente AWS Elastic Beanstalk, avere due ambienti separati (blu e verde) ma identici aumenta la disponibilità e riduce il rischio. Nell'architettura Quick Start, l'ambiente blu è l'ambiente di produzione che gestisce generalmente il traffico in tempo reale. L'architettura di pipeline di integrazione e distribuzione continue crea un clone (verde) dell'ambiente Elastic Beanstalk reale (blu). In seguito la pipeline scambia i rispettivi URL fra i due ambienti.

Mentre CodePipeline distribuisce il codice dell'applicazione nell'ambiente originale, e vengono eseguiti test e manutenzione, l'ambiente clone provvisorio gestisce il traffico in tempo reale. Una volta terminata la distribuzione dell'ambiente blu e completati l'analisi e il test del codice, la pipeline scambia nuovamente gli URL fra l'ambiente verde e l'ambiente blu. L'ambiente blu inizia a fornire il traffico in tempo reale e la pipeline conclude l'ambiente verde.

 

 

Questo Quick Start è stato sviluppato da
Solutions Architect di AWS.

 

  •  Attività che realizzerai
  • Usa questo Quick Start per distribuire e configurare il seguente ambiente per una distribuzione blue/green in AWS.

    • Una pipeline che viene attivata quando un bucket Amazon S3 viene caricato con una nuova versione del pacchetto di applicazioni distribuito nell'ambiente AWS Elastic Beanstalk.
    • Funzioni AWS Lambda per clonare l'ambiente blu come ambiente verde, scambiare gli URL e terminare l'ambiente verde quando la distribuzione e il test dell'ambiente blu sono stati completati.
    • Progetti AWS CodeBuild per effettuare lo scambio iniziale di URL fra l'ambiente blu e quello verde e di eseguire il test della distribuzione dell'ambiente blu.
    • Se non vengono forniti un ambiente Elastic Beanstalk esistente e l'applicazione in esso contenuta, questo Quick Start crea un esempio di ambiente.
    • Ruoli AWS IAM per le funzioni Lambda, progetti CodeBuild e ruolo del servizio per l'esempio di applicazione di Elastic Beanstalk.
    • Bucket Amazon S3 separati per lo store di artefatti CodePipeline, gli asset delle funzioni Lambda e gli asset CodeBuild. Puoi avere un bucket S3 opzionale per archiviare il pacchetto compresso che contiene il codice dell'applicazione per l'implementazione Elastic Beanstalk.
  •  Come effettuare la distribuzione
  • Per creare un'architettura blue/green nel cloud AWS, segui le istruzioni nella guida alla distribuzione. Il processo di distribuzione richiede circa 15 minuti e comprende i seguenti passaggi:

    1. Controlla i prerequisiti.
    2. Se ancora non disponi di un account, registrati a https://aws.amazon.com.
    3. (Facoltativo) Prendi nota di un ambiente Elastic Beanstalk e di un'applicazione esistenti. Puoi saltare questo passaggio se desideri avviare un esempio di ambiente e di applicazione.
    4. Avvia il Quick Start e personalizza le impostazioni.
    5. (Facoltativo) Se l'integrazione di Git in S3 è abilitata, configura il tuo repository Git.
    6. Testa la distribuzione.

    Amazon può condividere informazioni relative all'implementazione con il Partner AWS che ha collaborato con AWS a questa soluzione.  

  •  Costi e licenze
  • Ti saranno addebitati i costi dei servizi AWS utilizzati per eseguire questa distribuzione di riferimento Quick Start. Non sono previsti costi aggiuntivi per l'utilizzo di Quick Start.

    Questo Quick Start avvia una pipeline che interagisce con le funzioni Lambda, AWS CodeBuild, Amazon Simple Notification Service (SNS) ed Elastic Beanstalk per distribuzioni a costi ridotti. A scelta, con questo Quick Start puoi attivare i webhook Git con il Quick Start dei servizi AWS per collegare il tuo repository Git ad Amazon S3. Git con Amazon S3 fornisce un endpoint Amazon API Gateway e funzioni Lambda per gestire il download, la compressione e la distribuzione del codice in Amazon S3.

    AWS CodePipeline prevede un costo per ciascuna pipeline attiva; consulta i prezzi di AWS CodePipeline. AWS CodeBuild e Amazon SNS utilizzano prezzi in base al consumo effettivo; per i dettagli, consulta AWS CodeBuild e Amazon SNS. A seconda della tua configurazione, i webhook Git con il Quick Start dei servizi AWS possono distribuire una chiave AWS Key Management Service (AWS KMS); per i costi consulta la pagina di prezzi di AWS Key Management Service. I costi di API Gateway, Amazon S3 e Lambda variano secondo la frequenza dei commit di codice al tuo repository. Ogni commit attiva una richiesta all'esecuzione di Lambda nell'API Gateway; per i dettagli, consulta le pagine dei prezzi di API Gateway, Amazon S3 e Lambda.