Configure un balanceador de carga, grupos objetivo y agentes de escucha para las implementaciones de CodeDeploy Amazon ECS - AWS CodeDeploy

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configure un balanceador de carga, grupos objetivo y agentes de escucha para las implementaciones de CodeDeploy Amazon ECS

Antes de ejecutar una implementación con la plataforma de informática de Amazon ECS, debe crear un equilibrador de carga de aplicación o un equilibrador de carga de red, dos grupos de destino y uno o dos oyentes. En este tema se muestra cómo crear un equilibrador de carga de aplicación. Para obtener más información, consulte Antes de empezar una implementación de Amazon ECS.

Uno de los grupos de destino dirige el tráfico al conjunto de tareas original de la aplicación de Amazon ECS. El otro grupo de destino dirige el tráfico a su conjunto de tareas de sustitución. Durante la implementación, CodeDeploy crea un conjunto de tareas de reemplazo y redirige el tráfico del conjunto de tareas original al nuevo. CodeDeploy determina qué grupo objetivo se utiliza para cada conjunto de tareas.

El equilibrador de carga utiliza un oyente para dirigir el tráfico hacia los grupos de destino. Es obligatorio un agente de escucha de producción. Puede especificar un agente de escucha de prueba opcional que dirija el tráfico hacia conjunto de tareas de sustitución mientras ejecuta las pruebas de validación.

El equilibrador de carga debe utilizar una VPC con dos subredes públicas en diferentes zonas de disponibilidad. Los siguientes pasos muestran cómo confirmar la VPC predeterminada, crear un equilibrador de carga de aplicación de Amazon EC2 y, a continuación, crear dos grupos de destino para el equilibrador de carga. Para obtener más información, consulte Grupos de destino de los equilibradores de carga de red.

Verificación de la VPC predeterminada, las subredes públicas y el grupo de seguridad

En este tema se muestra cómo crear un equilibrador de carga de aplicación de Amazon EC2, dos grupos de destino y dos puertos que se pueden utilizar durante una implementación de Amazon ECS. Uno de los puertos es opcional y solo es necesario si dirige el tráfico a un puerto de prueba para las pruebas de validación durante la implementación.

  1. Inicie sesión en la consola de Amazon VPC AWS Management Console y ábrala en https://console.aws.amazon.com/vpc/.

  2. Compruebe la VPC predeterminada que se va a utilizar. En el panel de navegación, elija Your VPCs (Sus VPC). Fíjese en qué VPC muestra Yes (Sí) en la columna Default VPC (VPC predeterminada). Esta será su VPC predeterminada. Contiene las subredes predeterminadas que utiliza.

  3. Elija Subnets (Subredes). Anote los ID de subred de dos subredes que muestran Yes (Sí) en la columna Default subnet (Subred predeterminada). Puede utilizar estos ID al crear el balanceador de carga.

  4. Elija cada subred y, a continuación, elija la pestaña Description (Descripción). Compruebe que las subredes que desea utilizar se encuentran en diferentes zonas de disponibilidad.

  5. Elija las subredes y, a continuación, elija la pestaña Route Table (Tabla de ruteo). Para verificar que cada subred que desea utilizar es una subred pública, confirme que la tabla de enrutamiento incluye una fila con un enlace a una gateway de Internet.

  6. Inicie sesión en la consola Amazon EC2 AWS Management Console y ábrala en https://console.aws.amazon.com/ec2/.

  7. En el panel de navegación, elija Security Groups (Grupos de seguridad).

  8. Compruebe que el grupo de seguridad que desee utilizar esté disponible y anote su ID de grupo (por ejemplo, sg-abcd1234). Puede utilizarlo al crear el balanceador de carga.

Creación de un equilibrador de carga de aplicación de Amazon EC2, dos grupos de destino y oyentes (consola)

