

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á.

# Grupos do Auto Scaling com vários tipos de instâncias e opções de compra
<a name="ec2-auto-scaling-mixed-instances-groups"></a>

Você pode iniciar e escalar automaticamente uma frota de instâncias sob demanda e instâncias spot em um único grupo do Auto Scaling. Além de receber descontos pelo uso de instâncias spot, é possível usar instâncias reservadas ou um Savings Plans para receber descontos no preço normal de instância sob demanda. Esses fatores ajudam você a otimizar sua economia de custos para instâncias do EC2 e a obter a escalabilidade e o desempenho desejados para sua aplicação.

As instâncias spot são capacidade de reserva disponível com grandes descontos em comparação com o preço do EC2 On-Demand. As Instâncias spot são uma opção econômica se houver flexibilidade quanto ao momento em que as aplicações serão executadas e se as aplicações poderão ser interrompidas. Você pode usar Instâncias spot para várias aplicações flexíveis e tolerantes a falhas. Os exemplos incluem servidores web sem estado, endpoints de API, aplicativos de big data e análise, cargas de trabalho em contêineres, CI/CD pipelines, computação de alto desempenho e alto rendimento (HPC/HTC), cargas de trabalho de renderização e outras cargas de trabalho flexíveis.

Para obter mais informações sobre as opções de compra, consulte [Opções de compra de instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html) no *Guia do usuário do Amazon EC2*.

**Topics**
+ [Visão geral da configuração para criar um grupo de instâncias mistas](mixed-instances-groups-set-up-overview.md)
+ [Estratégias de alocação para vários tipos de instância](allocation-strategies.md)
+ [Crie um grupo de instâncias mistas usando a seleção de tipo de instância baseada em atributos](create-mixed-instances-group-attribute-based-instance-type-selection.md)
+ [Criar um grupo misto de instâncias escolhendo manualmente os tipos de instância](create-mixed-instances-group-manual-instance-type-selection.md)
+ [Configurar um grupo do Auto Scaling para usar ponderação da instância](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md)
+ [Usar vários modelos de execução](ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.md)

# Visão geral da configuração para criar um grupo de instâncias mistas
<a name="mixed-instances-groups-set-up-overview"></a>

Este tópico fornece uma visão geral e as melhores práticas para criar um grupo de instâncias mistas.

