View a markdown version of this page

Use segmentos de distribuição para atingir vários tipos de reserva de capacidade - Amazon EC2 Auto Scaling

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

Use segmentos de distribuição para atingir vários tipos de reserva de capacidade

Use segmentos de distribuição para configurar seu grupo de Auto Scaling para consumir vários tipos de reserva de capacidade — reservas de On-Demand capacidade, Capacity Blocks para ML, e reservas de capacidade interruptível — com ordenação prioritária. Você segmenta esses tipos de reserva apontando seu grupo de Auto Scaling para um grupo de recursos de reserva de capacidade que contém uma combinação de diferentes reservas de capacidade.

Quando você configura segmentos de distribuição, o Auto Scaling inicia instâncias em todos os tipos de reserva na ordem de prioridade especificada, com redução opcional da capacidade. On-Demand

Como o Auto Scaling distribui instâncias entre as opções de mercado

O Auto Scaling distribui as instâncias lançadas em diferentes opções de mercado com base na configuração de sua política de instâncias mistas.

On-Demand e distribuição spot

Você pode distribuir instâncias entre On-Demand e a capacidade spot usando os OnDemandPercentageAboveBaseCapacity campos OnDemandBaseCapacity e em sua política de instâncias mistas. O exemplo a seguir inicia as duas primeiras instâncias como On-Demand, depois 25% das instâncias restantes como On-Demand e as demais como spot:

{ "InstancesDistribution": { "OnDemandBaseCapacity": 2, "OnDemandPercentageAboveBaseCapacity": 25 } }

Distribuição com segmentos de distribuição

Um segmento de distribuição é uma configuração em seu grupo de Auto Scaling que contém uma lista de tipos de capacidade a serem priorizados em ordem. Os segmentos de distribuição são definidos no DistributionSegments campo de sua política de instâncias mistas.

Atualmente, o Auto Scaling suporta somente um segmento de distribuição por grupo de Auto Scaling. Toda a capacidade do grupo de Auto Scaling é distribuída entre os tipos de capacidade de destino (TargetCapacityTypes) nesse segmento.

Os valores válidos para TargetCapacityTypes são:

  • on-demand-capacity-reservation— Reservas On-Demand de capacidade

  • capacity-block— Capacity Blocks para ML

  • interruptible-capacity-reservation— reservas de capacidade interruptível

  • on-demand— On-Demand capacidade

A ordem da lista determina como o Auto Scaling distribui as instâncias executadas. O Auto Scaling tenta consumir capacidade na ordem em que os tipos são listados. Quando um determinado tipo de capacidade não está disponível, o Auto Scaling ignora esse tipo e passa para o próximo.

O exemplo a seguir inicia instâncias como On-Demand Capacidade Reservation-backed primeiro, depois como Capacity Block apoiada, depois como Capacidade interruptível e Reservation-backed, finalmente, como On-Demand se a capacidade reservada fosse insuficiente:

{ "InstancesDistribution": { "DistributionSegments": [ { "TargetCapacityTypes": [ "on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand" ] } ] } }

Se você incluir on-demand na lista, o Auto Scaling retornará à On-Demand capacidade quando a capacidade reservada não estiver disponível. Se você omitiron-demand, as instâncias falharão na inicialização quando a capacidade reservada não estiver disponível. Se você incluiron-demand, deve ser a última entrada na lista.

nota

No momento, a capacidade spot não é suportada como um tipo de capacidade alvo.

Pré-requisitos

Antes de configurar segmentos de distribuição em seu grupo de Auto Scaling, você deve criar as reservas de capacidade que deseja consumir e o grupo de recursos de reserva de capacidade que as contém.

Para criar uma reserva de capacidade, consulte uma das seguintes opções no Guia do usuário do Amazon EC2:

Para criar um grupo de recursos de reserva de capacidade que contenha uma combinação de diferentes reservas de capacidade, consulte Grupos de recursos de reserva de capacidade no Guia do usuário do Amazon EC2.

Configure seu grupo de Auto Scaling para usar segmentos de distribuição

Para configurar seu grupo de Auto Scaling para usar segmentos de distribuição, adicione-os à sua política de instâncias mistas e defina o ARN do Grupo de Recursos de Reserva de Capacidade como o alvo em sua especificação de reserva de capacidade.