Para utilizar la consola de Amazon EC2 para crear un equilibrador de carga de aplicación de Amazon EC2:

  1. Inicie sesión en la consola Amazon EC2 AWS Management Console y ábrala en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, seleccione Equilibradores de carga.

  3. Elija Create Load Balancer (Crear equilibrador de carga).

  4. Elija Equilibrador de carga de aplicación y a continuación, Crear.

  5. En Nombre, especifique el nombre del equilibrador de carga.

  6. En Scheme (Esquema), elija Internet-facing (Expuesto a Internet).

  7. En IP address type (Tipo de dirección IP), elija ipv4.

  8. Configure un segundo puerto de agente de escucha para el balanceador de carga (opcional). Puede ejecutar pruebas de validación de implementación con el tráfico de prueba que se ofrece a este puerto.

    1. En Load Balancer Protocol (Protocolo de balanceador de carga), elija Add listener (Añadir agente de escucha).

    2. En Protocolo de equilibrador de carga del segundo agente de escucha, elija HTTP.

    3. En Puerto del equilibrador de carga, escriba 8080.

  9. En Availability Zones (Zonas de disponibilidad), en VPC, elija la VPC predeterminada y, a continuación, seleccione las dos subredes predeterminadas que desea utilizar.

  10. Elija Next: Configure Security Settings (Siguiente: Establecer la configuración de seguridad).

  11. Elija Next: Configure Security Groups (Siguiente: configurar grupos de seguridad).

  12. Elija Select an existing security group (Seleccionar un grupo de seguridad existente), después el grupo de seguridad predeterminado y, a continuación, anote su ID.

  13. Elija Next: Configure Routing (Siguiente: Configuración del enrutamiento).

  14. En Target group (Grupo de destino), elija New target group (Nuevo grupo de destino) y configure su primer grupo de destino:

    1. En Name (Nombre), introduzca un nombre de grupo de destino (por ejemplo, target-group-1).

    2. En Target type (Tipo de destino), elija IP.

    3. En Protocol (Protocolo), elija HTTP. En Port (Puerto), introduzca 80.

    4. Elija Next: Register Targets (Siguiente: Registrar destinos).

  15. Elija Next: Review (Siguiente: análisis) y, a continuación, seleccione Create (Crear).

Para crear un segundo grupo de destino para el equilibrador de carga
  1. Después de aprovisionar el equilibrador de carga, abra la consola de Amazon EC2. En el panel de navegación, elija Target Groups.

  2. Elija Crear grupo de destino.

  3. En Name (Nombre), introduzca un nombre de grupo de destino (por ejemplo, target-group-2).

  4. En Target type (Tipo de destino), elija IP.

  5. En Protocol (Protocolo), elija HTTP. En Port (Puerto), introduzca 80.

  6. En VPC, elija la VPC predeterminada.

  7. Seleccione Crear.

    nota

    Para que la implementación de Amazon ECS se ejecute, debe tener dos grupos de destino creados para el equilibrador de carga. Puede utilizar el ARN de uno de los grupos de destino al crear su servicio de Amazon ECS. Para obtener más información, consulte Paso 4: Creación de un servicio de Amazon ECS en la Guía del usuario de Amazon ECS.

Creación de un equilibrador de carga de aplicación de Amazon EC2, dos grupos de destino y oyentes (CLI)

Para crear un equilibrador de carga de aplicación con la AWS CLI:

  1. Utilice el create-load-balancercomando para crear un Application Load Balancer. Especifique dos subredes que no estén en la misma zona de disponibilidad y un grupo de seguridad.

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

    El resultado contiene el nombre de recurso de Amazon (ARN) del balanceador de carga con el siguiente formato:

    arn:aws:elasticloadbalancing:region:aws_account_id:loadbalancer/app/bluegreen-alb/e5ba62739c16e642
  2. Utilice el create-target-groupcomando para crear su primer grupo objetivo. CodeDeploy dirige el tráfico de este grupo objetivo al conjunto de tareas original o de reemplazo de su servicio.

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

    El resultado contiene el ARN del primer grupo de destino con el siguiente formato:

    arn:aws:elasticloadbalancing:region:aws_account_id:targetgroup/bluegreentarget1/209a844cd01825a4
  3. Usa el create-target-groupcomando para crear tu segundo grupo objetivo. CodeDeploy enruta el tráfico del grupo objetivo al conjunto de tareas que no atiende el primer grupo objetivo. Por ejemplo, si su primer grupo de destino dirige el tráfico al conjunto de tareas original, este grupo de destino dirige el tráfico al conjunto de tareas de sustitución.

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

    El resultado contiene el ARN del segundo grupo de destino con el siguiente formato:

    arn:aws:elasticloadbalancing:region:aws_account_id:targetgroup/bluegreentarget2/209a844cd01825a4
  4. Utilice el comando create-listener para crear un agente de escucha con una regla predeterminada que reenvíe el tráfico de producción al puerto 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

    El resultado incluye el ARN del agente de escucha con el siguiente formato:

    arn:aws:elasticloadbalancing:region:aws_account_id:listener/app/bluegreen-alb/e5ba62739c16e642/665750bec1b03bd4
  5. Utilice el comando create-listener para crear un segundo agente de escucha con una regla predeterminada que reenvíe el tráfico de prueba al puerto 8080 (opcional). Puede ejecutar pruebas de validación de implementación con el tráfico de prueba que se ofrece a este puerto.

    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

    El resultado incluye el ARN del agente de escucha con el siguiente formato:

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