Gerenciar instâncias sob demanda e instâncias spot
Você pode iniciar e escalar automaticamente uma frota de instâncias sob demanda e instâncias spot em um único grupo do Auto Scaling. As opções a seguir podem ser usadas em conjunto para configurar como o serviço Auto Scaling gerencia instâncias spot e instâncias sob demanda no seu ambiente.
Você pode configurar essas opções para o seu ambiente usando o console do Elastic Beanstalk, opções de configuração do namespace, a AWS CLI ou a EB CLI.
Essas opções fazem parte do namespace aws:ec2:instances:
-
EnableSpot: quando definido comtrueessa configuração, habilita solicitações de instância spot para seu ambiente. -
SpotFleetOnDemandBase: define o número mínimo de instâncias sob demanda que o grupo de Auto Scaling provisiona antes de considerar as instâncias spot à medida que o ambiente é dimensionado. -
SpotFleetOnDemandAboveBasePercentage: o percentual de instâncias sob demanda como parte da capacidade adicional que o grupo de Auto Scaling provisiona além das instânciasSpotOnDemandBase.
As opções listadas anteriormente se correlacionam com as seguintes opções no namespace aws:autoscaling:asg:
-
MinSize: o número mínimo de instâncias que você deseja no grupo de Auto Scaling. -
MaxSize: o número máximo de instâncias desejadas no grupo de Auto Scaling.
Importante
A configuração da opção EnableSpot, ou pode fazer com que o Elastic Beanstalk migre um ambiente existente com configurações de lançamento para modelos de lançamento. Para isso, é necessário ter as permissões necessárias para gerenciar modelos de lançamento. Essas permissões estão incluídas em nossa política gerenciada. Se você usar políticas personalizadas em vez de nossas políticas gerenciadas, a criação ou as atualizações do ambiente poderão falhar quando você atualizar a configuração do ambiente. Para obter mais informações e outras considerações, consulte Migrar o ambiente do Elastic Beanstalk para modelos de lançamento .
Aplicar ambos conjuntos de opções de namespace
Os pontos a seguir descrevem como a combinação dessas configurações de opção afeta a escala do seu ambiente.
-
Somente
MinSizedetermina a capacidade inicial do seu ambiente — o número de instâncias que você deseja executar no mínimo. -
SpotFleetOnDemandBasenão afeta a capacidade inicial. Quando o Spot está habilitado, essa opção determina quantas instâncias sob demanda são provisionadas antes de qualquer instância spot ser considerada. -
Considere quando
SpotFleetOnDemandBasefor menor queMinSize. Você ainda vai ter exatasMinSizeinstâncias como capacidade inicial. No mínimoSpotFleetOnDemandBasedelas devem ser instâncias sob demanda. -
Considere quando
SpotFleetOnDemandBasefor maior queMinSize. À medida que o ambiente tiver aumento da escala, você terá, pelo menos,uma quantidade adicional de instâncias igual à diferença entre os dois valores. Em outras palavras, você tem a garantia de que obterá pelo menos uma(SpotFleetOnDemandBase - MinSize)instância adicional sob demanda antes de atender aoSpotFleetOnDemandBaserequisito.
Ambientes de instância única
Em ambientes de produção, as instâncias spot são particularmente úteis como parte de um ambiente escalável e com balanceamento de carga. Não recomendamos o uso de spot em um ambiente de instância única. Se as instâncias spot não estiverem disponíveis, você poderá perder toda a capacidade (uma única instância) do seu ambiente. Você ainda pode usar uma instância spot em um ambiente de instância única para desenvolvimento ou teste. Neste caso, certifique-se de definir ambas SpotFleetOnDemandBase e SpotFleetOnDemandAboveBasePercentage de zerar. Quaisquer outras configurações resultam em uma instância sob demanda.
Exemplos de configurações de opções de escala
Os exemplos a seguir demonstram diferentes cenários de configurações das várias opções de escalabilidade. Todos os exemplos pressupõem um ambiente com balanceamento de carga e com solicitações de instância spot habilitadas.
exemplo 1: Sob demanda e spot como parte da capacidade inicial
| Opção | Namespace | Valor |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Neste exemplo, o ambiente começa com dez instâncias, das quais sete são sob demanda (quatro de base e 50% das seis acima da base) e três são spot. O ambiente pode ser expandido até 24 instâncias. Conforme ele é expandido, a quantidade sob demanda na parte da frota acima das quatro instâncias sob demanda de base é mantida em 50%, até um máximo de 24 instâncias no geral, das quais 14 são sob demanda (quatro de base e 50% das 20 acima da base) e dez são spot.
exemplo 2: Toda a capacidade inicial sob demanda
| Opção | Namespace | Valor |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Neste exemplo, o ambiente começa com quatro instâncias, todas sob demanda. O ambiente pode ser expandido até 24 instâncias. Conforme ele é expandido, a quantidade sob demanda na parte da frota acima das quatro instâncias sob demanda de base é mantida em 50%, até um máximo de 24 instâncias no geral, das quais 14 são sob demanda (quatro de base e 50% das 20 acima da base) e dez são spot.
exemplo 3: Base adicional sob demanda além da capacidade inicial
| Opção | Namespace | Valor |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Neste exemplo, o ambiente começa com três instâncias, todas sob demanda. O ambiente pode ser expandido até 24 instâncias. A primeira instância adicional acima das três iniciais é sob demanda, para concluir as quatro instâncias sob demanda de base. À medida que ele é expandido ainda mais, a quantidade sob demanda, na parte da frota acima das quatro instâncias sob demanda de base, é mantida em 50%, até um máximo de 24 instâncias no geral, das quais 14 são sob demanda (quatro de base e 50% das 20 acima da base) e dez são spot.