Ejemplos para utilizar Elastic Load Balancing con la AWS CLI
Use la AWS Command Line Interface (AWS CLI) para asociar, desasociar y describir los equilibradores de carga y los grupos de destino, agregar y eliminar comprobaciones de estado de Elastic Load Balancing, y cambiar las zonas de disponibilidad que estén habilitadas.
En este tema se muestran ejemplos de comandos de la AWS CLI que realizan tareas comunes para Amazon EC2 Auto Scaling.
importante
Contenido
Asociación de su grupo de destino o equilibrador de carga clásico
Descripción de sus grupos de destino o equilibradores de carga clásicos
Adición de comprobaciones de estado de Elastic Load Balancing
Desasociación de su grupo de destino o equilibrador de carga clásico
Eliminación de las comprobaciones de estado Elastic Load Balancing
Asociación de su grupo de destino o equilibrador de carga clásico
Utilice el siguiente comando create-auto-scaling-group
Sustituya los valores de muestra de --auto-scaling-group-name, --vpc-zone-identifier, --min-size y --max-size. Para la opción --launch-template, sustituya y my-launch-template por el nombre y la versión de una plantilla de lanzamiento para su grupo de escalado automático. Para la opción 1--traffic-sources, sustituya el ARN de muestra por el ARN de un grupo de destino para un equilibrador de carga de aplicación, un equilibrador de carga de red o un equilibrador de carga de puerta de enlace.
aws autoscaling create-auto-scaling-group --auto-scaling-group-namemy-asg\ --launch-template LaunchTemplateName=my-launch-template,Version='1' \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" \ --min-size1--max-size5\ --traffic-sources "Identifier=arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/12345678EXAMPLE1"
Use el comando attach-traffic-sources
El siguiente comando agrega otro grupo de destino al mismo grupo.
aws autoscaling attach-traffic-sources --auto-scaling-group-namemy-asg\ --traffic-sources "Identifier=arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/12345678EXAMPLE2"
Como alternativa, para asociar un equilibrador de carga clásico a su grupo, especifique las opciones --traffic-sources y --type cuando utilice create-auto-scaling-group o attach-traffic-sources, como en el siguiente ejemplo. Reemplace por el nombre de un equilibrador de carga clásico. Para la opción my-classic-load-balancer--type, especifique un valor de .elb
--traffic-sources "Identifier=my-classic-load-balancer" --type elb
Descripción de sus grupos de destino o equilibradores de carga clásicos
Para describir los equilibradores de carga o los grupos de destino asociados a su grupo de escalado automático, use el siguiente comando describe-traffic-sources por el nombre de su grupo. my-asg
aws autoscaling describe-traffic-sources --auto-scaling-group-namemy-asg
El ejemplo devuelve el ARN de los grupos de destino de Elastic Load Balancing que asoció al grupo de escalado automático.
{
"TrafficSources": [
{
"Identifier": "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/12345678EXAMPLE1",
"State": "InService",
"Type": "elbv2"
},
{
"Identifier": "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/12345678EXAMPLE2",
"State": "InService",
"Type": "elbv2"
}
]
}
Para obtener una explicación del campo State, consulte Verificación del estado de asociación del equilibrador de carga.
Adición de comprobaciones de estado de Elastic Load Balancing
Para agregar comprobaciones de estado de Elastic Load Balancing a las comprobaciones de estado que su grupo de escalado automático realiza en las instancias, use el siguiente comando update-auto-scaling-group como el valor de la opción ELB--health-check-type. Reemplace por el nombre de su grupo.my-asg
aws autoscaling update-auto-scaling-group --auto-scaling-group-namemy-asg\ --health-check-type "ELB"
Las instancias nuevas a menudo necesitan tiempo para una breve preparación antes de que puedan pasar una comprobación de estado. Si el período de gracia no proporciona suficiente tiempo de preparación, es posible que las instancias no aparezcan listas para servir tráfico. Amazon EC2 Auto Scaling podría considerar que esas instancias no están en buen estado y reemplazarlas.
Para actualizar el período de gracia de la comprobación de estado, utilice la opción --health-check-grace-period cuando use update-auto-scaling-group, como en el siguiente ejemplo. Reemplace 300 por el número de segundos para mantener las nuevas instancias en servicio antes de finalizarlas si se descubre que no están en buen estado.
--health-check-grace-period300
Para obtener más información, consulte Comprobaciones de estado para instancias en un grupo de escalado automático.
Cambio de sus zonas de disponibilidad
Cambiar las zonas de disponibilidad tiene algunas limitaciones que debe conocer. Para obtener más información, consulte Agregar una zona de disponibilidad.
Cambio de las zonas de disponibilidad de un equilibrador de carga de aplicación o un equilibrador de carga de red
-
Antes de cambiar las zonas de disponibilidad del equilibrador de cargas, se recomienda actualizar primero las zonas de disponibilidad del grupo de escalado automático para comprobar que hay disponibilidad para los tipos de instancia en las zonas especificadas.
Para actualizar las zonas de disponibilidad de su grupo de escalado automático, utilice el siguiente comando update-auto-scaling-group
. Sustituya los ID de las subredes de muestra por los ID de las subredes de las zonas de disponibilidad para habilitarlas. Las subredes especificadas sustituyen a las subredes habilitadas anteriormente. Reemplace por el nombre de su grupo.my-asgaws autoscaling update-auto-scaling-group --auto-scaling-group-namemy-asg\ --vpc-zone-identifier "subnet-41767929,subnet-cb663da2,subnet-8360a9e7" -
Utilice el siguiente comando describe-auto-scaling-groups
para verificar que se hayan lanzado las instancias en las nuevas subredes. Si las instancias se han lanzado, verá una lista de las instancias y sus estados. Reemplace por el nombre de su grupo.my-asgaws autoscaling describe-auto-scaling-groups --auto-scaling-group-namemy-asg -
Use el siguiente comando set-subnets
para especificar las subredes de su equilibrador de carga. Sustituya los ID de las subredes de muestra por los ID de las subredes de las zonas de disponibilidad para habilitarlas. Puede especificar solo una subred por zona de disponibilidad. Las subredes especificadas sustituyen a las subredes habilitadas anteriormente. Reemplace por el ARN de su equilibrador de carga.my-lb-arnaws elbv2 set-subnets --load-balancer-arnmy-lb-arn\ --subnetssubnet-41767929subnet-cb663da2subnet-8360a9e7
Cambio de las zonas de disponibilidad de un equilibrador de carga clásico
-
Antes de cambiar las zonas de disponibilidad del equilibrador de cargas, se recomienda actualizar primero las zonas de disponibilidad del grupo de escalado automático para comprobar que hay disponibilidad para los tipos de instancia en las zonas especificadas.
Para actualizar las zonas de disponibilidad de su grupo de escalado automático, utilice el siguiente comando update-auto-scaling-group
. Sustituya los ID de las subredes de muestra por los ID de las subredes de las zonas de disponibilidad para habilitarlas. Las subredes especificadas sustituyen a las subredes habilitadas anteriormente. Reemplace por el nombre de su grupo.my-asgaws autoscaling update-auto-scaling-group --auto-scaling-group-namemy-asg\ --vpc-zone-identifier "subnet-41767929,subnet-cb663da2" -
Utilice el siguiente comando describe-auto-scaling-groups
para verificar que se hayan lanzado las instancias en las nuevas subredes. Si las instancias se han lanzado, verá una lista de las instancias y sus estados. Reemplace por el nombre de su grupo.my-asgaws autoscaling describe-auto-scaling-groups --auto-scaling-group-namemy-asg -
Utilice el siguiente comando attach-load-balancer-to-subnets
para habilitar una nueva zona de disponibilidad para su equilibrador de carga clásico. Sustituya el ID de la subred de muestra por el ID de la subred de las zonas de disponibilidad para habilitarlas. Sustituya por el nombre de su equilibrador de carga.my-lbaws elb attach-load-balancer-to-subnets --load-balancer-namemy-lb\ --subnetssubnet-cb663da2Para deshabilitar una zona de disponibilidad, utilice el siguiente comando detach-load-balancer-from-subnets
. Sustituya el ID de la subred de muestra por el ID de la subred de las zonas de disponibilidad para deshabilitarlas. Sustituya por el nombre de su equilibrador de carga.my-lbaws elb detach-load-balancer-from-subnets --load-balancer-namemy-lb\ --subnetssubnet-8360a9e7
Desasociación de su grupo de destino o equilibrador de carga clásico
El siguiente comando detach-traffic-sources
Para la opción --auto-scaling-group-name, reemplace por el nombre de su grupo. Para la opción my-asg--traffic-sources, sustituya el ARN de muestra por el ARN de un grupo de destino para un equilibrador de carga de aplicación, un equilibrador de carga de red o un equilibrador de carga de puerta de enlace.
aws autoscaling detach-traffic-sources --auto-scaling-group-namemy-asg\ --traffic-sources "Identifier=arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456"
Para separar un equilibrador de carga clásico de su grupo, especifique las opciones --traffic-sources y --type, como en el siguiente ejemplo. Reemplace por el nombre de un equilibrador de carga clásico. Para la opción my-classic-load-balancer--type, especifique un valor de .elb
--traffic-sources "Identifier=my-classic-load-balancer" --type elb
Eliminación de las comprobaciones de estado Elastic Load Balancing
Para eliminar las comprobaciones de estado de Elastic Load Balancing de su grupo de escalado automático, use el siguiente comando update-auto-scaling-group como el valor de la opción EC2--health-check-type. Reemplace por el nombre de su grupo. my-asg
aws autoscaling update-auto-scaling-group --auto-scaling-group-namemy-asg\ --health-check-type "EC2"
Para obtener más información, consulte Comprobaciones de estado para instancias en un grupo de escalado automático.
Comandos heredados
Los siguientes ejemplos muestran cómo usar comandos de CLI heredados para asociar, desasociar y describir equilibradores de carga y grupos de destino. Permanecen en este documento como referencia para cualquier cliente que quiera usarlos. Seguimos admitiendo los comandos CLI antiguos, pero le recomendamos que utilice los nuevos comandos CLI “fuentes de tráfico”, que pueden asociar y desasociar varios tipos de fuentes de tráfico. Puede usar los comandos CLI heredados y los comandos CLI “fuentes de tráfico” en el mismo grupo de escalado automático.
Asociación de su grupo de destino
El siguiente comando create-auto-scaling-group
aws autoscaling create-auto-scaling-group --auto-scaling-group-namemy-asg\ --launch-template LaunchTemplateName=my-launch-template,Version='1' \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" \ --target-group-arns "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456" \ --min-size1--max-size5
El siguiente comando attach-load-balancer-target-groups
aws autoscaling attach-load-balancer-target-groups --auto-scaling-group-namemy-asg\ --target-group-arns "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456"
Asociación de su equilibrador de carga clásico
El siguiente comando create-auto-scaling-group
aws autoscaling create-auto-scaling-group --auto-scaling-group-namemy-asg\ --launch-configuration-namemy-launch-config\ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" \ --load-balancer-names "my-load-balancer" \ --min-size1--max-size5
El siguiente comando attach-load-balancers
aws autoscaling attach-load-balancers --auto-scaling-group-namemy-asg\ --load-balancer-namesmy-lb
Descripción de grupos de destino
Para describir los grupos de destino asociados a un grupo de escalado automático, utilice el comando describe-load-balancer-target-groupsmy-asg.
aws autoscaling describe-load-balancer-target-groups --auto-scaling-group-namemy-asg
Descripción de los equilibradores de carga clásicos
Para ver los equilibradores de carga clásicos asociados a un grupo de escalado automático, utilice el comando describe-load-balancersmy-asg.
aws autoscaling describe-load-balancers --auto-scaling-group-namemy-asg
Para desasociar un grupo de destino
El siguiente comando detach-load-balancer-target-groups
aws autoscaling detach-load-balancer-target-groups --auto-scaling-group-namemy-asg\ --target-group-arns "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456"
Desasociación de un equilibrador de carga clásico
El siguiente comando detach-load-balancers
aws autoscaling detach-load-balancers --auto-scaling-group-namemy-asg\ --load-balancer-namesmy-lb