Utilizzo delle configurazioni di distribuzione in CodeDeploy - AWS CodeDeploy

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à.

Utilizzo delle configurazioni di distribuzione in CodeDeploy

Una configurazione della distribuzione è un set di regole e di condizioni di successo e di errore utilizzate da CodeDeploy durante una distribuzione. Queste regole e condizioni sono diverse, a seconda che si effettui la distribuzione su una piattaforma di elaborazione EC2/on-premise, una piattaforma di elaborazione AWS Lambda o una piattaforma di calcolo Amazon ECS.

Configurazioni di distribuzione su una piattaforma di elaborazione EC2/locale

Quando si esegue la distribuzione su una piattaforma di elaborazione EC2/locale, la configurazione di distribuzione specifica, attraverso l'uso del valore «numero minimo di host integri» e di un valore opzionale «numero minimo di host integri per zona», il numero o la percentuale di istanze che devono rimanere disponibili in qualsiasi momento durante una distribuzione.

Puoi usare una delle tre configurazioni della distribuzione predefinite fornite da AWS o creare una configurazione della distribuzione personalizzata. Per ulteriori informazioni sulla creazione di configurazioni di distribuzione personalizzate, consulta. Create a Deployment Configuration Se non si specifica una configurazione di distribuzione, CodeDeploy utilizza la CodeDeployDefault. OneAtConfigurazione di distribuzione ATime.

Per ulteriori informazioni su come CodeDeploy monitora e valuta lo stato delle istanze durante una distribuzione, consulta. Instance Health Per visualizzare un elenco delle configurazioni della distribuzione già registrate sul tuo account AWS, consulta View Deployment Configuration Details.

Configurazioni di distribuzione predefinite per una piattaforma di calcolo EC2/on-premise

La tabella seguente elenca le configurazioni della distribuzione predefinite.

Nota

Non esistono configurazioni di distribuzione predefinite che supportino la zonal configuration funzionalità (ovvero la funzionalità che consente di specificare il numero di host integri per zona di disponibilità). Se si desidera utilizzare questa funzionalità, è necessario creare una configurazione di distribuzione personalizzata.

Configurazione dell'implementazione Descrizione
CodeDeployDefault.AllAtOnce

Distribuzioni locali

Tenta di distribuire una revisione di un'applicazione su quante più istanze possibile in una volta sola. Se la versione dell'applicazione viene distribuita su una o più delle istanze, lo stato della distribuzione complessiva viene visualizzato come Riuscito. Se la versione dell'applicazione non viene distribuita su nessuna delle istanze, lo stato della distribuzione complessiva viene visualizzato come Non riuscito. Utilizzando un esempio di nove istanze, CodeDeployDefault. AllAtOnce tenta di eseguire la distribuzione su tutte e nove le istanze contemporaneamente. La distribuzione complessiva ha esito positivo se la distribuzione di anche una singola istanza viene eseguita correttamente. Ha esito negativo solo se le distribuzioni a tutte e nove le istanze non riescono.

Distribuzioni blu/verde:

  • Distribuzione in un ambiente sostitutivo: segue le stesse regole di distribuzione di. CodeDeployDefault AllAtOnce per installazioni sul posto.

  • Reinstradamento del traffico: instrada il traffico verso tutte le istanze nell'ambiente di sostituzione tutto in una volta. Si conclude con successo se il traffico è correttamente reinstradato verso almeno un'istanza. Fallisce se il reinstradamento si conclude con esito negativo per tutte le istanze.

CodeDeployDefault. HalfAtUna volta

Distribuzioni locali

Distribuisce su fino a metà delle istanze alla volta (con frazioni arrotondate per difetto). La distribuzione complessiva va a buon fine se la revisione dell'applicazione viene distribuita su almeno metà delle istanze (con frazioni arrotondate per eccesso). In caso contrario, la distribuzione ha esito negativo. Nell'esempio di nove istanze, effettua la distribuzione su fino a quattro istanze alla volta. La distribuzione complessiva va a buon fine se si conclude con esito positivo su cinque o più istanze. In caso contrario, la distribuzione ha esito negativo.

Nota

