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.
Introducción a los Equilibradores de carga de aplicación mediante AWS CLI
En este tutorial, encontrará una introducción práctica sobre a los equilibradores de carga de aplicaciones a través de la AWS CLI.
Contenido
Antes de empezar
-
Utilice el siguiente comando para asegurarse de que está ejecutando una versión de la AWS CLI compatible con los equilibradores de carga de aplicaciones.
aws elbv2 help
Si aparece un mensaje de error en el que se indica que elbv2 no es una opción válida, actualice AWS CLI. Para obtener más información, consulte Installing the AWS Command Line Interface en la Guía del usuario de AWS Command Line Interface.
-
Lance las instancias EC2 en una nube privada virtual (VPC). Asegúrese de que los grupos de seguridad de estas instancias permiten obtener acceso al puerto del oyente y al puerto de comprobación de estado. Para obtener más información, consulte Grupos de seguridad de destino.
-
Decida si va a crear un equilibrador de carga IPv4 o de doble pila. Utilice IPv4 si desea que los clientes se comuniquen con el equilibrador de carga solo mediante direcciones IPv4. Utilice la pila doble si desea que los clientes se comuniquen con el equilibrador de carga mediante direcciones IPv4 e IPv6. También puede utilizar la pila doble para comunicarse con destinos de backend, como aplicaciones IPv6 o subredes de pila doble, mediante IPv6.
-
Asegúrese de instalar un servidor web, como Apache o Internet Information Services (IIS), en cada instancia EC2. Asegúrese de que los grupos de seguridad de estas instancias permitan el acceso HTTP en el puerto 80.
Crear el equilibrador de carga
Para crear el primer equilibrador de carga, siga los pasos que se describen a continuación.
Para crear un equilibrador de carga
-
Utilice el comando create-load-balancer para crear un equilibrador de carga. Debe especificar dos subredes que no estén en la misma zona de disponibilidad.
aws elbv2 create-load-balancer --name
my-load-balancer
\ --subnets subnet-0e3f5cac72EXAMPLE
subnet-081ec835f3EXAMPLE
--security-groups sg-07e8ffd50fEXAMPLE
Utilice el comando create-load-balancer para crear un equilibrador de carga de
dualstack
.aws elbv2 create-load-balancer --name
my-load-balancer
\ --subnets subnet-0e3f5cac72EXAMPLE
subnet-081ec835f3EXAMPLE
--security-groups sg-07e8ffd50fEXAMPLE
--ip-address-typedualstack
El resultado contiene el nombre de recurso de Amazon (ARN) del equilibrador de carga con el siguiente formato:
arn:aws:elasticloadbalancing:
us-east-2
:123456789012
:loadbalancer/app/my-load-balancer/1234567890123456
-
Utilice el comando create-target-group para crear un grupo de destino al especificar la misma VPC que ha utilizado para las instancias de EC2.
Puede crear grupos de destinos de IPv4 e IPv6 para asociarlos a los equilibradores de carga de doble pila. El tipo de dirección IP del grupo de destino determina la versión de IP que utilizará el equilibrador de carga para comunicarse con tus destinos de backend y comprobar su estado.
aws elbv2 create-target-group --name
my-targets
--protocol HTTP --port 80 \ --vpc-id vpc-0598c7d356EXAMPLE
--ip-address-type
[ipv4 or ipv6]
El resultado contiene el ARN del grupo con este formato:
arn:aws:elasticloadbalancing:
us-east-2
:123456789012
:targetgroup/my-targets
/1234567890123456
-
Utilice el comando register-targets para registrar las instancias con el grupo de destino:
aws elbv2 register-targets --target-group-arn
targetgroup-arn
\ --targets Id=i-0abcdef1234567890
Id=i-1234567890abcdef0
-
Utilice el comando create-oyente para crear un oyente del equilibrador de carga con una regla predeterminada que reenvíe las solicitudes al grupo de destino:
aws elbv2 create-listener --load-balancer-arn
loadbalancer-arn
\ --protocol HTTP --port 80 \ --default-actions Type=forward,TargetGroupArn=targetgroup-arn
El resultado contiene el ARN del oyente con el siguiente formato:
arn:aws:elasticloadbalancing:
us-east-2
:123456789012
:listener/app/my-load-balancer
/1234567890123456
/1234567890123456
-
(Opcional) Puede comprobar el estado de los destinos registrados en el grupo de destino con este comando describe-target-health:
aws elbv2 describe-target-health --target-group-arn
targetgroup-arn
Agregar un oyente HTTPS
Si tiene un equilibrador de carga con un oyente HTTP, puede agregar un oyente HTTPS tal y como se indica a continuación.
Para agregar un oyente HTTPS a un equilibrador de carga
-
Cree un certificado SSL para usarlo con el equilibrador de carga a través de uno de estos métodos:
-
Cree o importe el certificado con AWS Certificate Manager (ACM). Para obtener más información, consulte Solicitud de un certificado o Importación de certificados en la Guía del usuario de AWS Certificate Manager.
-
Cargue el certificado con AWS Identity and Access Management (IAM). Para obtener más información, consulte Working with Server Certificates (Trabajar con certificados de servidores) en la Guía para el usuario de IAM.
-
-
Utilice el comando create-oyente para crear el oyente con una regla predeterminada que reenvíe las solicitudes al grupo de destino. Cuando cree un oyente HTTPS, deberá especificar un certificado SSL. Tenga en cuenta que puede especificar una política SSL que no sea la predeterminada a través de la opción
--ssl-policy
.aws elbv2 create-listener --load-balancer-arn
loadbalancer-arn
\ --protocol HTTPS --port 443 \ --certificates CertificateArn=certificate-arn
\ --default-actions Type=forward,TargetGroupArn=targetgroup-arn
Agregar direccionamiento basado en rutas
Si tiene un oyente con una regla predeterminada que reenvía solicitudes a un grupo de destino, puede agregar otra regla para que las reenvíe a un grupo de destino diferente en función de la dirección URL. Por ejemplo, puede direccionar las solicitudes generales a un grupo de destino y las solicitudes de presentación de imágenes a otro.
Para agregar una regla a un oyente usando un patrón de ruta
-
Utilice el comando create-target-group para crear un grupo de destino:
aws elbv2 create-target-group --name
my-targets
--protocol HTTP --port 80 \ --vpc-id vpc-0598c7d356EXAMPLE
-
Utilice el comando register-targets para registrar las instancias con el grupo de destino:
aws elbv2 register-targets --target-group-arn
targetgroup-arn
\ --targets Id=i-0abcdef1234567890
Id=i-1234567890abcdef0
-
Utilice el comando create-rule para agregar al oyente una regla que reenvíe las solicitudes al grupo de destino si la dirección URL se ajusta a un patrón específico:
aws elbv2 create-rule --listener-arn
listener-arn
--priority10
\ --conditions Field=path-pattern,Values='/img/*
' \ --actions Type=forward,TargetGroupArn=targetgroup-arn
Eliminar el equilibrador de carga
Cuando ya no necesite el equilibrador de carga ni el grupo de destino, puede eliminarlos tal y como se indica a continuación:
aws elbv2 delete-load-balancer --load-balancer-arn
loadbalancer-arn
aws elbv2 delete-target-group --target-group-arntargetgroup-arn