Utilización de plantillas de lanzamiento múltiples
Además de utilizar varios tipos de instancia, también puede utilizar varias plantillas de lanzamiento.
Por ejemplo, supongamos que configura un grupo de escalado automático para aplicaciones de uso informático intensivo y desea incluir una combinación de tipos de instancias C5, C5a y C6g. Sin embargo, las instancias C6g cuentan con un procesador Graviton de AWS basado en la arquitectura ARM de 64 bits, mientras que las instancias C5 y C5a se ejecutan en procesadores Intel x86 de 64 bits. Las AMI para las instancias C5 y C5a funcionan en ambos tipos de instancias, pero no en instancias C6g. Para solucionar este problema, use una plantilla de lanzamiento diferente para las instancias de C6g. Puede seguir utilizando la misma plantilla de lanzamiento para las instancias C5 y C5a.
Esta sección contiene procedimientos para utilizar la AWS CLI para realizar tareas relacionadas con el uso de múltiples plantillas de lanzamiento. Actualmente, esta característica solo está disponible si utiliza la AWS CLI o un SDK, y no está disponible desde la consola.
Contenido
Configuración de un grupo de escalado automático para utilizar varias plantillas de lanzamiento
Puede configurar un grupo de escalado automático para que utilice varias plantillas de lanzamiento, como se muestra en los siguientes ejemplos.
Configuración de un nuevo grupo de escalado automático para que utilice varias plantillas de lanzamiento (AWS CLI)
Utilice el comando create-auto-scaling-groupc5.large, c5a.large y c6g.large, y define una nueva plantilla de lanzamiento para el tipo de instancias c6g.large, para asegurarse de que se utiliza una AMI adecuada para lanzar instancias de ARM. Amazon EC2 Auto Scaling utiliza el orden de los tipos de instancias para determinar qué tipo de instancias se utilizará en primer lugar al cumplir con la capacidad en diferido.
aws autoscaling create-auto-scaling-group --cli-input-jsonfile://~/config.json
El archivo config.json contiene la salida siguiente.
{ "AutoScalingGroupName":"my-asg", "MixedInstancesPolicy":{ "LaunchTemplate":{ "LaunchTemplateSpecification":{ "LaunchTemplateName":"my-launch-template-for-x86", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c6g.large", "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-arm", "Version": "$Latest" } }, { "InstanceType":"c5.large" }, { "InstanceType":"c5a.large" } ] }, "InstancesDistribution":{ "OnDemandBaseCapacity":1, "OnDemandPercentageAboveBaseCapacity":50, "SpotAllocationStrategy": "capacity-optimized" } }, "MinSize":1, "MaxSize":5, "DesiredCapacity":3, "VPCZoneIdentifier":"subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "Tags":[ ] }
Configuración de un grupo de escalado automático existente para que utilice varias plantillas de lanzamiento (AWS CLI)
Utilice el comando update-auto-scaling-group al tipo de my-launch-template-for-arm instancia del grupo de escalado automático denominado c6g.large.my-asg
aws autoscaling update-auto-scaling-group --cli-input-jsonfile://~/config.json
El archivo config.json contiene la salida siguiente.
{ "AutoScalingGroupName":"my-asg", "MixedInstancesPolicy":{ "LaunchTemplate":{ "Overrides":[ { "InstanceType":"c6g.large", "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-arm", "Version": "$Latest" } }, { "InstanceType":"c5.large" }, { "InstanceType":"c5a.large" } ] } } }
Cómo configurar un nuevo grupo de escalado automático para utilizar varias plantillas de lanzamiento con una selección del tipo de instancia basada en atributos (AWS CLI)
Utilice el comando create-auto-scaling-group
aws autoscaling create-auto-scaling-group --cli-input-jsonfile://~/config.json
El archivo config.json contiene la salida siguiente.
{ "AutoScalingGroupName":"my-asg", "MixedInstancesPolicy":{ "LaunchTemplate":{ "LaunchTemplateSpecification":{ "LaunchTemplateName":"my-launch-template-for-arm", "Version":"$Latest" }, "Overrides":[ { "InstanceRequirements": { "VCpuCount": {"Min":2}, "MemoryMiB": {"Min":2048}, "CpuManufacturers": ["amazon-web-services"] } }, { "InstanceRequirements": { "VCpuCount": {"Min":2}, "MemoryMiB": {"Min":2048}, "CpuManufacturers": ["intel", "amd"] }, "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-x86", "Version": "$Latest" } } ] }, "InstancesDistribution":{ "OnDemandPercentageAboveBaseCapacity":0, "SpotAllocationStrategy": "price-capacity-optimized" } }, "MinSize":1, "MaxSize":10, "DesiredCapacity":6, "VPCZoneIdentifier":"subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "Tags":[ ] }
Para verificar las plantillas de lanzamiento para un grupo de Auto Scaling
Utilice uno de los siguientes comandos:
-
describe-auto-scaling-groups
(AWS CLI) -
Get-ASAutoScalingGroup (AWS Tools for Windows PowerShell)
Recursos relacionados
Puede encontrar un ejemplo de especificación de varias plantillas de inicialización mediante la selección del tipo de instancia basada en atributos en una plantilla CloudFormation en AWS re:Post