Configura un sistema di bilanciamento del carico, gruppi target e listener per le distribuzioni di CodeDeploy Amazon ECS - 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à.

Configura un sistema di bilanciamento del carico, gruppi target e listener per le distribuzioni di CodeDeploy Amazon ECS

Prima di eseguire una distribuzione utilizzando la piattaforma di calcolo Amazon ECS, devi creare un Application Load Balancer o un Network Load Balancer, due gruppi target e uno o due listener. Questo argomento mostra come creare un Application Load Balancer. Per ulteriori informazioni, consulta Prima di iniziare una distribuzione di Amazon ECS.

Uno dei gruppi target indirizza il traffico verso il set di attività originale dell'applicazione Amazon ECS. L'altro gruppo target indirizza il traffico al relativo set di attività di sostituzione. Durante la distribuzione, CodeDeploy crea un set di attività sostitutivo e reindirizza il traffico dal set di attività originale a quello nuovo. CodeDeploy determina quale gruppo target viene utilizzato per ogni set di attività.

Un listener viene utilizzato dal sistema di bilanciamento del carico per indirizzare il traffico verso i tuoi gruppi target. Un listener di produzione è obbligatorio. Puoi specificare un listener di test opzionale che indirizza il traffico verso il set di attività di sostituzione mentre esegui test di convalida.

Il sistema di bilanciamento del carico deve utilizzare un VPC con due sottoreti pubbliche in zone di disponibilità diverse. I passaggi seguenti mostrano come confermare il tuo VPC predefinito, creare un Application Load Balancer di Amazon EC2 e quindi creare due gruppi target per il tuo sistema di bilanciamento del carico. Per ulteriori informazioni, consulta Target groups for your network load balancer.

Verifica il tuo VPC, le sottoreti pubbliche e il gruppo di sicurezza predefiniti

Questo argomento mostra come creare un Application Load Balancer di Amazon EC2, due gruppi di destinazione e due porte che possono essere utilizzate durante una distribuzione di Amazon ECS. Una delle porte è facoltativa e necessaria solo se si indirizza il traffico a una porta di test per i test di convalida durante la distribuzione.

  1. Accedi AWS Management Console e apri la console Amazon VPC all'indirizzo https://console.aws.amazon.com/vpc/.

  2. Verifica il VPC predefinito da utilizzare. Nel pannello di navigazione, scegli Your VPCs (I tuoi VPC). Controlla quale VPC mostra Yes (Sì) nella colonna Default VPC (VPC predefinito). Questo è il VPC predefinito. Contiene le sottoreti predefinite utilizzate.

  3. Scegli Subnets (Sottoreti). Annotare gli ID di sottorete di due sottoreti che mostrano Yes (Sì) nella colonna Default subnet (Sottorete predefinita). Utilizzare questi ID quando si crea il sistema di bilanciamento del carico.

  4. Scegliere ogni sottorete, quindi selezionare la scheda Description (Descrizione). Verifica che le sottoreti da utilizzare siano in diverse zone di disponibilità.

  5. Scegli le sottoreti, quindi scegli la scheda Route Table (Tabella di routing). Per verificare che ogni sottorete che si desidera utilizzare sia una sottorete pubblica, accertarsi che una riga con un collegamento a un Internet Gateway sia inclusa nella tabella di routing.

  6. Accedi AWS Management Console e apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

  7. Scegli Security Groups (Gruppi di sicurezza) dal pannello di navigazione.

  8. Verificare che il gruppo di sicurezza che si desidera utilizzare sia disponibile e annotare il relativo ID gruppo (ad esempio, sg-abcd1234). È possibile utilizzarlo quando si crea il sistema di bilanciamento del carico.

Crea un Application Load Balancer di Amazon EC2, due gruppi target e listener (console)

Per utilizzare la console Amazon EC2 per creare un Application Load Balancer di Amazon EC2:

  1. Accedi AWS Management Console e apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Selezionare Sistemi di bilanciamento del carico nel riquadro di navigazione.

  3. Seleziona Crea sistema di bilanciamento del carico.

  4. Scegli Application Load Balancer, quindi scegli Create (Crea).

  5. In Name (Nome), immetti il nome del sistema di bilanciamento del carico.

  6. In Scheme (Schema), scegli internet-facing.

  7. In IP address type (Tipo di indirizzo IP), scegli ipv4.

  8. (Facoltativo) Configurare una seconda porta listener per il sistema di bilanciamento del carico. È possibile eseguire test di convalida della distribuzione utilizzando il traffico di test che viene servito a questa porta.

    1. In Load Balancer Protocol, (Protocollo del sistema di bilanciamento del carico), scegliere Add listener (Aggiungi listener).

    2. In Load Balancer Protocol (Protocollo del sistema di bilanciamento del carico) per il secondo listener, scegli HTTP.

    3. In Load Balancer Port (Porta del sistema di bilanciamento del carico), immetti 8080.

  9. In Availability Zones (Zone di disponibilità), in VPC, scegliere il VPC predefinito, quindi selezionare le due sottoreti predefinite che si desidera utilizzare.

  10. Seleziona Next: Configure Security Settings (Fase successiva: configurazione delle impostazioni di sicurezza).

  11. Seleziona Next: Configure Security Groups (Fase successiva: configurazione dei gruppi di sicurezza).

  12. Scegliere Select an existing security group (Seleziona un gruppo di sicurezza esistente), scegliere il gruppo di sicurezza predefinito, quindi annotare il relativo ID.

  13. Seleziona Successivo: Configurazione del routing.

  14. In Target group (Gruppo di destinazione), scegliere New target group (Nuovo gruppo di destinazione) e configurare il primo gruppo di destinazione:

    1. In Name (Nome), immetti il nome di un gruppo di destinazione (ad esempio, target-group-1).

    2. In Target type (Tipo di destinazione), scegli IP.

    3. In Protocol (Protocollo), scegli HTTP. In Port (Porta), immetti 80.

    4. Seleziona Next: Register Targets (Fase successiva: registrazione delle destinazioni).

  15. Scegli Next: Review (Fase successiva: revisione), quindi seleziona Create (Crea).