Se esegui la distribuzione su istanze in più gruppi di Auto Scaling CodeDeploy , eseguirai la distribuzione su un massimo della metà delle istanze alla volta indipendentemente dal gruppo di Auto Scaling in cui si trovano. Ad esempio, supponiamo di avere due gruppi di Auto Scaling ASG1 e ASG2 ciascuno di 10 istanze. In questo scenario, CodeDeploy potrei implementare fino a 10 istanze in un colpo solo ASG1 e considerarlo un successo perché è stato distribuito su almeno la metà delle istanze.

Distribuzioni blu/verde:

  • Distribuzione in un ambiente sostitutivo: segue le stesse regole di distribuzione di. CodeDeployDefault HalfAtaTime per le implementazioni sul posto.

  • Reinstradamento del traffico: instrada il traffico verso fino alla metà delle istanze dell'ambiente di sostituzione alla volta. Riesce se il reinstradamento va a buon fine per almeno metà delle istanze. In caso contrario, produce un errore.

CodeDeployDefault. OneAtUna volta

Distribuzioni locali

Consente di distribuire la versione dell'applicazione su una sola istanza alla volta.

Per i gruppi di distribuzione che contengono più istanze:

  • La distribuzione complessiva va a buon fine se la versione dell'applicazione viene distribuita su tutte le istanze. Come eccezione a questa regola, se la distribuzione non ha esito positivo sull'ultima istanza, la distribuzione complessiva è comunque considerata conclusa con successo. Questo perché CodeDeploy consente di portare offline solo un'istanza alla volta con. CodeDeployDefault OneAtConfigurazione ATime.

  • La distribuzione complessiva ha esito negativo non appena la versione dell'applicazione non viene distribuita con successo su una qualsiasi delle istanze, tranne l'ultima.

  • In un esempio di nove istanze, effettua la distribuzione su un'istanza alla volta. La distribuzione complessiva ha esito positivo se la distribuzione alle prime otto istanze viene eseguita correttamente. La distribuzione complessiva ha esito negativo se la distribuzione a una qualsiasi delle prime otto istanze non viene eseguita correttamente.

Nel caso di gruppi di distribuzione che contengono solo un'istanza, la distribuzione complessiva va a buon fine solo se la distribuzione sulla singola istanza va a buon fine.

Distribuzioni blu/verde:

  • Distribuzione in un ambiente sostitutivo: segue le stesse CodeDeployDefault regole di distribuzione di. OneAtaTime per le implementazioni sul posto.

  • Reinstradamento del traffico: instrada il traffico verso un'istanze dell'ambiente di sostituzione alla volta. Va a buon fine se il traffico è correttamente reinstradato verso tutte le istanze sostitutive. Fallisce dopo il primo fallimento del reinstradamento. Come eccezione a questa regola, se l'ultima istanza non ha esito positivo, la distribuzione complessiva è comunque considerata conclusa con successo.

Configurazioni di distribuzione su una piattaforma di calcolo Amazon ECS

Quando esegui la distribuzione su una piattaforma di calcolo Amazon ECS, la configurazione di distribuzione specifica in che modo il traffico viene spostato verso il set di attività Amazon ECS aggiornato. Puoi spostare il traffico utilizzando una configurazione canaria, lineare o di distribuzione. all-at-once Per ulteriori informazioni, consulta Configurazione dell'implementazione.

È anche possibile creare la propria configurazione della distribuzione di tipo canary o lineare. Per ulteriori informazioni, consulta Create a Deployment Configuration.

Configurazioni di distribuzione predefinite per una piattaforma di calcolo Amazon ECS

La tabella seguente elenca le configurazioni predefinite disponibili per le distribuzioni di Amazon ECS.

Nota

Se utilizzi un Network Load Balancer, è supportata solo la configurazione di distribuzione CodeDeployDefault.ECSAllAtOnce predefinita.

Configurazione dell'implementazione Descrizione

CodeDeployDefault.ecsLinear 10 1 minuto PercentEvery

Reinstrada il 10% del traffico ogni minuto fino al reinstradamento di tutto il traffico.

CodeDeployDefault.ecsLinear10 3 minuti PercentEvery

Reinstrada il 10% del traffico ogni tre minuti fino al reinstradamento di tutto il traffico.

CodeDeployDefault.ECS può durare 10 per cento 5 minuti

