Tutorial: configurar o EC2 Fleet para usar ponderação de instâncias
Este tutorial usa uma empresa fictícia chamada Example Corp para ilustrar o processo de solicitação de uma Frota do EC2 usando o peso da instância.
Objetivo
A Exemplo Corp, uma empresa farmacêutica, quer usar a capacidade computacional do Amazon EC2 para fazer a triagem dos compostos químicos que podem ser usados para combater o câncer.
Planejamento
Primeiro, a Exemplo Corp analisa as Melhores práticas de spot
Tipos de instância
A Exemplo Corp tem uma aplicação de uso intenso de memória e recursos de computação que funciona melhor com, pelo menos, 60 GB de memória e oito CPUs virtuais (vCPUs). Eles querem maximizar esses recursos para a aplicação com o menor preço possível. A Exemplo Corp decide que qualquer um dos seguintes tipos de instância do EC2 atenderá às suas necessidades:
Tipo de instância | Memória (GiB) | vCPUs |
---|---|---|
r3.2xlarge |
61 |
8 |
r3.4xlarge |
122 |
16 |
r3.8xlarge |
244 |
32 |
Capacidade de destino em unidades
Com o peso da instância, a capacidade de destino pode igualar um número de instâncias (o padrão) ou uma combinação de fatores, como núcleos (vCPUs), memória (GiB) e armazenamento (GB). Considerando a base para sua aplicação (60 GB de RAM e oito vCPUs) como uma unidade, a Exemplo Corp decide que 20 vezes essa quantidade atenderá às suas necessidades. Então, a empresa define a capacidade de destino da solicitação do EC2 Fleet como 20 unidades.
Pesos das instâncias
Depois de determinar a capacidade de destino, a Exemplo Corp calcula os pesos das instâncias. Para calcular o peso para cada tipo de instância, eles determinam as unidades de cada tipo de instância que são necessárias para atingir a capacidade de destino da seguinte forma:
-
r3.2xlarge (61,0 GB, 8 vCPUs) = 1 unidade de 20
-
r3.4xlarge (122,0 GB, 16 vCPUs) = 2 unidades de 20
-
r3.8xlarge (244,0 GB, 32 vCPUs) = 4 unidades de 20
Portanto, a Exemplo Corp atribui os pesos de instância 1, 2 e 4 às respectivas configurações de execução na solicitação de Frota do EC2.
Preço por hora
A Exemplo Corp usa o Preço sob demanda
Tipo de instância | Preço sob demanda | Peso da instância | Preço por hora |
---|---|---|---|
r3.2xLarge |
0,7 USD |
1 |
0,7 USD |
r3.4xLarge |
1,4 USD |
2 |
0,7 USD |
r3.8xLarge |
$2,8 |
4 |
0,7 USD |
A Exemplo Corp pode usar um preço global por hora de 0,7 USD e ser competitiva para todos os três tipos de instância. Eles também podem usar um preço global por hora de 0,7 USD e um preço específico por hora de 0,9 USD na especificação de execução r3.8xlarge
.
Verificar permissões
Antes de criar uma Frota do EC2, a Exemplo Corp verifica se ela tem uma função do IAM com as permissões necessárias. Para ter mais informações, consulte Pré-requisitos da Frota do EC2.
Criar um modelo de execução
Em seguida, a Exemplo Corp cria um modelo de execução. O ID do modelo de execução é usado na próxima etapa. Para ter mais informações, consulte Criar um modelo de execução do Amazon EC2.
Criar a Frota do EC2
A Example Corp cria um arquivo, config.json
, com a seguinte configuração para sua Frota do EC2: No exemplo a seguir, substitua os identificadores de recursos pelos seus identificadores de recursos.
{
"LaunchTemplateConfigs": [
{
"LaunchTemplateSpecification": {
"LaunchTemplateId": "lt-07b3bc7625cdab851",
"Version": "1"
},
"Overrides": [
{
"InstanceType": "r3.2xlarge",
"SubnetId": "subnet-482e4972",
"WeightedCapacity": 1
},
{
"InstanceType": "r3.4xlarge",
"SubnetId": "subnet-482e4972",
"WeightedCapacity": 2
},
{
"InstanceType": "r3.8xlarge",
"MaxPrice": "0.90",
"SubnetId": "subnet-482e4972",
"WeightedCapacity": 4
}
]
}
],
"TargetCapacitySpecification": {
"TotalTargetCapacity": 20,
"DefaultTargetCapacityType": "spot"
}
}
A Example Corp cria a Frota do EC2 usando o seguinte comando create-fleet:
aws ec2 create-fleet --cli-input-json file://config.json
Para ter mais informações, consulte Criar uma Frota do EC2..
Atendimento
A estratégia de alocação determina de quais grupos de capacidade spot os Instâncias spot procedem.
Com a estratégia lowest-price
(que é uma estratégia padrão), as Instâncias spot vêm do grupo com o menor preço spot por unidade no momento do atendimento. Para fornecer 20 unidades de capacidade, a Frota do EC2 executa 20 instâncias r3.2xlarge
(20 dividido por 1), 10 instâncias r3.4xlarge
(20 dividido por 2) ou 5 instâncias r3.8xlarge
(20 dividido por 4).
Se a Exemplo Corp usasse a estratégia diversified
, as Instâncias spot viriam dos três grupos. A Frota do EC2 executaria seis instâncias r3.2xlarge
(que fornecem 6 unidades), três instâncias r3.4xlarge
(que fornecem 6 unidades), duas instâncias r3.8xlarge
(que fornecem 8 unidades), totalizando 20 unidades.