Per creare un secondo gruppo di destinazione per il sistema di bilanciamento del carico
  1. Dopo aver effettuato il provisioning del sistema di bilanciamento del carico, apri la console Amazon EC2. Seleziona Gruppi di destinazioni nel riquadro di navigazione.

  2. Scegliere Crea gruppo target.

  3. In Name (Nome), immetti il nome di un gruppo di destinazione (ad esempio, target-group-2).

  4. In Target type (Tipo di destinazione), scegli IP.

  5. In Protocol (Protocollo), scegli HTTP. In Port (Porta), immetti 80.

  6. In VPC, scegli il VPC predefinito.

  7. Scegli Crea.

    Nota

    È necessario creare due gruppi target per il sistema di bilanciamento del carico per consentire l'esecuzione della distribuzione Amazon ECS. Utilizzi l'ARN di uno dei tuoi gruppi target quando crei il tuo servizio Amazon ECS. Per ulteriori informazioni, consulta la Fase 4: Creare un servizio Amazon ECS nella Amazon ECS User Guide.

Crea un Application Load Balancer di Amazon EC2, due gruppi target e listener (CLI)

Per creare un Application Load Balancer utilizzando: AWS CLI

  1. Utilizzate il create-load-balancercomando per creare un Application Load Balancer. Specificare due sottoreti che non si trovano nella stessa zona di disponibilità e un gruppo di sicurezza.

    aws elbv2 create-load-balancer --name bluegreen-alb \ --subnets subnet-abcd1234 subnet-abcd5678 --security-groups sg-abcd1234 --region us-east-1

    L'output include l'Amazon Resource Name (ARN) del sistema di bilanciamento del carico, con il formato seguente:

    arn:aws:elasticloadbalancing:region:aws_account_id:loadbalancer/app/bluegreen-alb/e5ba62739c16e642
  2. Usa il create-target-groupcomando per creare il tuo primo gruppo target. CodeDeploy indirizza il traffico di questo gruppo target verso l'attività originale o sostitutiva impostata nel tuo servizio.

    aws elbv2 create-target-group --name bluegreentarget1 --protocol HTTP --port 80 \ --target-type ip --vpc-id vpc-abcd1234 --region us-east-1

    L'output include l'ARN del primo gruppo target, con il seguente formato:

    arn:aws:elasticloadbalancing:region:aws_account_id:targetgroup/bluegreentarget1/209a844cd01825a4
  3. Usa il create-target-groupcomando per creare il tuo secondo gruppo target. CodeDeploy indirizza il traffico del gruppo target verso il set di attività che non è servito dal primo gruppo target. Ad esempio, se il primo gruppo target instrada il traffico al set di attività originale, questo gruppo target instrada il traffico al set di attività di sostituzione.

    aws elbv2 create-target-group --name bluegreentarget2 --protocol HTTP --port 80 \ --target-type ip --vpc-id vpc-abcd1234 --region us-east-1

    L'output include l'ARN del secondo gruppo target, con il seguente formato:

    arn:aws:elasticloadbalancing:region:aws_account_id:targetgroup/bluegreentarget2/209a844cd01825a4
  4. Utilizzare il comando create-listener per creare un listener con una regola predefinita che inoltra il traffico di produzione alla porta 80.

    aws elbv2 create-listener --load-balancer-arn arn:aws:elasticloadbalancing:region:aws_account_id:loadbalancer/app/bluegreen-alb/e5ba62739c16e642 \ --protocol HTTP --port 80 \ --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:aws_account_id:targetgroup/bluegreentarget1/209a844cd01825a4 --region us-east-1

    L'output include l'ARN del listener, con il formato seguente:

    arn:aws:elasticloadbalancing:region:aws_account_id:listener/app/bluegreen-alb/e5ba62739c16e642/665750bec1b03bd4
  5. (Facoltativo) Utilizzare il comando create-listener per creare un secondo listener con una regola predefinita che inoltra il traffico di test alla porta 8080. È possibile eseguire test di convalida della distribuzione utilizzando il traffico di test servito da questa porta.

    aws elbv2 create-listener --load-balancer-arn arn:aws:elasticloadbalancing:region:aws_account_id:loadbalancer/app/bluegreen-alb/e5ba62739c16e642 \ --protocol HTTP --port 8080 \ --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:aws_account_id:targetgroup/bluegreentarget2/209a844cd01825a4 --region us-east-1

    L'output include l'ARN del listener, con il formato seguente:

    arn:aws:elasticloadbalancing:region:aws_account_id:listener/app/bluegreen-alb/e5ba62739c16e642/665750bec1b03bd4