Configuración de un balanceador de carga de red - AWS Elastic Beanstalk

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.

Configuración de un balanceador de carga de red

Si ha habilitado el balanceador de carga, el entorno de AWS Elastic Beanstalk contará con un balanceador de carga Elastic Load Balancing para distribuir el tráfico entre las instancias en el entorno. Elastic Load Balancing admite varios tipos de balanceadores de carga. Para obtener más información sobre ellos, consulte la Guía de usuario de Elastic Load Balancing. Elastic Beanstalk puede crear un balanceador para usted o permitirle especificar un balanceador de carga compartido que haya creado.

En este tema se describe la configuración de un balanceador de carga de red que Elastic Beanstalk crea y dedica a su entorno. Para obtener más información sobre cómo configurar todos los tipos de balanceadores de carga compatibles con Elastic Beanstalk, consulte Balanceador de carga del entorno de Elastic Beanstalk.

nota

Solo es posible elegir el tipo de balanceador de carga de un entorno en el momento de su creación. Puede cambiar las opciones para administrar el comportamiento del balanceador de carga de un entorno en ejecución, pero no cambiar su tipo.

Introducción

Con un balanceador de carga de red, el agente de escucha predeterminado acepta las solicitudes TCP en el puerto 80 y las distribuye a las instancias del entorno. Puede configurar el comportamiento de las comprobaciones de estado, configurar el puerto de agente de escucha o agregar un agente de escucha a otro puerto.

nota

A diferencia de un balanceador de carga clásico o un balanceador de carga de aplicaciones, un balanceador de carga de red no puede tener oyentes HTTP o HTTPS de capa de aplicación (capa 7) HTTP o HTTPS. Solo admite la capa de transporte (capa 4) de los agentes de escucha TCP. El tráfico HTTP y HTTPS se pueden dirigir a su entorno a través de TCP. Para establecer las conexiones HTTPS seguras entre clientes web y su entorno, instale un certificado autofirmado en las instancias del entorno y configure las instancias para escuchar en el puerto correspondiente (por lo general, 443) y terminar las conexiones HTTPS. La configuración varía en función de la plataforma. Para obtener instrucciones, consulte Configuración de la terminación HTTPS en la instancia. A continuación, configure su balanceador de carga de red para añadir un agente de escucha que se asigne a un proceso que escuche en el puerto correspondiente.

Un balanceador de carga de red admite comprobaciones de estado activas. Estas comprobaciones se basan en mensajes a la ruta raíz (/). Además, un balanceador de carga de red admite comprobaciones de estado pasivas. Detecta automáticamente instancias backend defectuosas y direcciona el tráfico solo a las instancias con estado correcto.

Configuración de un balanceador de carga de red mediante la consola de Elastic Beanstalk

Puede utilizar la consola de Elastic Beanstalk para configurar los oyentes y los procesos de un balanceador de carga de red durante la creación del entorno o posteriormente, cuando el entorno se está ejecutando.

Para configurar un balanceador de carga de red en la consola de Elastic Beanstalk durante la creación del entorno
  1. Abra la consola de Elastic Beanstalk y, en la lista Regions (Regiones), seleccione su Región de AWS.

  2. En el panel de navegación, elija Entornos.

  3. Elija Create a new environment (Crear un nuevo entorno) para empezar a crear el entorno.

  4. En la página principal del asistente, antes de elegir Create environment (Crear entorno), elija Configure more options (Configurar más opciones).

  5. Elija la configuración predefinida High availability (Alta disponibilidad).

    Como alternativa, en la categoría de configuración Capacity (Capacidad), configure como tipo de entorno Load balanced (Balanceo de carga). Para obtener más información, consulte Capacidad.

  6. En la categoría de configuración Load balancer (Balanceador de carga), elija Edit (Editar).

  7. Seleccione la opción balanceador de carga de red si aún no está seleccionada.

    Página de configuración de Elastic Load Balancing: elección del tipo de balanceador de carga
  8. Realice los cambios en la configuración del balanceador de carga de red que requiera su entorno.

  9. Elija Save (Guardar) y haga los demás cambios de configuración que requiera su entorno.

  10. Seleccione Crear entorno.