**Topics**
+ [Visão geral do](#mixed-instances-groups-overview)
+ [Flexibilidade de tipo da instância](#mixed-instances-group-instance-flexibility)
+ [Flexibilidade da zona de disponibilidade](#mixed-instances-group-az-flexibility)
+ [Preço máximo do spot](#mixed-instances-group-spot-max-price)
+ [Rebalanceamento proativo de capacidade](#use-capacity-rebalancing)
+ [Comportamento do ajuste de escala](#mixed-instances-group-scaling-behavior)
+ [Disponibilidade regional dos tipos de instância](#setup-overview-regional-availability-of-instance-types)
+ [Recursos relacionados](#setup-overview-related-resources)
+ [Limitações](#setup-overview-limitations)

## Visão geral do
<a name="mixed-instances-groups-overview"></a>

Para criar um grupo de instâncias mistas, você tem duas opções:
+ [Seleção de tipo de instância com base em atributos](create-mixed-instances-group-attribute-based-instance-type-selection.md) — Defina seus requisitos de computação para escolher seus tipos de instância automaticamente com base em seus atributos de instância específicos.
+ [Seleção manual do tipo de instância](create-mixed-instances-group-manual-instance-type-selection.md) — Escolha manualmente os tipos de instância adequados ao seu workload.

------
#### [ Manual selection ]

As etapas a seguir descrevem como criar um grupo de instâncias mistas escolhendo manualmente os tipos de instância: 

1. Escolha um modelo de execução que tenha os parâmetros para iniciar uma instância do EC2. Os parâmetros nos modelos de execução são opcionais, mas o Amazon EC2 Auto Scaling não pode iniciar uma instância se o ID da amilong; (AMI) estiver ausente do modelo de execução.

1. Escolha a opção de substituir o modelo de execução.

1. Escolha manualmente os tipos de instância adequados ao seu workload.

1. Especifique as porcentagens de instâncias sob demanda e de instâncias spot a serem iniciadas.

1. Escolha estratégias de alocação que determinem como o Amazon EC2 Auto Scaling atenderá à capacidade sob demanda e spot com os tipos de instância possíveis.

1. Escolha as zonas de disponibilidade e sub-redes VPC nas quais iniciar suas instâncias.

1. Especifique o tamanho inicial do grupo (a capacidade desejada) e o tamanho mínimo e máximo do grupo.

As substituições são necessárias para substituir o tipo de instância declarado no modelo de execução e usar vários tipos de instâncias incorporados na própria definição de recursos do grupo do Auto Scaling. Para obter mais informações sobre os tipos de instâncias disponíveis, consulte [Tipos de instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) no *Manual do usuário do Amazon EC2 para instâncias do Linux*. 

Você também pode configurar os seguintes parâmetros opcionais para cada tipo de instância:
+ `LaunchTemplateSpecification` — Você pode atribuir um modelo de execução diferente a um tipo de instância, conforme necessário. Essa opção não está disponível atualmente no console. Para obter mais informações, consulte [Usar vários modelos de execução](ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.md).
+ `WeightedCapacity` — Você decide o quanto a instância conta para a capacidade desejada em relação ao resto das instâncias do seu grupo. Se você especificar um valor `WeightedCapacity` para um tipo de instância, deverá especificar um valor `WeightedCapacity` para todos os tipos. Por padrão, cada instância conta como uma para a capacidade desejada. Para obter mais informações, consulte [Configurar um grupo do Auto Scaling para usar ponderação da instância](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md).

------
#### [ Attribute-based selection ]

Para permitir que o Amazon EC2 Auto Scaling escolha seus tipos de instância automaticamente com base em seus atributos de instância específicos, use as seguintes etapas para criar um grupo misto de instâncias especificando seus requisitos computacionais:

1. Escolha um modelo de execução que tenha os parâmetros para iniciar uma instância do EC2. Os parâmetros nos modelos de execução são opcionais, mas o Amazon EC2 Auto Scaling não pode iniciar uma instância se o ID da amilong; (AMI) estiver ausente do modelo de execução.

1. Escolha a opção de substituir o modelo de execução.

1. Especifique os atributos da instância que correspondam aos seus requisitos de computação, como v CPUs e requisitos de memória.

1. Especifique as porcentagens de instâncias sob demanda e de instâncias spot a serem iniciadas.

1. Escolha estratégias de alocação que determinem como o Amazon EC2 Auto Scaling atenderá à capacidade sob demanda e spot com os tipos de instância possíveis.

1. Escolha as zonas de disponibilidade e sub-redes VPC nas quais iniciar suas instâncias.

1. Especifique o tamanho inicial do grupo (a capacidade desejada) e o tamanho mínimo e máximo do grupo.

As substituições são necessárias para substituir o tipo de instância declarado no modelo de execução e usar um conjunto de atributos de instância que descrevam seus requisitos de computação. Para ver os atributos compatíveis, consulte a [InstanceRequirements](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_InstanceRequirements.html)Referência da *API Amazon EC2 Auto Scaling*. Como alternativa, é possível usar um modelo de execução que já tenha sua definição de atributos de instância. 

Você também pode configurar o parâmetro `LaunchTemplateSpecification` na estrutura de substituições para atribuir um modelo de execução diferente a um conjunto de requisitos de instância, conforme necessário. Essa opção não está disponível atualmente no console. Para obter mais informações, consulte a [LaunchTemplateOverrides](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_LaunchTemplateOverrides.html)Referência da API *Amazon EC2 Auto Scaling*.

Por padrão, você definiu o número de instâncias como da capacidade desejada do seu grupo do Auto Scaling. 

Como alternativa, você pode definir o valor da capacidade desejada como o número de v CPUs ou a quantidade de memória. Para fazer isso, use a propriedade `DesiredCapacityType` na operação da API `CreateAutoScalingGroup` ou o campo suspenso **Tipo de capacidade desejada** no Console de gerenciamento da AWS. Essa é uma alternativa útil aos [pesos de instância](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md).

------

## Flexibilidade de tipo da instância
<a name="mixed-instances-group-instance-flexibility"></a>

Para aumentar a disponibilidade, implemente sua aplicação em vários tipos de instância. É uma prática recomendada usar vários tipos de instância para atender aos requisitos de capacidade. Dessa forma, o Amazon EC2 Auto Scaling pode iniciar outro tipo de instância se houver capacidade de instância insuficiente nas zonas de disponibilidade escolhidas.

Se houver capacidade de instância insuficiente com instâncias spot, o Amazon EC2 Auto Scaling continuará tentando iniciar a partir de outros pools de instâncias spot. (Os pools usados são determinados por sua escolha de tipos de instância e estratégia de alocação.) O Amazon EC2 Auto Scaling ajuda você a aproveitar a economia de custo das instâncias spot ao iniciá-las em vez de instâncias sob demanda.

Recomendamos ser flexível para pelo menos 10 tipos de instância para cada workload. Ao escolher seus tipos de instância, não se limite aos novos tipos de instância mais usados. Escolher tipos de instância de gerações mais antigas tende a resultar em menos interrupções spot, pois há menos demanda de clientes sob demanda.

## Flexibilidade da zona de disponibilidade
<a name="mixed-instances-group-az-flexibility"></a>

Recomendamos fortemente que estenda seu grupo do Auto Scaling em várias zonas de disponibilidade. Com várias zonas de disponibilidade, você pode criar aplicações que executam o failover automaticamente entre as zonas para obter maior resiliência. 

Como benefício adicional, você pode acessar um pool de capacidade mais profundo do Amazon EC2 em comparação com grupos em uma única zona de disponibilidade. Como a capacidade oscila independentemente para cada tipo de instância na zona de disponibilidade, é frequentemente possível obter maior capacidade computacional quando você tem tanto a flexibilidade de tipo de instância quanto da zona de disponibilidade. 

Para ter mais informações sobre como usar várias Zonas de disponibilidade, consulte [Exemplo: distribuir instâncias entre zonas de disponibilidade](auto-scaling-benefits.md#arch-AutoScalingMultiAZ).

## Preço máximo do spot
<a name="mixed-instances-group-spot-max-price"></a>

Ao criar seu grupo de Auto Scaling usando o AWS CLI ou um SDK, você pode especificar o parâmetro. `SpotMaxPrice` O parâmetro `SpotMaxPrice` determina o preço máximo que você está disposto a pagar por uma hora de instância spot. 

Quando você especifica o parâmetro `WeightedCapacity` em suas substituições (ou `"DesiredCapacityType": "vcpu"` ou `"DesiredCapacityType": "memory-mib"` no nível do grupo), o preço máximo representa o preço unitário máximo, não o preço máximo de uma instância inteira. 

É altamente recomendável que você não especifique um preço máximo. Talvez sua aplicação não seja executada se você não receber suas instâncias spot, como quando o preço máximo é muito baixo. Se você não especificar um preço máximo, o padrão será o preço sob demanda. Você pagará apenas o preço spot pelas instâncias spot que iniciar. Você ainda recebe os grandes descontos oferecidos pelas Instâncias spot. Esses descontos são possíveis devido ao preço spot estável disponível com o [modelo de preço spot](https://aws.amazon.com/blogs/compute/new-amazon-ec2-spot-pricing/). Para obter mais informações, consulte [Preços e economia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html#spot-pricing) no *Manual do usuário do Amazon EC2 para instâncias do Linux*. 

## Rebalanceamento proativo de capacidade
<a name="use-capacity-rebalancing"></a>

Se o seu caso de uso permitir, recomendamos o rebalanceamento de capacidade. O rebalanceamento de capacidade ajuda você a manter a disponibilidade da workload ao substituir proativamente as instâncias spot com risco de interrupção.

Quando a capacidade de rebalanceamento está habilitada, o Amazon EC2 Auto Scaling tenta substituir proativamente as instâncias spot que receberam uma recomendação de rebalanceamento de instância do EC2. É possível decidir rebalancear sua workload em instâncias spot novas ou existentes que não tenham um risco elevado de interrupção. 

Para obter mais informações, consulte [Rebalanceamento de capacidade no Auto Scaling para substituir instâncias spot em risco](ec2-auto-scaling-capacity-rebalancing.md).

## Comportamento do ajuste de escala
<a name="mixed-instances-group-scaling-behavior"></a>

Quando você cria um grupo misto de instâncias, ele usa instâncias sob demanda por padrão. Para usar as instâncias spot, é necessário modificar a porcentagem do grupo a ser iniciada como instâncias sob demanda. Você pode especificar qualquer número de 0 a 100 para a porcentagem sob demanda.

Opcionalmente, você também pode designar um número base de instâncias sob demanda para começar. Se você fizer isso, o Amazon EC2 Auto Scaling aguardará para iniciar instâncias spot até depois de iniciar a capacidade básica de instâncias sob demanda quando o grupo for aumentado na escala horizontalmente. Depois de ultrapassada a capacidade básica, é usada a porcentagem sob demanda para determinar o número de instâncias spot e sob demanda que serão executadas. 

O Amazon EC2 Auto Scaling converte o percentual para o número equivalente de instâncias. Se o resultado criar um número fracionário, ele arredonda para o próximo inteiro em favor das instâncias sob demanda.

A tabela a seguir demonstra o comportamento do grupo do Auto Scaling à medida que aumenta e diminui de tamanho.


**Exemplo: comportamento de escalabilidade**  

| Opções de compra | Tamanho de grupo e número total de instâncias em execução nas opções de compra | 
| --- |--- |
|  | **10** | **20** | **30** | **40** | 
| --- |--- |--- |--- |--- |
| **Exemplo 1**: base de 10, 50/50% sob demanda/spot |  |  |  |  | 
| Instâncias sob demanda (valor base) | 10 | 10 | 10 | 10 | 
| Instâncias sob demanda | 0 | 5 | 10 | 15 | 
| Instâncias spot | 0 | 5 | 10 | 15 | 
| **Exemplo 2**: base de 0, 0/100% sob demanda/spot |  |  |  |  | 
| Instâncias sob demanda (valor base) | 0 | 0 | 0 | 0 | 
| Instâncias sob demanda | 0 | 0 | 0 | 0 | 
| Instâncias spot | 10 | 20 | 30 | 40 | 
| **Exemplo 3**: base de 0, 60/40% sob demanda/spot |  |  |  |  | 
| Instâncias sob demanda (valor base) | 0 | 0 | 0 | 0 | 
| Instâncias sob demanda | 6 | 12 | 18 | 24 | 
| Instâncias spot | 4 | 8 | 12 | 16 | 
| **Exemplo 4**: base de 0, 100/0% sob demanda/spot |  |  |  |  | 
| Instâncias sob demanda (valor base) | 0 | 0 | 0 | 0 | 
| Instâncias sob demanda | 10 | 20 | 30 | 40 | 
| Instâncias spot | 0 | 0 | 0 | 0 | 
| **Exemplo 5**: base de 12, 0/100% sob demanda/spot |  |  |  |  | 
| Instâncias sob demanda (valor base) | 10 | 12 | 12 | 12 | 
| Instâncias sob demanda | 0 | 0 | 0 | 0 | 
| Instâncias spot | 0 | 8 | 18 | 28 | 

Quando o tamanho do grupo *aumenta*, o Amazon EC2 Auto Scaling tenta equilibrar sua capacidade uniformemente em suas zonas de disponibilidade especificadas. Em seguida, ele inicia os tipos de instância de acordo com a estratégia de alocação especificada. 

Quando o tamanho do grupo *diminui*, o Amazon EC2 Auto Scaling primeiro identifica qual dos dois tipos (spot ou sob demanda) deve ser encerrado. Em seguida, ele tenta encerrar as instâncias de forma balanceada nas zonas de disponibilidade especificadas. Também favorece o encerramento de instâncias de uma forma que se alinhe mais às suas estratégias de alocação. Para obter mais informações sobre políticas de encerramento, consulte [Trabalhar com políticas de término do Amazon EC2 Auto Scaling](ec2-auto-scaling-termination-policies.md).

## Disponibilidade regional dos tipos de instância
<a name="setup-overview-regional-availability-of-instance-types"></a>

A disponibilidade dos tipos de instância do EC2 varia de acordo com sua Região da AWS. Por exemplo, os tipos de instância de geração mais recente podem ainda não estar disponíveis em uma determinada região. Devido às variações na disponibilidade de instâncias entre regiões, você pode encontrar problemas ao fazer solicitações programáticas se vários tipos de instância em suas substituições não estiverem disponíveis em sua região. Usar vários tipos de instância que não estão disponíveis na sua região pode fazer com que a solicitação falhe completamente. Para resolver o problema, repita a solicitação com diferentes tipos de instância, certificando-se de que cada tipo de instância esteja disponível na região. Para pesquisar os tipos de instância oferecidos por localização, use o [describe-instance-type-offerings](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-instance-type-offerings.html)comando. Para obter mais informações, consulte [Tipos de nomes do host de instâncias do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-discovery.html) no *Guia do usuário do Amazon EC2*. 

## Recursos relacionados
<a name="setup-overview-related-resources"></a>

Para obter as práticas recomendadas para Instâncias spot, consulte [Práticas recomendadas para o EC2 Spot](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html) no *Guia do usuário do Amazon EC2 para instâncias do Linux*. 

## Limitações
<a name="setup-overview-limitations"></a>

Depois de adicionar substituições a um grupo do Auto Scaling usando uma [política de instâncias mistas](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_MixedInstancesPolicy.html), você pode atualizar as substituições com a `UpdateAutoScalingGroup`chamada de API, mas não excluí-las. Para remover completamente as substituições, é necessário primeiro mudar o grupo do Auto Scaling para usar um modelo de execução ou uma configuração de execução em vez de uma política de instâncias mistas. Em seguida, você pode adicionar uma política de instâncias mistas novamente sem nenhuma substituição.

# Estratégias de alocação para vários tipos de instância
<a name="allocation-strategies"></a>

Ao usar vários tipos de instância, você gerencia como o Amazon EC2 Auto Scaling atenderá à sua capacidade sob demanda e spot dos tipos de instância possíveis. Para fazer isso, você especifica estratégias de alocação. 

Para analisar as etapas de configuração de um grupo de instâncias mistas, consulte [Visão geral da configuração para criar um grupo de instâncias mistas](mixed-instances-groups-set-up-overview.md).

**Topics**
+ [Instâncias spot](#spot-allocation-strategy)
+ [Instâncias sob demanda](#on-demand-allocation-strategy)
+ [Como as estratégias de alocação funcionam com ponderações](#lowest-price-allocation-strategy)

## Instâncias spot
<a name="spot-allocation-strategy"></a>

O Amazon EC2 Auto Scaling fornece as seguintes estratégias de alocação para instâncias spot: 

`price-capacity-optimized` (recomendado)  
A estratégia de alocação otimizada de preço e capacidade analisa o preço e a capacidade para selecionar os pools de instâncias spot com menor probabilidade de interrupção e com o preço mais baixo possível.  
Recomendamos esta estratégia quando você está começando. Para obter mais informações, consulte [Introdução à estratégia de price-capacity-optimized alocação para instâncias spot do EC2](https://aws.amazon.com/blogs/compute/introducing-price-capacity-optimized-allocation-strategy-for-ec2-spot-instances/) no AWS blog.

`capacity-optimized`  
O Amazon EC2 Auto Scaling solicita sua instância spot do pool com capacidade ideal para o número de instâncias que estão sendo executadas.   
Com as instâncias spot, a definição de preço muda lentamente ao longo do tempo com base em tendências de longo prazo na oferta e na demanda. No entanto, a capacidade flutua em tempo real. A estratégia `capacity-optimized` executa Instâncias spot automaticamente nos grupos mais disponíveis observando dados de capacidade em tempo real e prevendo quais são os mais disponíveis. Isso ajuda a minimizar possíveis interrupções para cargas de trabalho que podem ter um custo mais alto de interrupção associado ao reinício do trabalho e ao ponto de verificação. Para dar a certos tipos de instância uma maior chance de serem executadas primeiro, use `capacity-optimized-prioritized`. 

`capacity-optimized-prioritized`  
Você define a ordem dos tipos de instância para as substituições do modelo de execução da prioridade mais alta para a mais baixa (do primeiro ao último na lista). O Amazon EC2 Auto Scaling honra as prioridades de tipo de instância com base no melhor esforço, mas otimiza primeiro a capacidade. Essa é uma boa opção para workloads em que a possibilidade de interrupção deve ser minimizada, mas em que a preferência por determinados tipos de instância também é importante. Se a estratégia de alocação sob demanda for definida como `prioritized`, a mesma prioridade será aplicada ao atender a capacidade sob demanda. 

`lowest-price` (não recomendado)  
Não recomendamos a estratégia de `lowest-price` porque ela representa o maior risco de interrupção para as instâncias spot.
O Amazon EC2 Auto Scaling solicita suas instâncias spot usando os pools de menor preço dentro de uma zona de disponibilidade, entre o número N de pools spot que você especifica para a configuração de **pools de menor preço**. Por exemplo, se você especificar quatro tipos de instância e quatro zonas de disponibilidade, seu grupo do Auto Scaling poderá acessar até 16 pools spot. (Quatro em cada zona de disponibilidade.) Se você especificar dois pools de spot (N=2) para a estratégia de alocação, seu grupo do Auto Scaling poderá aproveitar os dois pools de preço mais baixo por zona de disponibilidade para preencher sua capacidade spot.  
A estratégia de `lowest-price` só está disponível com o uso da AWS CLI.  
O Amazon EC2 Auto Scaling tenta extrair instâncias spot do número N de pools que você especifica. No entanto, se um pool ficar sem capacidade spot antes de atender à capacidade desejada, o Amazon EC2 Auto Scaling continua a atender à sua solicitação usando o próximo pool de preço mais baixo. Para atender à capacidade desejada, você pode receber instâncias spot de mais pools do que o número N especificado. Da mesma forma, se a maioria dos pools não tiver capacidade spot, você poderá receber a capacidade total desejada de menos pools do que o número N especificado.

**nota**  
Se você configurar sua instância spot para iniciar com [AMD SEV-SNP](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sev-snp.html) ativado, uma tarifa adicional de uso por hora será cobrada. Essa tarifa equivale a 10% da [Taxa sob demanda por hora](https://aws.amazon.com/ec2/pricing/on-demand/) do tipo de instância selecionado. Se a estratégia de alocação usar o preço como entrada, a Amazon EC2 Auto Scaling não incluirá essa tarifa adicional; somente o preço spot será usado.

## Instâncias sob demanda
<a name="on-demand-allocation-strategy"></a>

O Amazon EC2 Auto Scaling fornece as seguintes estratégias de alocação que podem ser usadas para instâncias sob-demanda: 

`lowest-price`  
O Amazon EC2 Auto Scaling implanta automaticamente o tipo de instância com preço mais baixo em cada zona de disponibilidade com base no preço sob demanda atual.  
Para atender à capacidade desejada, você pode receber instâncias sob demanda de mais de um tipo de instância em cada zona de disponibilidade. Isso depende da quantidade de capacidade que você solicitar.

`prioritized`  
Ao atender à capacidade sob demanda, o Amazon EC2 Auto Scaling determina qual tipo de instância usar primeiro com base na ordem dos tipos de instância na lista de substituições de modelo de execução. Por exemplo, digamos que você especifique três substituições de modelo de execução na seguinte ordem: `c5.large`, `c4.large` e `c3.large`. Quando suas instâncias sob demanda são iniciadas, o grupo do Auto Scaling preenche a capacidade sob demanda começando com,`c5.large` `c4.large` e, em seguida, `c3.large`.   
Considere o seguinte ao gerenciar a ordem de prioridade de suas instâncias sob demanda:  
+ Você pode pagar antecipadamente pelo uso para obter descontos significativos para Instâncias sob demanda usando Savings Plans ou instâncias reservadas. Para obter mais informações, consulte a página de [preços do Amazon EC2](https://aws.amazon.com/ec2/pricing/). 
+ Com instâncias reservadas, sua taxa de desconto da definição de preço normal da instância sob demanda se aplicará se o Amazon EC2 Auto Scaling iniciar tipos de instância correspondentes. Portanto, se você tiver Instâncias reservadas não utilizadas para `c4.large`, poderá definir a prioridade do tipo de instância para dar a prioridade mais alta para suas Instâncias reservadas a um tipo de instância `c4.large`. Quando uma instância `c4.large` é ativada, você recebe os preços de instância reservada. 
+ Com os Savings Plans, sua taxa de desconto da definição de preço normal da instância sob demanda é aplicada ao usar os Amazon EC2 Instance Savings Plans ou Compute Savings Plans. Com Savings Plans, você tem mais flexibilidade ao priorizar seus tipos de instância. Contanto que você use tipos de instância cobertos pelo seu Savings Plans, é possível defini-los em qualquer ordem de prioridade. Você também pode ocasionalmente alterar toda a ordem de seus tipos de instância, enquanto ainda recebe a taxa de desconto de Savings Plans. Para obter mais informações sobre Savings Plans, consulte o [Savings Plans User Guide](https://docs.aws.amazon.com/savingsplans/latest/userguide/) (Guia do usuário de Savings Plans).

## Como as estratégias de alocação funcionam com ponderações
<a name="lowest-price-allocation-strategy"></a>

Quando você especifica o parâmetro `WeightedCapacity` em suas substituições (ou `"DesiredCapacityType": "vcpu"` ou `"DesiredCapacityType": "memory-mib"` no nível do grupo), as estratégias de alocação funcionam exatamente como em outros grupos do Auto Scaling. 

Suponha que você tenha um grupo de Auto Scaling com vários tipos de instância que têm quantidades variáveis de v. CPUs Você usa `lowest-price` para suas estratégias de alocação spot e sob demanda. Se você optar por atribuir pesos com base na contagem de vCPUs de cada tipo de instância, o Amazon EC2 Auto Scaling iniciará os tipos de instância que tenham o menor preço por valores de peso atribuídos (por exemplo, por vCPU) no momento do cumprimento. Se for uma instância spot, isso significa o menor preço spot por vCPU. Se for uma instância sob demanda, isso significa o menor preço sob demanda por vCPU.

 Para obter mais informações, consulte [Configurar um grupo do Auto Scaling para usar ponderação da instância](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md).

# Crie um grupo de instâncias mistas usando a seleção de tipo de instância baseada em atributos
<a name="create-mixed-instances-group-attribute-based-instance-type-selection"></a>

Em vez de escolher manualmente os tipos de instância para seu grupo de instâncias mistas, você pode especificar um conjunto de atributos de instância que descrevem seus requisitos de computação. À medida que o Amazon EC2 Auto Scaling inicia as instâncias, todos os tipos de instância usados pelo grupo do Auto Scaling devem corresponder aos atributos de instância exigidos. Isso é conhecido como *seleção de tipo de instância baseada em atributos*.

Essa abordagem é ideal para workloads e frameworks que podem ser flexíveis sobre quais tipos de instância são usadas, como contêineres, big data e CI/CD.

Os benefícios da seleção de tipo de instância baseada em atributos são os seguintes:
+ **Flexibilidade ideal para instâncias spot**: O Amazon EC2 Auto Scaling pode selecionar entre uma ampla variedade de tipos de instância para iniciar instâncias spot. Isso atende à prática recomendada do spot de ser flexível em relação aos tipos de instância, o que dá ao serviço Spot do Amazon EC2 uma chance melhor de encontrar e alocar a quantidade necessária de capacidade computacional.
+ **Use facilmente os tipos de instâncias certos**: com tantos tipos de instância disponíveis, encontrar os tipos de instância corretos para a workload pode ser demorado. Se você especificar os atributos de instância, os tipos de instância terão automaticamente os atributos necessários para sua workload.
+ **Uso automático de novos tipos de instância**: Seus grupos do Auto Scaling podem usar tipos de instância de geração mais nova, à medida que são executadas. Tipos de instância de geração mais nova são usados automaticamente quando correspondem aos seus requisitos e se alinham com as estratégias de alocação escolhidas para o grupo do Auto Scaling. 

**Topics**
+ [Como funciona a seleção de tipo de instância baseada em atributos](#how-attribute-based-instance-type-selection-works)
+ [Proteção de preço](#understand-price-protection)
+ [Proteção de performance](#understand-performance-protection)
+ [Pré-requisitos](#attribute-based-instance-type-selection-prerequisites)
+ [Crie um grupo de instâncias mistas usando a seleção de tipo de instância baseada em atributos](#attribute-based-instance-type-selection-console)
+ [Crie um grupo de instâncias mistas usando a seleção de tipo de instância baseada em atributos (AWS CLI)](#attribute-based-instance-type-selection-aws-cli)
+ [Exemplo de configuração](#attribute-based-instance-type-selection-example-configurations)
+ [Pré-visualize os tipos de instância](#attribute-based-instance-type-selection-preview)
+ [Recursos relacionados](#attribute-based-instance-type-selection-related-resources)

## Como funciona a seleção de tipo de instância baseada em atributos
<a name="how-attribute-based-instance-type-selection-works"></a>

Com a seleção de tipo de instância baseada em atributos, em vez de fornecer uma lista de tipos de instância específicos, você fornece uma lista de atributos de instância que suas instâncias exigem, como:
+ **Contagem de vCPU** — O número mínimo e máximo de v CPUs por instância.
+ **Memória** — O mínimo e o máximo GiBs de memória por instância.
+ **Armazenamento local**: se o sistema deve usar o EBS ou volumes de armazenamento de instâncias para armazenamento local.
+ **Performance intermitente**: se o sistema deve usar a família de instâncias T, incluindo os tipos T4g, T3a, T3 e T2. 

Há muitas opções disponíveis para definir os requisitos de sua instância. Para obter uma descrição de cada opção e os valores padrão, consulte a Referência da [InstanceRequirements](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_InstanceRequirements.html)API do *Amazon EC2 Auto Scaling*.

Quando seu grupo do Auto Scaling precisar iniciar uma instância, ele procurará por tipos de instância que correspondam aos atributos especificados e que estejam disponíveis nessa zona de disponibilidade. As estratégias de alocação determinam quais tipos de instância serão executados. Por padrão, a seleção de tipo de instância baseada em atributos tem um atributo de proteção de preço ativado para impedir que o grupo do Auto Scaling inicie tipos de instância que excedam seus limites de orçamento.

Por padrão, você usa o número de instâncias como unidade de medida ao definir a capacidade desejada do seu grupo de Auto Scaling, o que significa que cada instância conta como uma unidade. 

Como alternativa, você pode definir o valor da capacidade desejada como o número de v CPUs ou a quantidade de memória. Para fazer isso, use o campo suspenso **Tipo de capacidade desejada** na `DesiredCapacityType` propriedade Console de gerenciamento da AWS ou na operação da `CreateAutoScalingGroup` `UpdateAutoScalingGroup` API. Em seguida, o Amazon EC2 Auto Scaling executa o número de instâncias necessárias para atender à capacidade desejada de vCPU ou memória. Por exemplo, se você usar v CPUs como o tipo de capacidade desejado e usar instâncias com 2 v CPUs cada, uma capacidade desejada de 10 v CPUs iniciaria 5 instâncias. Essa é uma alternativa útil aos [pesos de instância](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md).

## Proteção de preço
<a name="understand-price-protection"></a>

Com a proteção de preço, você pode especificar o preço máximo que está disposto a pagar pelas instâncias do EC2 executadas pelo seu grupo do Auto Scaling. A proteção de preços é um recurso que impede que sua frota spot use tipos de instância que você consideraria muito caros, mesmo que atendam aos atributos especificados. 

A proteção de preço é ativada por padrão e tem limites de preço separados para instâncias sob Demanda e instâncias spot. Quando o Amazon EC2 Auto Scaling precisa iniciar novas instâncias, os tipos de instância com preço acima do limite relevante não são iniciados.

**Topics**
+ [Proteção de preço de instância sob demanda](#on-demand-price-price-protection)
+ [Proteção de preço spot](#spot-price-price-protection)
+ [Personalizar a proteção de preços](#customize-price-price-protection)

### Proteção de preço de instância sob demanda
<a name="on-demand-price-price-protection"></a>

Para instâncias sob demanda, você define o preço máximo sob demanda que está disposto a pagar como uma porcentagem maior do que um preço sob demanda identificado. O preço sob demanda identificado é o preço do tipo de instância C, M ou R da geração atual com o menor preço e com os atributos especificados. 

Se um valor de proteção de preço sob demanda não for explicitamente definido, será usado um preço sob demanda máximo padrão 20% maior do que o preço sob demanda identificado.

### Proteção de preço spot
<a name="spot-price-price-protection"></a>

Por padrão, o Amazon EC2 Auto Scaling aplicará automaticamente a proteção de preço de instância spot ideal para selecionar de forma consistente entre uma ampla variedade de tipos de instância. Você também pode definir manualmente a proteção de preço. No entanto, deixar que o Amazon EC2 Auto Scaling faça isso por você pode aumentar a probabilidade de que sua capacidade de spot seja atendida.

É possível especificar manualmente a proteção de preço usando uma das opções a seguir. Se você definir manualmente a proteção de preço, recomendamos usar a primeira opção.
+ **Uma porcentagem de um *preço sob demanda* identificado**: O preço sob demanda identificado é o preço do tipo de instância C, M ou R da geração atual com o menor preço e com os atributos especificados.
+ **Uma porcentagem maior que um *preço spot* identificado**: O preço spot identificado é o preço do tipo de instância C, M ou R da geração atual com o menor preço e com os atributos especificados. Não é recomendável usar esse parâmetro, pois os preço spot podem flutuar e, portanto, seu limite de proteção de preço também poderá flutuar.

### Personalizar a proteção de preços
<a name="customize-price-price-protection"></a>

Você pode personalizar os limites de proteção de preços no console Amazon EC2 Auto Scaling ou usando o ou. AWS CLI SDKs 
+ No console, use as configurações de **Proteção de preço sob demanda** e **Proteção de preço spot** em **Atributos adicionais da instância**. 
+ Na [InstanceRequirements](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_InstanceRequirements.html)estrutura, para especificar o limite de proteção de preço da instância sob demanda, use a `OnDemandMaxPricePercentageOverLowestPrice` propriedade. Para especificar o limite de proteção de preço da instância spot, use a propriedade `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` ou `SpotMaxPricePercentageOverLowestPrice`. 

Se você definir o **tipo de capacidade desejado** (`DesiredCapacityType`) como **v CPUs** ou **GiB de memória**, a proteção de preço será aplicada com base no preço por vCPU ou por memória, em vez do preço por instância. 

Você também pode desativar a proteção de preços. Para indicar que não há limite de proteção de preço, especifique um valor percentual alto, como `999999`.

**nota**  
Se nenhum tipo de instância C, M ou R da geração atual corresponder aos atributos especificados, a proteção de preço ainda será aplicável. Quando nenhuma correspondência é encontrada, o preço identificado é o dos tipos de instância da geração atual com o menor preço ou, se não houver, dos tipos de instância da geração anterior com o menor preço que correspondam a seus atributos. 

## Proteção de performance
<a name="understand-performance-protection"></a>

A *Proteção de performance* é um recurso para garantir que seu grupo do Auto Scaling use tipos de instância que sejam semelhantes ou excedam uma linha de base de performance especificada. Para usar a proteção de performance, especifique uma família de instâncias como referência de linha de base. Os recursos da família de instâncias especificada estabelecem o nível de performance mais baixo aceitável. Quando o Auto Scaling seleciona tipos de instância, ele considera seus atributos e a linha de base de performance especificados. Os tipos de instância que estão abaixo da linha de base de performance são automaticamente excluídos da seleção, mesmo que correspondam aos outros atributos especificados. Isso garante que todos os tipos de instância selecionados ofereçam performance semelhante ou melhor do que a linha de base estabelecida pela família de instâncias especificada. O Auto Scaling usa essa linha de base para orientar a seleção do tipo de instância, mas não há garantia de que os tipos de instância selecionados sempre excederão a linha de base de cada aplicação.

No momento, esse recurso oferece suporte apenas à performance da CPU como fator de performance da linha de base. A performance da CPU da família de instâncias especificada serve como linha de base de performance, garantindo que os tipos de instância selecionados sejam semelhantes ou excedam essa linha de base. Famílias de instâncias com os mesmos processadores de CPU levam aos mesmos resultados de filtragem, mesmo que a performance da rede ou do disco seja diferente. Por exemplo, especificar `c6in` ou `c6i` como referência de linha de base produziria resultados de filtragem idênticos com base na performance porque as duas famílias de instâncias usam o mesmo processador de CPU.

**Famílias de instâncias não compatíveis**  
As seguintes famílias de instâncias não são compatíveis com a proteção de performance:
+ `c1`
+ `g3` \$1 `g3s`
+ `hpc7g`
+ `m1` \$1 `m2`
+ `mac1` \$1 `mac2` \$1 `mac2-m1ultra` \$1 `mac2-m2` \$1 `mac2-m2pro`
+ `p3dn` \$1 `p4d` \$1 `p5`
+ `t1`
+ `u-12tb1` \$1 `u-18tb1` \$1 `u-24tb1` \$1 `u-3tb1` \$1 `u-6tb1` \$1 `u-9tb1` \$1 `u7i-12tb` \$1 `u7in-16tb` \$1 `u7in-24tb` \$1 `u7in-32tb`

Se você habilitar a proteção de performance especificando uma família de instâncias compatível, os tipos de instância retornados excluirão as famílias de instâncias incompatíveis acima.

**Exemplo: definir uma linha de base de performance da CPU**  
No exemplo a seguir, o requisito da instância é ser iniciada com tipos de instância que tenham núcleos de CPU com a mesma performance da família de instâncias `c6i`. Isso filtrará os tipos de instância com processadores de CPU de menor desempenho, mesmo que atendam aos outros requisitos de instância especificados, como o número de v. CPUs Por exemplo, se os atributos de instância especificados incluírem 4 v CPUs e 16 GB de memória, um tipo de instância com esses atributos, mas com desempenho de CPU inferior ao que `c6i` será excluído da seleção.

```
"BaselinePerformanceFactors": {
        "Cpu": {
            "References": [
                {
                    "InstanceFamily": "c6i"
                }
            ]
        }
```

**Considerações**  
Considere o seguinte ao usar a proteção de performance:
+ É possível especificar tipos de instância ou atributos de instância, mas não os dois ao mesmo tempo.
+ É possível especificar, no máximo, quatro estruturas de `InstanceRequirements` em uma configuração de solicitação.

## Pré-requisitos
<a name="attribute-based-instance-type-selection-prerequisites"></a>
+ Criar um modelo de execução. Para obter mais informações, consulte [Criar um modelo de execução para um grupo do Auto Scaling](create-launch-template.md).
+ Verifique se o modelo de execução já não solicita instâncias spot. 

## Crie um grupo de instâncias mistas usando a seleção de tipo de instância baseada em atributos
<a name="attribute-based-instance-type-selection-console"></a>

Use o procedimento a seguir para criar um grupo de instâncias mistas usando a seleção de tipo de instância baseada em atributos. Para ajudar a percorrer as etapas com eficiência, algumas seções opcionais são ignoradas.

Para a maioria das cargas de trabalho de uso geral, basta especificar o número de v CPUs e a memória de que você precisa. Para casos de uso avançados, você pode especificar atributos como tipo de armazenamento, interfaces de rede, fabricante da CPU e tipo de acelerador.

Para analisar as etapas de configuração de um grupo de instâncias mistas, consulte [Visão geral da configuração para criar um grupo de instâncias mistas](mixed-instances-groups-set-up-overview.md).

**Para criar um grupo de instâncias mistas**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)e escolha **Auto Scaling Groups** no painel de navegação.

1. Na barra de navegação na parte superior da tela, selecione a mesma Região da AWS usada na criação do modelo de execução.

1. Selecione **Criar um grupo do Auto Scaling**. 

1. Na página **Choose launch template or configuration** (Escolher o modelo ou a configuração de execução), em **Auto Scaling group name** (Nome do grupo do Auto Scaling) insira um nome para o grupo do Auto Scaling.

1. Para escolher o modelo de inicialização, faça o seguinte:

   1. Em **Launch template (Modelo de execução)**, escolha um modelo de execução existente.

   1. Em **Launch template version** (Versão do modelo de execução), indique se o grupo do Auto Scaling usará a versão padrão, a mais recente ou uma versão específica do modelo de execução no aumento da escala na horizontal. 

   1. Verifique se o modelo de execução oferece suporte a todas as opções que você está planejando usar e escolha **Next (Próximo)**.

1. Na página **Escolher opções de inicialização da instância**, faça o seguinte:

   1. Para **Requisitos de tipo de instância**, selecione **Substituir modelo de execução**.
**nota**  
Se você escolher um modelo de execução que já contenha um conjunto de atributos de instância, como vCPUs e memória, os atributos da instância serão exibidos. Esses atributos são adicionados às propriedades do grupo do Auto Scaling, onde você pode atualizá-los do console no Amazon EC2 Auto Scaling, a qualquer momento.

   1. Em **Especificar atributos da instância**, comece inserindo seus requisitos de v CPUs e memória.
      + Para **v CPUs**, insira o número mínimo e máximo desejado de CPUs v. Para especificar nenhum limite, selecione **Sem mínimo**, **Sem máximo** ou ambos.
      + Em **Memory (GiB)** (Memória), insira a quantidade mínima e máxima de memória desejada. Para não especificar nenhum limite, selecione **No minimum** (Sem mínimo), **No maximum** (Sem máximo) ou ambos.

   1. (Opcional) Em **Additional instance attributes** (Atributos de instância adicionais), você pode, opcionalmente, especificar um ou mais atributos para expressar seus requisitos de computação com mais detalhes. Cada atributo adicional inclui mais restrições à solicitação.

   1. (Opcional) Expanda **Preview matching instance types** (Previsualizar os tipos de instância correspondentes) para visualizar os tipos de instância que têm os atributos especificados.

   1. Em **Opções de compra de instâncias**, para **Distribuição de instâncias**, especifique as porcentagens do grupo para lançamento como instâncias sob demanda e como instâncias spot. Se sua aplicação for sem estado, tolerante a falhas e puder lidar com a interrupção de uma instância, você poderá especificar uma porcentagem maior de instâncias spot.

   1. (Opcional) Quando você especifica uma porcentagem para instâncias spot, selecione **Incluir capacidade básica sob demanda** e depois especifique a capacidade inicial mínima do grupo do Auto Scaling que deve ser atendido por instâncias sob demanda. Se a capacidade básica for ultrapassada, as configurações **Instances distribution** (Distribuição de instâncias) serão usadas para determinar quantas instâncias spot e instâncias sob demanda serão executadas. 

   1. Sob **Allocation strategies** (Estratégias de alocação), **Lowest price** (Preço mais baixo) é selecionado automaticamente para a **On-Demand allocation strategy** (Estratégia de alocação sob demanda), e não pode ser alterado.

   1. Para **Spot allocation strategy** (Estratégia de alocação spot), selecione uma estratégia de alocação. A **capacidade de preço otimizada** é selecionada por padrão.

   1. Em **Rebalanceamento de capacidade**, escolha se você deseja habilitar ou desabilitar o rebalanceamento de capacidade. Use o rebalanceamento de capacidade para responder automaticamente quando suas instâncias spot se aproximarem do encerramento de uma interrupção spot. Para obter mais informações, consulte [Rebalanceamento de capacidade no Auto Scaling para substituir instâncias spot em risco](ec2-auto-scaling-capacity-rebalancing.md). 

   1. Em **Network** (Rede), para **VPC**, escolha uma VPC. O grupo do Auto Scaling deve ser criado na mesma VPC do grupo de segurança especificado no modelo de execução.

   1. Para **Availability Zones and subnets** (Zonas de disponibilidade e sub-redes), selecione uma ou mais sub-redes na VPC especificada. Use sub-redes em várias zonas de disponibilidade para alta disponibilidade. Para obter mais informações, consulte [Considerações sobre a escolha de sub-redes da VPC](asg-in-vpc.md#as-vpc-considerations).

   1. Escolha **Avançar**, **Avançar**.

1. Na etapa **Configurar políticas de escalabilidade e tamanho do grupo**, faça o seguinte:

   1. Para medir a capacidade desejada em unidades que não sejam instâncias, escolha a opção apropriada para **Tamanho do grupo**, **Tipo de capacidade desejada**. **Unidades**CPUs, **v** e **Memória GiB são suportadas**. Por padrão, o Amazon EC2 Auto Scaling especifica **Unidades**, o que quer dizer número de instâncias.

   1. Para **Capacidade desejada**, o tamanho inicial do seu grupo do Auto Scaling. 

   1. Na seção **Escalabilidade**, em **Limites de escalabilidade**, se o novo valor para **Capacidade desejada** for maior que **Capacidade mínima desejada** e **Capacidade máxima desejada**, a **Capacidade máxima desejada** será automaticamente aumentada para o novo valor da capacidade desejada. É possível alterar esses limites conforme necessário. Para obter mais informações, consulte [Definir limites de escalabilidade para seu grupo do Auto Scaling](asg-capacity-limits.md).

1. Escolha **Skip to review (Ir para revisão)**.

1. Na página **Review** (Revisão), escolha **Create Auto Scaling group** (Criar grupo do Auto Scaling).

## Crie um grupo de instâncias mistas usando a seleção de tipo de instância baseada em atributos (AWS CLI)
<a name="attribute-based-instance-type-selection-aws-cli"></a>

**Para criar um grupo de instâncias mistas usando a linha de comando**  
Use um dos seguintes comandos:
+ [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html) (AWS CLI)
+ [Novo- ASAuto ScalingGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-ASAutoScalingGroup.html) (AWS Tools for Windows PowerShell)

## Exemplo de configuração
<a name="attribute-based-instance-type-selection-example-configurations"></a>

Para criar um grupo de Auto Scaling com seleção de tipo de instância baseada em atributos usando o AWS CLI, use o comando a seguir. [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html) 

Os seguintes atributos de instância são especificados:
+ `VCpuCount`— Os tipos de instância devem ter no mínimo quatro v CPUs e no máximo oito CPUs v. 
+ `MemoryMiB` – os tipos de instância devem ter no mínimo 16.384 MiB de memória. 
+ `CpuManufacturers` – os tipos de instância devem ter uma CPU fabricada pela Intel. 

### JSON
<a name="attribute-based-instance-type-selection-aws-cli-json"></a>

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

Veja a seguir um exemplo de arquivo `config.json`. 

```
{
    "AutoScalingGroupName": "my-asg",
    "DesiredCapacityType": "units",
    "MixedInstancesPolicy": {
        "LaunchTemplate": {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "$Default"
            },
            "Overrides": [{
                "InstanceRequirements": {
                    "VCpuCount": {"Min": 4, "Max": 8},
                    "MemoryMiB": {"Min": 16384},
                    "CpuManufacturers": ["intel"]
                }
            }]
        },
        "InstancesDistribution": {
            "OnDemandPercentageAboveBaseCapacity": 50,
            "SpotAllocationStrategy": "price-capacity-optimized"
        }
    },
    "MinSize": 0,
    "MaxSize": 100,
    "DesiredCapacity": 4,
    "DesiredCapacityType": "units",
    "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
}
```

Para definir o valor da capacidade desejada como o número de v CPUs ou a quantidade de memória, especifique `"DesiredCapacityType": "vcpu"` ou `"DesiredCapacityType": "memory-mib"` no arquivo. O tipo de capacidade padrão desejado é `units`, que define o valor da capacidade desejada como o número de instâncias.

### YAML
<a name="attribute-based-instance-type-selection-aws-cli-yaml"></a>

Como alternativa, você pode usar o [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando a seguir para criar o grupo Auto Scaling. Isso faz referência a um arquivo YAML como o único parâmetro para seu grupo do Auto Scaling.

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

Veja a seguir um exemplo de arquivo `config.yaml`. 

```
---
AutoScalingGroupName: my-asg
DesiredCapacityType: units
MixedInstancesPolicy:
  LaunchTemplate:
    LaunchTemplateSpecification:
      LaunchTemplateName: my-launch-template
      Version: $Default
    Overrides:
    - InstanceRequirements:
         VCpuCount:
           Min: 2
           Max: 4
         MemoryMiB:
           Min: 2048
         CpuManufacturers:
         - intel
  InstancesDistribution:
    OnDemandPercentageAboveBaseCapacity: 50
    SpotAllocationStrategy: price-capacity-optimized
MinSize: 0
MaxSize: 100
DesiredCapacity: 4
DesiredCapacityType: units
VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
```

Para definir o valor da capacidade desejada como o número de v CPUs ou a quantidade de memória, especifique `DesiredCapacityType: vcpu` ou `DesiredCapacityType: memory-mib` no arquivo. O tipo de capacidade padrão desejado é `units`, que define o valor da capacidade desejada como o número de instâncias.

Para ver um exemplo de como usar vários modelos de execução com seleção de tipo de instância baseada em atributos, consulte [Usar vários modelos de execução](ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.md).

## Pré-visualize os tipos de instância
<a name="attribute-based-instance-type-selection-preview"></a>

É possível previsualizar os tipos de instância que correspondem aos requisitos de computação sem iniciá-los e ajustar seus requisitos, se necessário. Ao criar o grupo do Auto Scaling no console do Amazon EC2 Auto Scaling, uma previsualização dos tipos de instância aparece na seção **Preview matching instance types** (Previsualize os tipos de instância correspondentes) na página **Choose instance launch options** (Escolha as opções de execução da instância).

Como alternativa, você pode visualizar os tipos de instância fazendo uma chamada de [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html)API do Amazon EC2 usando o AWS CLI ou um SDK. Transmita os parâmetros `InstanceRequirements` na solicitação, no formato exato que você usaria para criar ou atualizar um grupo do Auto Scaling. Para mais informações, consulte [Preview instance types with specified attributes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-get-instance-types-from-instance-requirements) (Previsualize tipos de instância com atributos especificados) no *Amazon EC2 User Guide* (Guia do usuário do Amazon EC2).

## Recursos relacionados
<a name="attribute-based-instance-type-selection-related-resources"></a>

Para saber mais sobre a seleção de tipo de instância baseada em atributos, consulte Seleção de tipo de [instância baseada em atributos para EC2 Auto Scaling e EC2 Fleet no blog](https://aws.amazon.com/blogs/aws/new-attribute-based-instance-type-selection-for-ec2-auto-scaling-and-ec2-fleet/). AWS 

Você pode declarar a seleção de tipo de instância baseada em atributos ao criar um grupo do Auto Scaling usando CloudFormation. Para obter mais informações, consulte o trecho de exemplo na seção [Trechos de modelo de escalonamento automático](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-autoscaling.html#scenario-mixed-instances-group-template-examples) do *CloudFormation Guia do usuário*.

# Criar um grupo misto de instâncias escolhendo manualmente os tipos de instância
<a name="create-mixed-instances-group-manual-instance-type-selection"></a>

Este tópico mostra como iniciar vários tipos de instância em um único grupo do Auto Scaling escolhendo manualmente seus tipos de instância. 

Se você preferir usar atributos de instância como critérios para selecionar tipos de instância, consulte [Crie um grupo de instâncias mistas usando a seleção de tipo de instância baseada em atributos](create-mixed-instances-group-attribute-based-instance-type-selection.md).

**Topics**
+ [Pré-requisitos](#manual-instance-type-selection-prerequisites)
+ [Criar um grupo de instâncias mistas (console)](#manual-instance-type-selection-console)
+ [Criar um grupo de instâncias mistas (AWS CLI)](#manual-instance-type-selection-aws-cli)
+ [Exemplos de configuração](#manual-instance-type-selection-example-configurations)

## Pré-requisitos
<a name="manual-instance-type-selection-prerequisites"></a>
+ Criar um modelo de execução. Para obter mais informações, consulte [Criar um modelo de execução para um grupo do Auto Scaling](create-launch-template.md).
+ Verifique se o modelo de execução já não solicita instâncias spot. 

## Criar um grupo de instâncias mistas (console)
<a name="manual-instance-type-selection-console"></a>

Use o procedimento a seguir para criar um grupo de instâncias mistas escolhendo manualmente quais tipos de instância seu grupo pode iniciar. Para ajudar a percorrer as etapas com eficiência, algumas seções opcionais são ignoradas.

Para analisar as etapas de configuração de um grupo de instâncias mistas, consulte [Visão geral da configuração para criar um grupo de instâncias mistas](mixed-instances-groups-set-up-overview.md).

**Para criar um grupo de instâncias mistas**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)e escolha **Auto Scaling Groups** no painel de navegação.

1. Na barra de navegação na parte superior da tela, selecione a mesma Região da AWS usada na criação do modelo de execução.

1. Selecione **Criar um grupo do Auto Scaling**. 

1. Na página **Choose launch template or configuration** (Escolher o modelo ou a configuração de execução), em **Auto Scaling group name** (Nome do grupo do Auto Scaling) insira um nome para o grupo do Auto Scaling.

1. Para escolher o modelo de inicialização, faça o seguinte:

   1. Em **Launch template (Modelo de execução)**, escolha um modelo de execução existente.

   1. Em **Launch template version** (Versão do modelo de execução), indique se o grupo do Auto Scaling usará a versão padrão, a mais recente ou uma versão específica do modelo de execução no aumento da escala na horizontal. 

   1. Verifique se seu modelo de execução oferece suporte a todas as opções que você planeja usar e, em seguida, escolha **Next (Próximo)**.

1. Na página **Escolha as opções de iniciar uma instância**, faça o seguinte:

   1. Para **Instance type requirements** (Requisitos de tipo de instância), selecione **Override launch template** (Substituir modelo de execução), e depois escholha **Manually add instance types** (Adicionar tipos de instância manualmente). 

   1. Escolha os tipos de instância. Você pode usar nossas recomendações como ponto de partida. A opção de **família e geração flexível** é selecionada por padrão.
      + Para alterar a ordem dos tipos de instância, use as setas. Se você escolher uma estratégia de alocação compatível com priorização, a ordem do tipo de instância definirá sua prioridade de execução.
      + Para remover um tipo de instância, escolha **X**.
      + (Opcional) Para as caixas na coluna **Peso**, atribua um peso relativo a cada tipo de instância. Para fazer isso, insira o número de unidades que uma instância desse tipo conta para a capacidade desejada do grupo. Isso pode ser útil se os tipos de instância oferecerem diferentes recursos de vCPU, memória, armazenamento ou largura de banda de rede. Para obter mais informações, consulte [Configurar um grupo do Auto Scaling para usar ponderação da instância](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md). 

        Se você optar por usar as recomendações **flexíveis de tamanho**, todos os tipos de instância que fazem parte desta seção terão automaticamente um valor de peso. Se você não quiser especificar nenhum peso, desmarque as caixas na coluna **Peso** para todos os tipos de instância.

   1. Em **Instance purchase options** (Opções de compra), para **Instances distribution** (Distribuição de instâncias), especifique as porcentagens de instâncias do grupo a serem iniciadas como instâncias sob demanda e instâncias spot, respectivamente. Se a aplicação for sem estado, tolerante a falhas e puder lidar com uma interrupção de instância, você poderá especificar uma porcentagem maior de instâncias spot.

   1. (Opcional) Quando você especifica uma porcentagem para instâncias spot, selecione **Incluir capacidade básica sob demanda** e depois especifique a capacidade inicial mínima do grupo do Auto Scaling que deve ser atendido por instâncias sob demanda. Se a capacidade básica for ultrapassada, as configurações **Instances distribution** (Distribuição de instâncias) serão usadas para determinar quantas instâncias spot e instâncias sob demanda serão executadas. 

   1. Em **Allocation strategies** (Estratégias de alocação), para **On-Demand allocation strategy** (Estratégia de alocação sob demanda), selecione uma estratégia de alocação. Quando você escolhe manualmente seus tipos de instância, a opção **Priorizada** é selecionada por padrão.

   1. Para **Spot allocation strategy** (Estratégia de alocação spot), selecione uma estratégia de alocação. A **capacidade de preço otimizada** é selecionada por padrão.

      Se você escolheu **Capacidade otimizada**, você pode, opcionalmente, marcar a caixa **Priorizar tipos de instância** para permitir que o Amazon EC2 Auto Scaling escolha qual tipo de instância iniciar primeiro com base na ordem em que seus tipos de instância estão listados. 

   1. Em **Rebalanceamento de capacidade**, escolha se você deseja habilitar ou desabilitar o rebalanceamento de capacidade. Use o rebalanceamento de capacidade para responder automaticamente quando suas instâncias spot se aproximarem do encerramento de uma interrupção spot. Para obter mais informações, consulte [Rebalanceamento de capacidade no Auto Scaling para substituir instâncias spot em risco](ec2-auto-scaling-capacity-rebalancing.md). 

   1. Em **Network** (Rede), para **VPC**, escolha uma VPC. O grupo do Auto Scaling deve ser criado na mesma VPC do grupo de segurança especificado no modelo de execução.

   1. Para **Availability Zones and subnets** (Zonas de disponibilidade e sub-redes), selecione uma ou mais sub-redes na VPC especificada. Use sub-redes em várias zonas de disponibilidade para alta disponibilidade. Para obter mais informações, consulte [Considerações sobre a escolha de sub-redes da VPC](asg-in-vpc.md#as-vpc-considerations).

   1. Escolha **Avançar**, **Avançar**.

1. Na etapa **Configurar políticas de escalabilidade e tamanho do grupo**, faça o seguinte:

   1. Em **tamanho de grupo** para **Capacidade desejada**, insira o número inicial de instâncias a serem executadas. 

      Por padrão, a capacidade desejada é expressa como o número de instâncias. Se você atribuiu pesos aos seus tipos de instância, deverá converter esse valor na mesma unidade de medida usada para atribuir pesos, como o número de v. CPUs 

   1. Na seção **Escalabilidade**, em **Limites de escalabilidade**, se o novo valor para **Capacidade desejada** for maior que **Capacidade mínima desejada** e **Capacidade máxima desejada**, a **Capacidade máxima desejada** será automaticamente aumentada para o novo valor da capacidade desejada. É possível alterar esses limites conforme necessário. Para obter mais informações, consulte [Definir limites de escalabilidade para seu grupo do Auto Scaling](asg-capacity-limits.md).

1. Escolha **Skip to review (Ir para revisão)**.

1. Na página **Review** (Revisão), escolha **Create Auto Scaling group** (Criar grupo do Auto Scaling).

## Criar um grupo de instâncias mistas (AWS CLI)
<a name="manual-instance-type-selection-aws-cli"></a>

**Para criar um grupo de instâncias mistas usando a linha de comando**  
Use um dos seguintes comandos:
+ [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html) (AWS CLI)
+ [Novo- ASAuto ScalingGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-ASAutoScalingGroup.html) (AWS Tools for Windows PowerShell)

## Exemplos de configuração
<a name="manual-instance-type-selection-example-configurations"></a>

Os exemplos de configuração a seguir mostram como iniciar instâncias spot usando as diferentes estratégias de alocação spot.

**nota**  
Esses exemplos mostram como usar um arquivo de configuração formatado em JSON ou YAML. Se você usar a AWS CLI versão 1, deverá especificar um arquivo de configuração formatado em JSON. Se você usar a AWS CLI versão 2, poderá especificar um arquivo de configuração formatado em YAML ou JSON.

**Topics**
+ [Exemplo 1: Iniciar instâncias spot usando a estratégia de alocação `capacity-optimized`](#capacity-optimized-aws-cli)
+ [Exemplo 2: Iniciar instâncias spot usando a estratégia de alocação `capacity-optimized-prioritized`](#capacity-optimized-prioritized-aws-cli)
+ [Exemplo 3: Iniciar instâncias spot usando a estratégia de alocação `lowest-price` diversificada em dois grupos](#lowest-price-aws-cli)
+ [Exemplo 4: Iniciar Instâncias spot usando a estratégia de alocação `price-capacity-optimized`](#price-capacity-optimized-aws-cli)

### Exemplo 1: Iniciar instâncias spot usando a estratégia de alocação `capacity-optimized`
<a name="capacity-optimized-aws-cli"></a>

O [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando a seguir cria um grupo de Auto Scaling que especifica o seguinte:
+ A porcentagem do grupo a ser executado como instâncias sob demanda (`0`) e um número base de instâncias sob demanda com as quais começar (`1`)
+ Os tipos de instância a serem iniciadas em ordem de prioridade (`c5.large`, `c5a.large`, `m5.large`, `m5a.large`, `c4.large`, `m4.large`, `c3.large`, `m3.large`)
+ As sub-redes nas quais iniciar as instâncias (`subnet-5ea0c127`, `subnet-6194ea3b`, `subnet-c934b782`) Cada um corresponde a uma zona de disponibilidade diferente.
+ O modelo de execução (`my-launch-template`) e a versão do modelo de execução (`$Default`)

Quando o Amazon EC2 Auto Scaling tenta atender à sua capacidade sob demanda, ele executa o tipo de instância `c5.large` primeiro. As instâncias spot vêm do grupo spot ideal em cada zona de disponibilidade com base na capacidade da instância spot.

#### JSON
<a name="capacity-optimized-aws-cli-json"></a>

```
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",
                "Version": "$Default"
            },
            "Overrides": [
                {
                    "InstanceType": "c5.large"
                },
                {
                    "InstanceType": "c5a.large"
                },
                {
                    "InstanceType": "m5.large"
                },
                {
                    "InstanceType": "m5a.large"
                },
                {
                    "InstanceType": "c4.large"
                },
                {
                    "InstanceType": "m4.large"
                },
                {
                    "InstanceType": "c3.large"
                },
                {
                    "InstanceType": "m3.large"
                }
            ]
        },
        "InstancesDistribution": {
            "OnDemandBaseCapacity": 1,
            "OnDemandPercentageAboveBaseCapacity": 0,
            "SpotAllocationStrategy": "capacity-optimized"
        }
    },
    "MinSize": 1,
    "MaxSize": 5,
    "DesiredCapacity": 3,
    "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
}
```

#### YAML
<a name="capacity-optimized-aws-cli-yaml"></a>

Como alternativa, você pode usar o [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando a seguir para criar o grupo Auto Scaling. Isso faz referência a um arquivo YAML como o único parâmetro para o grupo do Auto Scaling.

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

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

```
---
AutoScalingGroupName: my-asg
MixedInstancesPolicy:
  LaunchTemplate:
    LaunchTemplateSpecification:
      LaunchTemplateName: my-launch-template
      Version: $Default
    Overrides:
    - InstanceType: c5.large
    - InstanceType: c5a.large
    - InstanceType: m5.large
    - InstanceType: m5a.large
    - InstanceType: c4.large
    - InstanceType: m4.large
    - InstanceType: c3.large
    - InstanceType: m3.large
  InstancesDistribution:
    OnDemandBaseCapacity: 1
    OnDemandPercentageAboveBaseCapacity: 0
    SpotAllocationStrategy: capacity-optimized
MinSize: 1
MaxSize: 5
DesiredCapacity: 3
VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
```

### Exemplo 2: Iniciar instâncias spot usando a estratégia de alocação `capacity-optimized-prioritized`
<a name="capacity-optimized-prioritized-aws-cli"></a>

O [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando a seguir cria um grupo de Auto Scaling que especifica o seguinte:
+ A porcentagem do grupo a ser executado como instâncias sob demanda (`0`) e um número base de instâncias sob demanda com as quais começar (`1`)
+ Os tipos de instância a serem iniciadas em ordem de prioridade (`c5.large`, `c5a.large`, `m5.large`, `m5a.large`, `c4.large`, `m4.large`, `c3.large`, `m3.large`)
+ As sub-redes nas quais iniciar as instâncias (`subnet-5ea0c127`, `subnet-6194ea3b`, `subnet-c934b782`) Cada um corresponde a uma zona de disponibilidade diferente.
+ O modelo de execução (`my-launch-template`) e a versão do modelo de execução (`$Latest`)

Quando o Amazon EC2 Auto Scaling tenta atender à sua capacidade sob demanda, ele executa o tipo de instância `c5.large` primeiro. Quando o Amazon EC2 Auto Scaling tenta atender sua capacidade spot, ele honra as prioridades de tipo de instância com base no melhor esforço. No entanto, ele otimiza primeiro a capacidade.

#### JSON
<a name="capacity-optimized-prioritized-aws-cli-json"></a>

```
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",
                "Version": "$Latest"
            },
            "Overrides": [
                {
                    "InstanceType": "c5.large"
                },
                {
                    "InstanceType": "c5a.large"
                },
                {
                    "InstanceType": "m5.large"
                },
                {
                    "InstanceType": "m5a.large"
                },
                {
                    "InstanceType": "c4.large"
                },
                {
                    "InstanceType": "m4.large"
                },
                {
                    "InstanceType": "c3.large"
                },
                {
                    "InstanceType": "m3.large"
                }
            ]
        },
        "InstancesDistribution": {
            "OnDemandBaseCapacity": 1,
            "OnDemandPercentageAboveBaseCapacity": 0,
            "SpotAllocationStrategy": "capacity-optimized-prioritized"
        }
    },
    "MinSize": 1,
    "MaxSize": 5,
    "DesiredCapacity": 3,
    "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
}
```

#### YAML
<a name="capacity-optimized-prioritized-aws-cli-yaml"></a>

Como alternativa, você pode usar o [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando a seguir para criar o grupo Auto Scaling. Isso faz referência a um arquivo YAML como o único parâmetro para o grupo do Auto Scaling. 

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

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

```
---
AutoScalingGroupName: my-asg
MixedInstancesPolicy:
  LaunchTemplate:
    LaunchTemplateSpecification:
      LaunchTemplateName: my-launch-template
      Version: $Default
    Overrides:
    - InstanceType: c5.large
    - InstanceType: c5a.large
    - InstanceType: m5.large
    - InstanceType: m5a.large
    - InstanceType: c4.large
    - InstanceType: m4.large
    - InstanceType: c3.large
    - InstanceType: m3.large
  InstancesDistribution:
    OnDemandBaseCapacity: 1
    OnDemandPercentageAboveBaseCapacity: 0
    SpotAllocationStrategy: capacity-optimized-prioritized
MinSize: 1
MaxSize: 5
DesiredCapacity: 3
VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
```

### Exemplo 3: Iniciar instâncias spot usando a estratégia de alocação `lowest-price` diversificada em dois grupos
<a name="lowest-price-aws-cli"></a>

O [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando a seguir cria um grupo de Auto Scaling que especifica o seguinte:
+ O percentual do grupo a ser iniciado como instâncias sob demanda (`50`) (Isso não especifica um número base de instâncias sob demanda para começar.)
+ Os tipos de instância a serem iniciadas em ordem de prioridade (`c5.large`, `c5a.large`, `m5.large`, `m5a.large`, `c4.large`, `m4.large`, `c3.large`, `m3.large`) 
+ As sub-redes nas quais iniciar as instâncias (`subnet-5ea0c127`, `subnet-6194ea3b`, `subnet-c934b782`) Cada um corresponde a uma zona de disponibilidade diferente.
+ O modelo de execução (`my-launch-template`) e a versão do modelo de execução (`$Latest`)

Quando o Amazon EC2 Auto Scaling tenta atender à sua capacidade sob demanda, ele executa o tipo de instância `c5.large` primeiro. Para sua capacidade spot, o Amazon EC2 Auto Scaling tenta iniciar as instâncias spot uniformemente nos dois grupos de menor preço em cada zona de disponibilidade. 

#### JSON
<a name="lowest-price-aws-cli-json"></a>

```
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",
                "Version": "$Latest"
            },
            "Overrides": [
                {
                    "InstanceType": "c5.large"
                },
                {
                    "InstanceType": "c5a.large"
                },
                {
                    "InstanceType": "m5.large"
                },
                {
                    "InstanceType": "m5a.large"
                },
                {
                    "InstanceType": "c4.large"
                },
                {
                    "InstanceType": "m4.large"
                },
                {
                    "InstanceType": "c3.large"
                },
                {
                    "InstanceType": "m3.large"
                }
            ]
        },
        "InstancesDistribution": {
            "OnDemandPercentageAboveBaseCapacity": 50,
            "SpotAllocationStrategy": "lowest-price",
            "SpotInstancePools": 2
        }
    },
    "MinSize": 1,
    "MaxSize": 5,
    "DesiredCapacity": 3,
    "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
}
```

#### YAML
<a name="lowest-price-aws-cli-yaml"></a>

Como alternativa, você pode usar o [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando a seguir para criar o grupo Auto Scaling. Isso faz referência a um arquivo YAML como o único parâmetro para o grupo do Auto Scaling. 

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

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

```
---
AutoScalingGroupName: my-asg
MixedInstancesPolicy:
  LaunchTemplate:
    LaunchTemplateSpecification:
      LaunchTemplateName: my-launch-template
      Version: $Default
    Overrides:
    - InstanceType: c5.large
    - InstanceType: c5a.large
    - InstanceType: m5.large
    - InstanceType: m5a.large
    - InstanceType: c4.large
    - InstanceType: m4.large
    - InstanceType: c3.large
    - InstanceType: m3.large
  InstancesDistribution:
    OnDemandPercentageAboveBaseCapacity: 50
    SpotAllocationStrategy: lowest-price
    SpotInstancePools: 2
MinSize: 1
MaxSize: 5
DesiredCapacity: 3
VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
```

### Exemplo 4: Iniciar Instâncias spot usando a estratégia de alocação `price-capacity-optimized`
<a name="price-capacity-optimized-aws-cli"></a>

O [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando a seguir cria um grupo de Auto Scaling que especifica o seguinte:
+ O percentual do grupo a ser iniciado como instâncias sob demanda (`30`) (Isso não especifica um número base de instâncias sob demanda para começar.)
+ Os tipos de instância a serem iniciadas em ordem de prioridade (`c5.large`, `c5a.large`, `m5.large`, `m5a.large`, `c4.large`, `m4.large`, `c3.large`, `m3.large`) 
+ As sub-redes nas quais iniciar as instâncias (`subnet-5ea0c127`, `subnet-6194ea3b`, `subnet-c934b782`) Cada um corresponde a uma zona de disponibilidade diferente.
+ O modelo de execução (`my-launch-template`) e a versão do modelo de execução (`$Latest`)

Quando o Amazon EC2 Auto Scaling tenta atender à sua capacidade sob demanda, ele executa o tipo de instância `c5.large` primeiro. Para sua capacidade spot, o Amazon EC2 Auto Scaling tenta iniciar as instâncias spot de pools de instâncias spot com o preço mais baixo possível, mas também com capacidade ideal para o número de instâncias que estão sendo executadas.

#### JSON
<a name="price-capacity-optimized-aws-cli-json"></a>

```
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",
                "Version": "$Latest"
            },
            "Overrides": [
                {
                    "InstanceType": "c5.large"
                },
                {
                    "InstanceType": "c5a.large"
                },
                {
                    "InstanceType": "m5.large"
                },
                {
                    "InstanceType": "m5a.large"
                },
                {
                    "InstanceType": "c4.large"
                },
                {
                    "InstanceType": "m4.large"
                },
                {
                    "InstanceType": "c3.large"
                },
                {
                    "InstanceType": "m3.large"
                }
            ]
        },
        "InstancesDistribution": {
            "OnDemandPercentageAboveBaseCapacity": 30,
            "SpotAllocationStrategy": "price-capacity-optimized"
        }
    },
    "MinSize": 1,
    "MaxSize": 5,
    "DesiredCapacity": 3,
    "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
}
```

#### YAML
<a name="price-capacity-optimized-aws-cli-yaml"></a>

Como alternativa, você pode usar o [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando a seguir para criar o grupo Auto Scaling. Isso faz referência a um arquivo YAML como o único parâmetro para o grupo do Auto Scaling. 

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

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

```
---
AutoScalingGroupName: my-asg
MixedInstancesPolicy:
  LaunchTemplate:
    LaunchTemplateSpecification:
      LaunchTemplateName: my-launch-template
      Version: $Default
    Overrides:
    - InstanceType: c5.large
    - InstanceType: c5a.large
    - InstanceType: m5.large
    - InstanceType: m5a.large
    - InstanceType: c4.large
    - InstanceType: m4.large
    - InstanceType: c3.large
    - InstanceType: m3.large
  InstancesDistribution:
    OnDemandPercentageAboveBaseCapacity: 30
    SpotAllocationStrategy: price-capacity-optimized
MinSize: 1
MaxSize: 5
DesiredCapacity: 3
VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
```

# Configurar um grupo do Auto Scaling para usar ponderação da instância
<a name="ec2-auto-scaling-mixed-instances-groups-instance-weighting"></a>

Ao usar vários tipos de instância, você pode especificar quantas unidades associar a cada tipo de instância e, em seguida, especificar a capacidade do seu grupo com a mesma unidade de medida. Essa opção de especificação de capacidade é conhecida como ponderações.

Por exemplo, digamos que você execute um aplicativo de computação intensiva que tenha melhor desempenho com pelo menos 8 V CPUs e 15 GiB de RAM. Se você usar `c5.2xlarge` como sua unidade base, qualquer um dos tipos de instância do EC2 a seguir atenderá às necessidades da aplicação. 


**Exemplo de tipos de instância**  

| Tipo de instância | vCPU | Memória (GiB) | 
| --- | --- | --- | 
| c5.2xlarge  |  8  | 16 | 
| c5.4xlarge | 16 | 32 | 
| c5.12xlarge | 48 | 96 | 
| c5.18xlarge  | 72 | 144 | 
| c5.24xlarge | 96 | 192 | 

Por padrão, todos os tipos de instância têm o mesmo peso, independentemente do tamanho. Em outras palavras, se o Amazon EC2 Auto Scaling iniciar um tipo de instância grande ou pequeno, cada instância será considerada na capacidade desejada do grupo do Auto Scaling.

No entanto, com a ponderação de instâncias, você atribui um valor numérico que especifica quantas unidades de capacidade devem ser associadas a cada tipo de instância. Por exemplo, se as instâncias tiverem tamanhos diferentes, uma instância `c5.2xlarge` poderá ter o peso 2, uma `c5.4xlarge` (que é duas vezes maior) poderá ter o peso 4 e assim por diante. Quando o Amazon EC2 Auto Scaling reduz a escala do grupo, esses pesos se traduzem no número de unidades que cada instância conta para a capacidade desejada. 

Os pesos não alteram quais tipos de instância o Amazon EC2 Auto Scaling escolhe iniciar; em vez disso, as estratégias de alocação fazem isso. Para obter mais informações, consulte [Estratégias de alocação para vários tipos de instância](allocation-strategies.md).

**Importante**  
Para configurar um grupo de Auto Scaling para atingir a capacidade desejada usando o número de v CPUs ou a quantidade de memória de cada tipo de instância, recomendamos usar a seleção de tipo de instância baseada em atributos. A configuração do parâmetro `DesiredCapacityType` especifica automaticamente o número de unidades a serem associadas a cada tipo de instância com base no valor que você definiu para esse parâmetro. Para obter mais informações, consulte [Crie um grupo de instâncias mistas usando a seleção de tipo de instância baseada em atributos](create-mixed-instances-group-attribute-based-instance-type-selection.md).

**Topics**
+ [Considerações](#weights-considerations)
+ [Comportamentos de peso da instância](#instance-weighting-behaviors)
+ [Configurar um grupo do Auto Scaling para usar pesos](configue-auto-scaling-group-to-use-weights.md)
+ [Exemplo de preço spot por unidade hora](weights-spot-price-per-unit-hour-example.md)

## Considerações
<a name="weights-considerations"></a>

Esta seção discute as principais considerações na implementação eficaz da ponderação de instâncias.
+ Escolha alguns tipos de instância que atendam às necessidades de desempenho da sua aplicação. Decida a ponderação que cada tipo de instância deve ter em relação à capacidade desejada do seu grupo do Auto Scaling com base em seus recursos. Os pesos se aplicam a instâncias atuais e futuras no grupo.
+ Evite grandes intervalos entre ponderações. Por exemplo, não recomendamos especificar um peso 1 para um tipo de instância quando o próximo tipo de instância maior tiver um peso 200. A diferença entre os pesos menores e maiores também não deve ser extrema. Diferenças extremas de ponderação podem afetar negativamente a otimização do custo-desempenho..
+ Especifique a capacidade desejada do grupo em unidades, não em instâncias. Por exemplo, se os seus pesos forem baseados em vCPUs, será necessário especificar o número desejado, mínimo e máximo de núcleos que você quer.
+ Defina seus pesos e a capacidade desejada de forma que a capacidade desejada seja pelo menos duas a três vezes maior do que o seu maior peso.

Observe o seguinte ao atualizar grupos existentes:
+ Quando você adicionar ponderações a um grupo existente, inclua ponderações para todos os tipos de instância atualmente em uso.
+ Ao atualizar pesos existentes, o Amazon EC2 Auto Scaling iniciará ou encerrará instâncias para alcançar sua capacidade desejada com base nos novos pesos.
+ Se você remover um tipo de instância, as instâncias em execução desse tipo manterão sua última ponderação, mesmo que não estejam mais definidas.

## Comportamentos de peso da instância
<a name="instance-weighting-behaviors"></a>

Quando você usa pesos de instância, o Amazon EC2 Auto Scaling se comporta da seguinte maneira:
+ A capacidade atual será a capacidade desejada ou acima dela. A capacidade atual pode exceder a capacidade desejada se forem executadas instâncias que excedam as unidades de capacidade desejada restantes. Por exemplo, vamos supor que você especifique dois tipos de instância, `c5.2xlarge` e `c5.12xlarge`, e atribua pesos de instância de 2 para `c5.2xlarge` e 12 para `c5.12xlarge`. Se houver cinco unidades restantes para atender a capacidade desejada, e o Amazon EC2 Auto Scaling provisionar uma,`c5.12xlarge` a capacidade desejada será excedida em sete unidades. 
+ Ao iniciar instâncias, o Amazon EC2 Auto Scaling prioriza a distribuição da capacidade entre as zonas de disponibilidade e o respeito às estratégias de alocação em vez de exceder a capacidade desejada.
+ O Amazon EC2 Auto Scaling pode ultrapassar o limite máximo de capacidade para manter o equilíbrio entre as zonas de disponibilidade usando suas estratégias de alocação preferenciais. O limite rígido imposto pelo Amazon EC2 Auto Scaling é um valor que é igual à sua capacidade desejada mais o seu maior peso.

# Configurar um grupo do Auto Scaling para usar pesos
<a name="configue-auto-scaling-group-to-use-weights"></a>

Você pode configurar um grupo do Auto Scaling para usar pesos, conforme mostrado nos exemplos AWS CLI a seguir. Para obter instruções sobre como usar o console, consulte [Criar um grupo misto de instâncias escolhendo manualmente os tipos de instância](create-mixed-instances-group-manual-instance-type-selection.md).

**Para configurar um novo grupo do Auto Scaling para usar pesos (AWS CLI)**  
Use o comando [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html). Por exemplo, o comando a seguir cria um novo grupo do Auto Scaling e adiciona pesos especificando o seguinte:
+ O percentual do grupo a ser iniciado como instâncias sob demanda (`0`) 
+ A estratégia de alocação para instâncias spot em cada zona de disponibilidade (`capacity-optimized`)
+ Os tipos de instância a serem executados em ordem de prioridade (`m4.16xlarge`, `m5.24xlarge`)
+ Os pesos das instâncias que correspondem à diferença de tamanho relativo (vCPUs) entre os tipos de instância (`16`,`24`)
+ As sub-redes nas quais iniciar as instâncias (`subnet-5ea0c127`, `subnet-6194ea3b`, `subnet-c934b782`), cada uma correspondente a uma zona de disponibilidade diferente
+ O modelo de execução (`my-launch-template`) e a versão do modelo de execução (`$Latest`)

```
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",
                "Version": "$Latest"
            },
            "Overrides": [
                {
                    "InstanceType": "m4.16xlarge",
                    "WeightedCapacity": "16"
                },
                {
                    "InstanceType": "m5.24xlarge",
                    "WeightedCapacity": "24"
                }
            ]
        },
        "InstancesDistribution": {
            "OnDemandPercentageAboveBaseCapacity": 0,
            "SpotAllocationStrategy": "capacity-optimized"
        }
    },
    "MinSize": 160,
    "MaxSize": 720,
    "DesiredCapacity": 480,
    "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782",
    "Tags": []
}
```

**Para configurar um grupo do Auto Scaling existente para usar pesos (AWS CLI)**  
Use o comando [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html). Por exemplo, o comando a seguir adiciona pesos a tipos de instância em um grupo do Auto Scaling existente especificando o seguinte:
+ Os tipos de instância a serem executados em ordem de prioridade (`c5.18xlarge`, `c5.24xlarge`, `c5.2xlarge`, `c5.4xlarge`)
+ Os pesos das instâncias que correspondem à diferença de tamanho relativo (vCPUs) entre os tipos de instância (`18`,, `24``2`,`4`)
+ A nova capacidade desejada aumentada, que é maior do que o maior peso

```
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-existing-asg",
    "MixedInstancesPolicy": {
        "LaunchTemplate": {
            "Overrides": [
                {
                    "InstanceType": "c5.18xlarge",
                    "WeightedCapacity": "18"
                },
                {
                    "InstanceType": "c5.24xlarge",
                    "WeightedCapacity": "24"
                },
                {
                    "InstanceType": "c5.2xlarge",
                    "WeightedCapacity": "2"
                },
                {
                    "InstanceType": "c5.4xlarge",
                    "WeightedCapacity": "4"
                }
            ]
        }
    },
    "MinSize": 0,
    "MaxSize": 100,
    "DesiredCapacity": 100
}
```

**Para verificar os pesos usando a linha de comando**  
Use um dos seguintes comandos:
+ [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html) (AWS CLI)
+ [Obtenha- ASAuto ScalingGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-ASAutoScalingGroup.html) (AWS Tools for Windows PowerShell)

# Exemplo de preço spot por unidade hora
<a name="weights-spot-price-per-unit-hour-example"></a>

A tabela a seguir compara o preço por hora das instâncias spot em diferentes zonas de disponibilidade no Leste dos EUA (Norte da Virgínia) com o preço das instâncias sob demanda na mesma região. Os preços mostrados são preços de exemplo e não os preços atuais. Estes são seus custos *por hora de instância*. 


**Exemplo: preços spot por hora de instância**  

| Tipo de instância | us-east-1a | us-east-1b | us-east-1c | Definição de preço sob demanda | 
| --- | --- | --- | --- | --- | 
| c5.2xlarge  | 0,180 USD | 0,191 USD | 0,170 USD | 0,34 USD  | 
| c5.4xlarge | 0,341 USD | 0,361 USD | 0,318 USD | 0,68 USD | 
| c5.12xlarge  | 0,779 USD | 0,777 USD  | 0,777 USD  | 2,04 USD | 
| c5.18xlarge  | 1,207 USD | 1,475 USD | 1,357 USD | 3,06 USD | 
| c5.24xlarge | 1,555 USD | 1,555 USD | 1,555 USD | 4,08 USD | 

Com os pesos de instâncias, você pode avaliar seus custos com base no que você usa *por unidade de hora*. Você pode determinar o preço por hora dividindo seu preço para um tipo de instância pelo número de unidades que ele representa. Para instâncias sob demanda, o preço por hora ao implantar um tipo de instância é igual ao que é ao implantar um tamanho diferente do mesmo tipo de instância. Por outro lado, o preço spot por hora varia por grupo spot. 

O exemplo a seguir mostra como o cálculo do preço spot por unidade de hora funciona com pesos de instância. Para facilitar o cálculo, digamos que você queira iniciar instâncias spot somente em `us-east-1a`. O preço unitário por hora está capturado na tabela a seguir.


**Exemplo: preço spot por unidade hora**  

| Tipo de instância | us-east-1a | Peso da instância | Preço por hora  | 
| --- | --- | --- | --- | 
| c5.2xlarge  | 0,180 USD | 2 | 0,090 USD | 
| c5.4xlarge | 0,341 USD | 4 | 0,085 USD | 
| c5.12xlarge  | 0,779 USD | 12 | 0,065 USD | 
| c5.18xlarge  | 1,207 USD | 18 | 0,067 USD | 
| c5.24xlarge | 1,555 USD | 24 | 0,065 USD | 

# Usar vários modelos de execução
<a name="ec2-auto-scaling-mixed-instances-groups-launch-template-overrides"></a>

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. As instâncias AMIs for C5 e C5a funcionam em cada uma dessas instâncias, mas não nas 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. 

**Topics**
+ [Configurar um grupo do Auto Scaling para usar vários modelos de execução](#configue-auto-scaling-group-to-use-multiple-launch-templates)
+ [Recursos relacionados](#multiple-launch-templates-related-resources)

## Configurar um grupo do Auto Scaling para usar vários modelos de execução
<a name="configue-auto-scaling-group-to-use-multiple-launch-templates"></a>

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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html). 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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html). 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 configurar um novo grupo do Auto Scaling para usar vários modelos de execução com seleção de tipo de instância baseada em atributos (AWS CLI)**  
Use o comando [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html). Por exemplo, o comando a seguir cria um novo grupo de Auto Scaling especificando um modelo de execução para instâncias AWS Graviton com uma AMI ARM e um modelo de execução adicional para instâncias baseadas em AMD ou Intel com uma AMI x86. Em seguida, usa duas vezes a [seleção de instância baseada em atributos](create-mixed-instances-group-attribute-based-instance-type-selection.md) para selecionar entre uma ampla variedade de tipos de instância para cada arquitetura de CPU. Você pode adicionar uma configuração semelhante a um grupo de Auto Scaling existente com o [update-autoscaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/update-auto-scaling-group.html)comando.

```
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-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 os modelos de execução de um grupo do Auto Scaling**  
Use um dos seguintes comandos:
+ [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html) (AWS CLI)
+ [Obtenha- ASAuto ScalingGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-ASAutoScalingGroup.html) (AWS Tools for Windows PowerShell)

## Recursos relacionados
<a name="multiple-launch-templates-related-resources"></a>

[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 CloudFormation modelo em re:POST.AWS](https://repost.aws/articles/ARQeKDQX68TcqipYaaisl6bA/cloudformation-auto-scaling-group-sample-template-for-mixed-x86-intel-amd-and-aws-graviton-instances)