Usar um modelo de execução diferente para um tipo de instância - Amazon EC2 Auto Scaling

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usar um modelo de execução diferente para um tipo de instância

Além de usar vários tipos de instância, você também pode usar vários modelos de execução.

Por exemplo, digamos que você configure um grupo do Auto Scaling para aplicações de computação intensiva e queira incluir uma combinação de tipos de instância C5, C5a e C6g. No entanto, as instâncias C6g apresentam um processador AWS Graviton baseado na arquitetura Arm de 64 bits, enquanto as instâncias C5 e C5a são executadas em processadores Intel x86 de 64 bits. A AMI para instâncias C5 e C5a funciona para cada uma dessas instâncias, mas não em instâncias C6g. Para resolver o problema, use um modelo de execução diferente para as instâncias C6g. Você ainda pode usar o mesmo modelo de execução para instâncias C5 e C5a.

Esta seção contém procedimentos para usar o AWS CLI para realizar tarefas relacionadas ao uso de vários modelos de execução. No momento, esse recurso estará disponível somente se você usar a AWS CLI ou um SDK, e não está disponível no console.

Configurar um grupo do Auto Scaling para usar vários modelos de execução

Você pode configurar um grupo do Auto Scaling para usar vários modelos de execução, conforme mostrado nos exemplos a seguir.

Para configurar um novo grupo do Auto Scaling para usar vários modelos de execução (AWS CLI)

Use o comando create-auto-scaling-group. Por exemplo, o comando a seguir cria um novo grupo do Auto Scaling. Ele especifica os tipos de instância c5.large, c5a.large, e c6g.large e define um novo modelo de execução para o tipo de instância c6g.large para garantir que uma AMI apropriada seja usada para iniciar instâncias Arm. O Amazon EC2 Auto Scaling usa a ordem de tipos de instâncias para determinar qual tipo de instância usar primeiro ao atender à capacidade sob demanda.

aws autoscaling create-auto-scaling-group --cli-input-json file://~/config.json

O arquivo config.json contém o conteúdo a seguir.

{ "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":[ ] }
Para configurar um grupo do Auto Scaling existente para usar vários modelos de execução (AWS CLI)

Use o comando update-auto-scaling-group. Por exemplo, o comando a seguir atribui o modelo de execução chamado my-launch-template-for-arm ao tipo de instância c6g.large do grupo do Auto Scaling chamado my-asg.

aws autoscaling update-auto-scaling-group --cli-input-json file://~/config.json

O arquivo config.json contém o conteúdo a seguir.

{ "AutoScalingGroupName":"my-asg", "MixedInstancesPolicy":{ "LaunchTemplate":{ "Overrides":[ { "InstanceType":"c6g.large", "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-arm", "Version": "$Latest" } }, { "InstanceType":"c5.large" }, { "InstanceType":"c5a.large" } ] } } }
Para verificar os modelos de execução de um grupo do Auto Scaling

Use um dos seguintes comandos:

Você pode encontrar um exemplo de especificação de vários modelos de execução usando a seleção de tipo de instância baseada em atributos em um AWS CloudFormation modelo em re:POST.AWS