Para configurar el balanceador de carga de red de un entorno en ejecución en la consola de Elastic Beanstalk
  1. Abra la consola de Elastic Beanstalk y, en la lista Regions (Regiones), seleccione su Región de AWS.

  2. En el panel de navegación, elija Environments (Entornos) y, a continuación, elija el nombre del entorno en la lista.

    nota

    Si tiene muchos entornos, utilice la barra de búsqueda para filtrar la lista de entornos.

  3. En el panel de navegación, elija Configuration (Configuración).

  4. En la categoría de configuración Load balancer (Balanceador de carga), elija Edit (Editar).

    nota

    Si la categoría de configuración Load balancer (Balanceador de carga) no tiene un botón Edit (Editar), el entorno no tiene un balanceador de carga. Para saber cómo configurar uno, consulte Cambiar el tipo de entorno

  5. Realice los cambios en la configuración del balanceador de carga de red que su entorno requiera.

  6. Para guardar los cambios, elija Aplicar en la parte inferior de la página.

Configuración del balanceador de carga de red

Oyentes

Utilice esta lista para especificar los agentes de escucha del balanceador de carga. Cada agente de escucha dirige a las instancias el tráfico entrante desde el cliente en un puerto a un proceso en sus instancias. Inicialmente, la lista muestra el agente de escucha predeterminado, que dirige el tráfico entrante en el puerto 80 a un proceso llamado default (predeterminado), que escucha en el puerto 80.

Configuración del balanceador de carga de red: lista de oyentes
Para configurar un agente de escucha existente
  1. Seleccione la casilla de verificación junto a la entrada correspondiente en la tabla y, a continuación, elija Actions (Acciones), Edit (Editar).

  2. Utilice el cuadro de diálogo Network Load Balancer listener (Agente de escucha de balanceador de carga de red) para modificar las opciones y a continuación elija Save (Guardar).

Para agregar un agente de escucha
  1. Elija Añadir oyente.

  2. En el cuadro de diálogo Network Load Balancer listener (Agente de escucha de balanceador de carga de red), configure las opciones requeridas y, a continuación, elija Add (Añadir).

Utilice el cuadro de diálogo Network Load Balancer listener (Agente de escucha del balanceador de carga de red) para configurar el puerto en el que el agente escucha el tráfico, y elija el proceso al que desea dirigir el tráfico (especificado por el puerto que el proceso escucha).

Cuadro de diálogo Listener del balanceador de carga de red

Processes

Utilice esta lista para especificar los procesos del balanceador de carga. Un proceso es un destino al que los agentes de escucha dirigen el tráfico. Cada agente de escucha dirige a las instancias el tráfico entrante desde el cliente en un puerto a un proceso en sus instancias. Inicialmente, la lista muestra el proceso predeterminado, que escucha el tráfico entrante en el puerto 80.

Configuración del balanceador de carga de red: lista de procesos

Puede editar la configuración de un proceso existente o agregar un nuevo proceso. Para empezar a editar un proceso de la lista o añadirle otro, utilice los pasos que se indican para la lista de agentes de escucha. Se abre el cuadro de diálogo Environment process (Proceso del entorno).

Cuadro de diálogo de configuración del proceso de entorno del balanceador de carga de red

Definición

Utilice estas opciones para definir el proceso: Name (Nombre) y el Process port (Puerto del proceso) en los que espera las solicitudes.

Configuración del cuadro de diálogo de proceso de balanceador de carga de red para nombre, puerto de escucha y puerto de proceso

Comprobación de estado

Utilice las opciones siguientes para configurar las comprobaciones de estado del proceso:

  • Interval (Intervalo): Intervalo de tiempo en segundos entre las comprobaciones de estado de una instancia individual.

  • Healthy threshold (Umbral de correcto): Número de comprobaciones de estado que deben pasar para que Elastic Load Balancing cambie el estado de una instancia. (Para el balanceador de carga de red, Unhealthy threshold (Umbral de estado incorrecto) es una configuración de solo lectura que siempre es igual al valor de umbral en buen estado).

  • Deregistration delay (Retraso de anulación del registro): intervalo de tiempo, en segundos, que debe esperarse a que se completen las solicitudes activas antes de anular el registro de una instancia.

Cuadro de diálogo de configuración del proceso de comprobación del estado del balanceador de carga de red
nota

La comprobación de estado de Elastic Load Balancing no afecta al comportamiento de comprobación de estado del grupo de Auto Scaling de un entorno. Las instancias que fallan en una comprobación de estado de Elastic Load Balancing no serán reemplazadas automáticamente por Amazon EC2 Auto Scaling, a menos que configure manualmente Amazon EC2 Auto Scaling para hacerlo. Para obtener más información, consulte Configuración de comprobaciones de estado de Auto Scaling.

Para obtener más información sobre las comprobaciones de estado y la forma en que influyen en el estado general del entorno, consulte Informes de estado básicos.

Ejemplo: balanceador de carga de red para un entorno con cifrado de extremo a extremo

