View a markdown version of this page

Tutorial: configurar o EC2 Fleet para executar instâncias em reservas de capacidade interrompíveis - Amazon Elastic Compute Cloud

Tutorial: configurar o EC2 Fleet para executar instâncias em reservas de capacidade interrompíveis

Este tutorial mostra todas as etapas que você deve seguir para que o EC2 Fleet execute instâncias sob demanda em reservas de capacidade interrompíveis.

As reservas de capacidade interrompíveis representam a capacidade ociosa emprestada a você pelos proprietários de reservas de capacidade sob demanda em sua organização da AWS. Essas reservas são adequadas para workloads interrompíveis porque o proprietário da capacidade pode reivindicar a capacidade a qualquer momento com um aviso de interrupção de 2 minutos, período após o qual o EC2 encerra as instâncias. Para obter mais informações sobre reservas de capacidade interrompíveis, consulte Reservas de capacidade.

A capacidade de destino da solicitação do EC2 Fleet deve ser menor ou igual à capacidade disponível na reserva de capacidade interrompível desejada. Se a solicitação de capacidade exceder a capacidade disponível de sua reserva de capacidade interrompível, o EC2 Fleet iniciará o máximo de instâncias possível e relatará as instâncias executadas na resposta da API.

As instâncias em execução em uma reserva de capacidade interrompível continuarão em execução até que você as interrompa ou encerre manualmente, ou até que o proprietário da capacidade reivindique a capacidade. Quando o proprietário da capacidade reivindica a capacidade, o Amazon EC2 envia uma notificação do Amazon EventBridge 2 minutos antes de encerrar as instâncias.

Considerações

  • Somente solicitações do EC2 Fleet do tipo instant são compatíveis para executar instâncias em reservas de capacidade interrompíveis.

  • Não é possível usar OnDemandTargetCapacity ou SpotTargetCapacity e, ao mesmo tempo, definir reserved-capacity como DefaultTargetCapacityType.

  • Quando você especifica vários modelos de execução, cada um visando uma reserva de capacidade interrompível diferente, o EC2 Fleet provisiona instâncias em todas as reservas correspondentes.

  • Para reservas de capacidade interrompíveis, o EC2 Fleet não recorrerá à execução de instâncias sob demanda ou instâncias spot para atender ao restante da capacidade pretendida.

Verificar permissões

Antes de criar um EC2 Fleet, verifique se você tem um perfil do IAM com as permissões necessárias. Para obter mais informações, consulte Pré-requisitos da Frota do EC2.

Para iniciar instâncias em uma reserva de capacidade interrompível, é necessário executar as seguintes etapas:

Etapa 1: Criar um modelo de execução

Use o comando create-launch-template para criar um modelo de execução que especifique a reserva de capacidade interrompível a ser usada. No modelo de execução, defina MarketType como interruptible-capacity-reservation e especifique o CapacityReservationId da sua reserva de capacidade interrompível.

Exemplo de configuração de modelo de execução:

{ "LaunchTemplateName": "interruptible-cr-launch-template", "LaunchTemplateData": { "InstanceType": "m5.large", "ImageId": "ami-0abcdef1234567890", "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationId": "cr-0123456789abcdef0" } }, "InstanceMarketOptions": { "MarketType": "interruptible-capacity-reservation" } } }

Exemplo de saída

{ "LaunchTemplate": { "LaunchTemplateId": "lt-0123456789example", "LaunchTemplateName": "interruptible-cr-launch-template", "CreateTime": "2026-03-12T10:00:00.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Admin", "DefaultVersionNumber": 1, "LatestVersionNumber": 1 } }

Para obter mais informações, consulte Criar um modelo de execução do Amazon EC2.

Etapa 2: configurar o EC2 Fleet

Crie um arquivo de configuração para o EC2 Fleet que especifique o modelo de execução e a capacidade de destino. A configuração a seguir usa o modelo de execução interruptible-cr-launch-template que você criou na Etapa 1.

É necessário especificar ReservedCapacityOptions com ReservationType definido para interruptible-capacity-reservation ao usar reserved-capacity como o DefaultTargetCapacityType.

Crie um arquivo chamado config.json com o seguinte conteúdo:

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "interruptible-cr-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType": "m5.large", "AvailabilityZone": "us-east-1a" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 10, "DefaultTargetCapacityType": "reserved-capacity" }, "ReservedCapacityOptions": { "ReservationType": ["interruptible-capacity-reservation"] }, "Type": "instant" }

Principais parâmetros de configuração:

Parameter Descrição
DefaultTargetCapacityType Defina como reserved-capacity para indicar que as instâncias devem ser executadas na capacidade reservada.
ReservedCapacityOptions Especifica o tipo de capacidade reservada. Para reservas de capacidade interrompíveis, defina ReservationType como ["interruptible-capacity-reservation"].
Type Deve ser definida como . instant. Somente frotas instantâneas são aceitas para reservas de capacidade interrompíveis.

Etapa 3: iniciar a frota e visualizar os resultados

Use o comando create-fleet para criar a frota:

aws ec2 create-fleet \ --cli-input-json file://config.json

Depois de criar a frota instant usando a configuração anterior, o EC2 Fleet executa 10 instâncias na reserva de capacidade interrompível para atender à capacidade de destino.

nota

Se a frota não puder atender à capacidade total pretendida, a resposta incluirá as instâncias que foram executadas e quaisquer erros de capacidade não atendida.

Exemplo de saída

{ "FleetId": "fleet-12345678-1234-1234-1234-123456789012", "Instances": [ { "LaunchTemplateAndOverrides": { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0123456789example", "Version": "1" }, "Overrides": { "InstanceType": "m5.large", "AvailabilityZone": "us-east-1a" } }, "Lifecycle": "interruptible-capacity-reservation", "InstanceIds": [ "i-0123456789example1", "i-0123456789example2", "i-0123456789example3", "i-0123456789example4", "i-0123456789example5", "i-0123456789example6", "i-0123456789example7", "i-0123456789example8", "i-0123456789example9", "i-0123456789example0" ], "InstanceType": "m5.large", "Platform": "Linux/UNIX" } ], "Errors": [] }

Para obter mais informações, consulte Criar uma Frota do EC2..

Limpeza

Para parar de incorrer em cobranças, encerre as instâncias quando elas não forem mais necessárias. Observe que o EC2 também encerra automaticamente as instâncias executadas em uma reserva de capacidade interrompível quando o proprietário da capacidade reivindica a capacidade.