Reinstrada il 10% del traffico nel primo blocco incrementale. Il restante 90% viene reinstradato cinque minuti più tardi.

CodeDeployDefault. La CES può durare dal 10 percento a 15 minuti

Reinstrada il 10% del traffico nel primo blocco incrementale. Il restante 90% viene reinstradato 15 minuti più tardi.

CodeDeployDefault.ECS AllAtOnce

Sposta tutto il traffico verso il container Amazon ECS aggiornato contemporaneamente.

Configurazioni di distribuzione per distribuzioni AWS CloudFormation blu/green (Amazon ECS)

Quando esegui la distribuzione su una piattaforma di calcolo Amazon ECS tramite distribuzioni AWS CloudFormation blu/verdi, la configurazione di distribuzione specifica in che modo il traffico viene spostato verso il contenitore Amazon ECS aggiornato. Puoi spostare il traffico utilizzando una configurazione canaria, lineare o di distribuzione. all-at-once Per ulteriori informazioni, consulta Configurazione dell'implementazione.

Con le implementazioni AWS CloudFormation blu/green, non è possibile creare una configurazione di distribuzione canaria o lineare personalizzata. Per step-by-step istruzioni sull'uso AWS CloudFormation per gestire le distribuzioni blu/verde di Amazon ECS, consulta Automatizza le distribuzioni blu/verde di Amazon ECS tramite l'uso nella Guida per l'utente. CodeDeploy AWS CloudFormation AWS CloudFormation

Nota

La gestione delle distribuzioni blu/green di Amazon ECS con non AWS CloudFormation è disponibile nelle regioni Europa (Milano), Africa (Città del Capo) e Asia Pacifico (Osaka).

Configurazioni di distribuzione su una piattaforma di elaborazione AWS Lambda

Quando esegui la distribuzione su una piattaforma di elaborazione AWS Lambda, la configurazione di distribuzione specifica il modo in cui il traffico viene spostato verso le nuove versioni della funzione Lambda dell'applicazione. Puoi spostare il traffico utilizzando una configurazione canaria, lineare o di distribuzione. all-at-once Per ulteriori informazioni, consulta Configurazione dell'implementazione.

È anche possibile creare la propria configurazione della distribuzione di tipo canary o lineare. Per ulteriori informazioni, consulta Create a Deployment Configuration.

Configurazioni di implementazione predefinite per una piattaforma di elaborazione AWS Lambda

La tabella seguente elenca le configurazioni della distribuzione predefinite disponibili per le distribuzioni su AWS Lambda.

Configurazione dell'implementazione Descrizione

CodeDeployDefault. LambdaCanary10 per cento 5 minuti

Reinstrada il 10% del traffico nel primo blocco incrementale. Il restante 90% viene reinstradato cinque minuti più tardi.

CodeDeployDefault. LambdaCanary10 per cento 10 minuti

Reinstrada il 10% del traffico nel primo blocco incrementale. Il restante 90% viene reinstradato 10 minuti più tardi.

CodeDeployDefault. LambdaCanary10 per cento 15 minuti

Reinstrada il 10% del traffico nel primo blocco incrementale. Il restante 90% viene reinstradato 15 minuti più tardi.

CodeDeployDefault. LambdaCanary10 per cento 30 minuti

Reinstrada il 10% del traffico nel primo blocco incrementale. Il restante 90% viene reinstradato 30 minuti più tardi.

CodeDeployDefault. LambdaLinear10 PercentEvery 1 minuto

Reinstrada il 10% del traffico ogni minuto fino al reinstradamento di tutto il traffico.

CodeDeployDefault. LambdaLinear10 PercentEvery 2 minuti

Reinstrada il 10% del traffico ogni due minuti fino al reinstradamento di tutto il traffico.

CodeDeployDefault. LambdaLinear10 PercentEvery 3 minuti

Reinstrada il 10% del traffico ogni tre minuti fino al reinstradamento di tutto il traffico.

CodeDeployDefault. LambdaLinear10 PercentEvery 10 minuti Reinstrada il 10% del traffico ogni 10 minuti fino al reinstradamento di tutto il traffico.
CodeDeployDefault.LambdaAllAtOnce

Sposta tutto il traffico verso le funzioni Lambda aggiornate contemporaneamente.

Argomenti