O Auto Scaling tenta iniciar instâncias na ordem de prioridade dos tipos de capacidade e dentro de cada tipo de capacidade, na ordem dos tipos de instância listados em seu modelo Overrides de execução.

Console
Para configurar segmentos de distribuição em um novo grupo (console)
  1. Siga as etapas emCriar um grupo do Auto Scaling usando o assistente de execução do Amazon EC2, até a etapa 2.

  2. Na página Escolher opções de execução da instância, em Requisitos do tipo de instância, escolha Substituir modelo de execução e, em seguida, escolha Substituir modelo de execução para segmentos de distribuição.

  3. Em Opções de distribuição de instâncias, escolha Segmentos de distribuição.

  4. Em Selecionar tipo de reserva de capacidade de destino, selecione os tipos de reserva de capacidade a serem incluídos nesse segmento de distribuição. Certifique-se de que seu Grupo de Recursos de Reserva de Capacidade contenha os tipos de reserva que você selecionar.

  5. Em Ordenar tipos de reserva de capacidade de destino, arraste os tipos para a ordem de prioridade desejada. O Auto Scaling inicia instâncias nas reservas de capacidade nessa ordem. Se você selecionou On-Demand instâncias, elas devem ser as últimas.

  6. Em Configurações adicionais de capacidade, para Destino de reserva de capacidade, escolha Especificar grupo de recursos de reserva de capacidade (destino por ARN) e, em seguida, escolha o ARN do seu grupo de recursos de reserva de capacidade.

  7. Continue com as etapas restantes do assistente.

AWS CLI

Use o comando create-auto-scaling-group para criar um novo grupo de Auto Scaling com segmentos de distribuição.

O exemplo a seguir usa uma ordem de prioridade de reservas de On-Demand capacidade primeiro, depois de reservas de capacidade interruptíveis Capacity Blocks e, em seguida, de reservas de capacidade interrompidas. On-Demand

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --min-size 0 --max-size 10 --desired-capacity 5 \ --vpc-zone-identifier "subnet-abc1234a" \ --mixed-instances-policy '{ "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template" }, "Overrides": [ {"InstanceType": "m5.24xlarge"}, {"InstanceType": "p5.48xlarge"} ] }, "InstancesDistribution": { "OnDemandAllocationStrategy": "prioritized", "DistributionSegments": [ { "TargetCapacityTypes": [ "on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand" ] } ] } }' \ --capacity-reservation-specification '{ "CapacityReservationTarget": { "CapacityReservationResourceGroupArns": [ "arn:aws:resource-groups:us-east-1:123456789012:group/my-crg" ] } }'

Migrar de e para segmentos de distribuição

Você pode migrar um grupo existente do Auto Scaling para usar segmentos de distribuição e migrar de volta para uma configuração padrão quando necessário. Em todos os cenários de migração, as instâncias existentes continuam em execução. Os novos lançamentos seguem a configuração atualizada.

Migre um grupo de instâncias mistas para usar segmentos de distribuição

Para migrar um grupo de instâncias mistas existente para usar segmentos de distribuição, use um dos métodos a seguir. O Auto Scaling limpa automaticamente OnDemandBaseCapacity e OnDemandPercentageAboveBaseCapacity quando você adiciona segmentos de distribuição.

Console
Para migrar um grupo existente para segmentos de distribuição (console)
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/ e escolha Auto Scaling Groups no painel de navegação.

  2. Na barra de navegação na parte superior, escolha Região da AWS onde seu grupo do Auto Scaling está localizado.

  3. Escolha o nome do seu grupo do Auto Scaling para abrir a página de detalhes.

  4. Na seção Requisitos do tipo de instância, escolha Editar.

  5. Em Requisitos de tipo de instância, escolha Substituir modelo de execução e, em seguida, escolha Substituir modelo de execução para segmentos de distribuição.

  6. Em Opções de distribuição de instâncias, escolha Segmentos de distribuição.

  7. Em Selecionar tipo de reserva de capacidade de destino, selecione os tipos de reserva de capacidade a serem incluídos nesse segmento de distribuição. Certifique-se de que seu Grupo de Recursos de Reserva de Capacidade contenha os tipos de reserva que você selecionar.

  8. Em Ordenar tipos de reserva de capacidade de destino, arraste os tipos para a ordem de prioridade desejada. Se você selecionou On-Demand instâncias, elas devem ser as últimas.

  9. Selecione Atualizar.

