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à.
Integrazione CodeDeploy con ELB
Durante CodeDeploy le implementazioni, un sistema di bilanciamento del carico impedisce che il traffico Internet venga indirizzato verso istanze che non sono pronte, sono attualmente in fase di implementazione o non sono più necessarie come parte di un ambiente. Il ruolo esatto svolto dal load balancer, tuttavia, dipende dal fatto che venga utilizzato in una distribuzione o in loco. blue/green
Nota
L'uso dei sistemi di bilanciamento del carico Elastic Load Balancing è obbligatorio nelle blue/green implementazioni e facoltativo nelle implementazioni sul posto.
Tipi ELB
ELB offre tre tipi di sistemi di bilanciamento del carico che possono essere utilizzati nelle CodeDeploy implementazioni: Classic Load Balancer, Application Load Balancer e Network Load Balancer.
- Classic Load Balancer
-
Percorsi e bilanci di carico a livello di trasporto (). TCP/SSL) or the application layer (HTTP/HTTPS Supporta un VPC.
Nota
I sistemi Classic Load Balancer non sono supportati nelle distribuzioni di Amazon ECS.
- Application Load Balancer
-
Instrada e fornisce bilanciamento del carico a livello di applicazione (HTTP/HTTPS) e supporta l'instradamento in base al percorso. Può indirizzare le richieste alle porte di ogni EC2 istanza o istanza container nel tuo cloud privato virtuale (VPC).
Nota
I gruppi target di Application Load Balancer devono avere un tipo di destinazione per le distribuzioni su EC2 istanze e
instanceper le distribuzioni Fargate.IPPer ulteriori informazioni, consulta Target type. - Network Load Balancer
-
Percorsi e bilanci di carico a livello di trasporto (TCP/UDP Layer-4) in base alle informazioni sugli indirizzi estratte dall'intestazione del pacchetto TCP, non dal contenuto del pacchetto. Il Network Load Balancer è in grado di gestire i picchi di traffico, mantenere l'IP sorgente del client e utilizzare un IP fisso per l'intera durata del sistema di bilanciamento del carico.
Per ulteriori informazioni sui sistemi di bilanciamento del carico ELB, consulta i seguenti argomenti:
Implementazioni blu/verdi
Il reindirizzamento del traffico delle istanze dietro un sistema di bilanciamento del carico Elastic Load Balancing è fondamentale per le implementazioni. CodeDeploy blue/green
Durante una blue/green distribuzione, il load balancer consente di indirizzare il traffico verso le nuove istanze in un gruppo di distribuzione in cui è stata distribuita la revisione più recente dell'applicazione (l'ambiente sostitutivo), in base alle regole specificate, e quindi blocca il traffico proveniente dalle vecchie istanze in cui era in esecuzione la revisione precedente dell'applicazione (l'ambiente originale).
Dopo la registrazione delle istanze in un ambiente sostitutivo con uno o più sistemi di bilanciamento del carico, le istanze dell'ambiente originale vengono annullate e, se lo si desidera, terminate.
Per una blue/green distribuzione, puoi specificare uno o più gruppi target Classic Load Balancer, Application Load Balancer o Network Load Balancer nel tuo gruppo di distribuzione. È possibile utilizzare la CodeDeploy console o aggiungere AWS CLI i load balancer a un gruppo di distribuzione.
Per ulteriori informazioni sui sistemi di bilanciamento del carico nelle blue/green distribuzioni, consulta i seguenti argomenti:
Distribuzioni locali
Durante una distribuzione in loco, un sistema di bilanciamento del carico impedisce che il traffico Internet venga instradato a un'istanza che è in fase di distribuzione, quindi rende l'istanza nuovamente disponibile per il traffico una volta completata la distribuzione a quell'istanza.
Se un sistema di bilanciamento del carico non viene utilizzato durante una distribuzione in loco, il traffico Internet potrebbe comunque essere indirizzato a un'istanza durante il processo di distribuzione. Di conseguenza, le applicazioni Web potrebbero risultare ai clienti non funzionanti, incomplete o non aggiornate. Quando si utilizza un sistema di bilanciamento del carico Elastic Load Balancing con una distribuzione sul posto, le istanze di un gruppo di distribuzione vengono cancellate dal sistema di bilanciamento del carico, aggiornate con la revisione più recente dell'applicazione e quindi registrate nuovamente con il sistema di bilanciamento del carico come parte dello stesso gruppo di distribuzione una volta completata la distribuzione. CodeDeploy aspetterà fino a 1 ora prima che l'istanza diventi integra dopo il bilanciamento del carico. Se l'istanza non viene contrassegnata come integra dal load balancer durante il periodo di attesa, passa CodeDeploy all'istanza successiva o fallisce la distribuzione, in base alla configurazione di distribuzione.
Per una distribuzione sul posto, puoi specificare uno o più gruppi target Classic Load Balancer, Application Load Balancer o Network Load Balancer. È possibile specificare i load balancer come parte della configurazione del gruppo di distribuzione oppure utilizzare uno script fornito da per implementare i load balancer. CodeDeploy
Specificate il sistema di bilanciamento del carico di distribuzione sul posto utilizzando un gruppo di distribuzione
Per aggiungere sistemi di bilanciamento del carico a un gruppo di distribuzione, si utilizza la console o. CodeDeploy AWS CLI Per informazioni su come specificare un sistema di bilanciamento del carico in un gruppo di distribuzione per distribuzioni in loco, consulta i seguenti argomenti:
Specificare il sistema di bilanciamento del carico di distribuzione sul posto utilizzando uno script
Utilizza la procedura descritta di seguito per usare script per il ciclo di vita delle distribuzioni per configurare un sistema di bilanciamento del carico per distribuzioni in loco.
Nota
È necessario utilizzare il. CodeDeployDefault OneAtATime configurazione di distribuzione solo quando si utilizza uno script per configurare un sistema di bilanciamento del carico per una distribuzione sul posto. Le esecuzioni simultanee non sono supportate e il. CodeDeployDefault OneAtATime l'impostazione garantisce l'esecuzione seriale degli script. Per ulteriori dettagli sulle configurazioni della distribuzione, consulta Utilizzo delle configurazioni di distribuzione in CodeDeploy.
Nel repository CodeDeploy Samples on GitHub, forniamo istruzioni ed esempi che puoi adattare per utilizzare i bilanciatori di carico CodeDeploy ELB. Questi repository includono tre script di esempio: register_with_elb.shderegister_from_elb.sh, e common_functions.sh —che forniscono tutto il codice necessario per iniziare. È sufficiente modificare i segnaposto in questi tre script e fare riferimento agli script dal file appspec.yml.
Per configurare distribuzioni sul posto con EC2 istanze CodeDeploy Amazon registrate con sistemi di bilanciamento del carico ELB, procedi come segue:
-
Scarica gli esempi per il tipo di sistema di bilanciamento del carico che desideri utilizzare per una distribuzione in loco:
-
Assicurati che su ciascuna delle tue EC2 istanze Amazon di destinazione AWS CLI sia installata.
-
Assicurati che ciascuna delle tue EC2 istanze Amazon di destinazione abbia un profilo di istanza IAM associato almeno alle autorizzazioni elasticloadbalancing: * e autoscaling: *.
-
Includi nella directory del codice sorgente dell'applicazione gli script degli eventi del ciclo di vita della distribuzione (
register_with_elb.sh,deregister_from_elb.shecommon_functions.sh). -
Nella revisione
appspec.ymlper l'applicazione, fornisci le istruzioni per eseguire lo script durante l'evento e lo CodeDeploy script durante l'register_with_elb.shevento. ApplicationStartderegister_from_elb.shApplicationStop -
Se l'istanza fa parte di un gruppo Amazon EC2 Auto Scaling, puoi saltare questo passaggio.
Nello script
common_functions.sh:-
Se utilizzi Classic Load Balancer
, specifica i nomi dei sistemi di bilanciamento del carico ELB in ELB_LIST=""e apporta le modifiche necessarie alle altre impostazioni di distribuzione nel file. -
Se utilizzi Application Load Balancer o Network Load
Balancer, specifica i nomi dei gruppi target ELB TARGET_GROUP_LIST=""in e apporta le modifiche necessarie alle altre impostazioni di distribuzione nel file.
-
-
Raggruppa il codice sorgente dell'applicazione,
appspec.ymle gli script degli eventi del ciclo di vita della distribuzione in una revisione dell'applicazione, quindi carica quest'ultima. Implementa la revisione nelle istanze Amazon EC2 . Durante la distribuzione, gli script degli eventi del ciclo di vita della distribuzione annulleranno la registrazione dell'istanza EC2 Amazon con il sistema di bilanciamento del carico, attenderanno che la connessione si esaurisca e quindi registreranno nuovamente l'istanza EC2 Amazon con il sistema di bilanciamento del carico al termine della distribuzione.