En este ejemplo, la aplicación requiere el cifrado del tráfico integral. Para configurar el balanceador de carga de red de su entorno para satisfacer estos requisitos, configure el proceso predeterminado para escuchar el puerto 443, agregue un agente de escucha al puerto 443 que redirija el tráfico al proceso predeterminado y deshabilite el agente de escucha predeterminado.

Para configurar el balanceador de carga para este ejemplo
  1. Configuración del proceso predeterminado. Seleccione el proceso predeterminado y, a continuación, en Actions (Acciones), elija Edit (Editar). En Process port (Puerto del proceso), escriba 443.

    Ejemplo de configuración de balanceador de carga de red: configuración del proceso predeterminado para usar el puerto de proceso 443
  2. Adición de un agente de escucha de puerto 443. Añada un nuevo agente de escucha. En Puerto de agente de escucha, escriba 443. Para Process port (Puerto del proceso), asegúrese de que 443 está seleccionado.

    Ejemplo de configuración del balanceador de carga de red: agregar un detector de puerto 443

    Ahora puede ver el agente de escucha adicional en la lista.

    Ejemplo de configuración del balanceador de carga de red: lista de oyentes con dos oyentes
  3. Deshabilitar el agente de escucha predeterminado en el puerto 80. Para el agente de escucha predeterminado, desactive la opción Enabled (Habilitado).

    Ejemplo de configuración del balanceador de carga de red: deshabilitar el listener predeterminado

Configuración de un balanceador de carga de red mediante la CLI de EB

La CLI de EB le pida que elija el tipo de balanceador de carga cuando se ejecuta eb create.

$ eb create Enter Environment Name (default is my-app): test-env Enter DNS CNAME prefix (default is my-app): test-env-DLW24ED23SF Select a load balancer type 1) classic 2) application 3) network (default is 1): 3

También puede especificar un tipo de balanceador de carga con la opción --elb-type.

$ eb create test-env --elb-type network

Espacios de nombres del balanceador de carga de red

Puede encontrar la configuración relacionada con balanceadores de carga de red en los siguientes espacios de nombres:

  • aws:elasticbeanstalk:environment: elija el tipo de balanceador de carga para el entorno. El valor de un balanceador de carga de red es network.

  • aws:elbv2:listener — Configure los oyentes en el balanceador de carga de red. Estos valores se corresponden con los de aws:elb:listener en los balanceadores de carga clásicos.

  • aws:elasticbeanstalk:environment:process: configure las comprobaciones de estado y especifique el puerto y el protocolo de los procesos que se ejecutan en las instancias del entorno. Los valores del puerto y del protocolo se asignan a los valores del puerto y del protocolo de la instancia especificados en aws:elb:listener para un agente de escucha de un balanceador de tipo Classic Load Balancer. Los valores de la comprobación de estado se corresponden con los valores de los espacios de nombres aws:elb:healthcheck y aws:elasticbeanstalk:application.

ejemplo
.ebextensions/network-load-balancer.config

Para comenzar a utilizar un balanceador de carga de red, utilice un archivo de configuración para establecer el tipo de balanceador de carga en network.

option_settings: aws:elasticbeanstalk:environment: LoadBalancerType: network
nota

Solo puede establecer el tipo de balanceador de carga durante la creación del entorno.

ejemplo
.ebextensions/nlb-default-process.config

El siguiente archivo de configuración modifica los ajustes de comprobación de estado del proceso predeterminado.

option_settings: aws:elasticbeanstalk:environment:process:default: DeregistrationDelay: '20' HealthCheckInterval: '10' HealthyThresholdCount: '5' UnhealthyThresholdCount: '5' Port: '80' Protocol: TCP
ejemplo .ebextensions/nlb-secure-listener.config

El siguiente archivo de configuración agrega un agente de escucha para el tráfico seguro en el puerto 443 y un proceso de destino coincidente que escucha en el puerto 443.

option_settings: aws:elbv2:listener:443: DefaultProcess: https ListenerEnabled: 'true' aws:elasticbeanstalk:environment:process:https: Port: '443'

La opción DefaultProcess se denomina de esta forma debido a los balanceadores de carga de aplicaciones, que pueden tener agentes de escucha no predeterminados en el mismo puerto correspondiente al tráfico a rutas específicas (consulte Equilibrador de carga de aplicación para obtener más información). Para un Network Load Balancer, la opción especifica el único proceso de destino de este agente de escucha.

En este ejemplo, hemos denominado al proceso https porque escucha el tráfico seguro (HTTPS). El agente de escucha envía el tráfico al proceso en el puerto designado mediante el protocolo TCP, porque un Network Load Balancer solo funciona con TCP. Esto es correcto, porque el tráfico de red HTTP y HTTPS está implemento sobre TCP.