Para definir o Grupo de Recursos de Reserva de Capacidade como o alvo de um grupo existente, consulteAtualizar um grupo existente do Auto Scaling.

AWS CLI

Use o comando update-auto-scaling-group para adicionar segmentos de distribuição à sua política de instâncias mistas e definir o ARN do Capacity Reservation Resource Group como destino.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --mixed-instances-policy '{ "InstancesDistribution": { "DistributionSegments": [ { "TargetCapacityTypes": [ "on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand" ] } ] } }' \ --capacity-reservation-specification '{ "CapacityReservationPreference": "default", "CapacityReservationTarget": { "CapacityReservationResourceGroupArns": [ "arn:aws:resource-groups:us-east-1:123456789012:group/my-crg" ] } }'

Migre para fora dos segmentos de distribuição

Para migrar de volta para um grupo padrão de instâncias mistas, use um dos métodos a seguir.

Console
Para remover segmentos de distribuição de um grupo (console)
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/ e escolha Auto Scaling Groups no painel de navegação.

  2. Na barra de navegação na parte superior, escolha Região da AWS onde seu grupo do Auto Scaling está localizado.

  3. Escolha o nome do seu grupo do Auto Scaling para abrir a página de detalhes.

  4. Na seção Requisitos do tipo de instância, escolha Editar.

  5. Em Requisitos de tipo de instância, escolha Redefinir para iniciar o modelo. Isso remove as substituições do modelo de execução, o que limpa a política de instâncias mistas e os segmentos de distribuição junto com ela.

  6. Selecione Atualizar.

AWS CLI

Use o comando update-auto-scaling-group para definir ou. OnDemandBaseCapacity OnDemandPercentageAboveBaseCapacity O Auto Scaling limpa automaticamente os segmentos de distribuição quando você define os campos legados.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --mixed-instances-policy '{ "InstancesDistribution": { "OnDemandBaseCapacity": 2, "OnDemandPercentageAboveBaseCapacity": 25 } }' \ --capacity-reservation-specification '{ "CapacityReservationPreference": "capacity-reservations-first" }'

Como alternativa, você pode limpar os segmentos de distribuição explicitamente definindo como uma DistributionSegments lista vazia.

Se você quiser passar a usar um modelo de execução em seu grupo de Auto Scaling sem uma política de instâncias mistas, use o update-auto-scaling-group comando com um modelo de execução de nível superior. O Auto Scaling limpa a política de instâncias mistas quando você fornece um modelo de lançamento de alto nível.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-launch-template \ --capacity-reservation-specification '{ "CapacityReservationPreference": "capacity-reservations-first" }'
nota

Você também pode migrar de e para segmentos de distribuição usando uma atualização de instância com o --desired-configuration parâmetro.

Scale-in comportamento com segmentos de distribuição

Quando seu grupo de Auto Scaling aumenta a escala, o Auto Scaling encerra instâncias na ordem oposta à sua. TargetCapacityTypes On-Demand as instâncias são encerradas primeiro, seguidas pelas instâncias do tipo de capacidade de menor prioridade e assim por diante até o tipo de capacidade de maior prioridade.

Por exemplo, com TargetCapacityTypes definido como["on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand"], o Auto Scaling encerra as instâncias na seguinte ordem durante a escalabilidade em:

  1. On-Demand

  2. Capacidade interruptível Reservation-backed

  3. Baseado em Capacity Block

  4. On-Demand Capacidade Reservation-backed

Se você atualizar seus segmentos de distribuição para remover um tipo de reserva, as instâncias existentes desse tipo removido serão encerradas antes de qualquer instância cujo tipo ainda esteja na lista.

Considerações

  • Preferência de reserva de capacidade — Só default é suportada ao configurar segmentos de distribuição. Para obter mais informações, consulte Preferência de reserva de capacidade.

  • On-Demand estratégia de alocação — Só prioritized é suportada quando você configura segmentos de distribuição.

  • Piscinas aquecidas — Piscinas aquecidas não são compatíveis com segmentos de distribuição.

  • Capacidade spot — A capacidade spot não é suportada como um tipo de capacidade alvo nos segmentos de distribuição.