Trabalhar com frotas spot - Amazon Elastic Compute Cloud

Trabalhar com frotas spot

Para começar a usar uma frota spot, crie uma solicitação de frota spot que inclua a capacidade pretendida, uma parte opcional sob demanda, uma ou mais especificações de lançamento para as instâncias e o preço máximo que você está disposto a pagar. O solicitação de frota deve incluir um modelo de lançamento que defina as informações de que a frota precisa para iniciar uma instância, como uma AMI, um tipo de instância, uma sub-rede ou uma zona de disponibilidade e um ou mais grupos de segurança.

Se a frota incluir a Instâncias spot, o Amazon EC2 poderá tentar manter a capacidade de destino da frota à medida que os preços spot são alterados.

Não é possível modificar a capacidade de destino de uma solicitação única depois que ela for enviada. Para alterar a capacidade de destino, cancele a solicitação e envie uma nova.

Uma solicitação de frota spot permanecerá ativa até que expire ou você a cancele. Ao cancelar uma solicitação de frota spot, você pode especificar se esse cancelamento da solicitação encerra as instâncias spot nessa frota spot.

Estados das solicitações de frota spot

Uma solicitação de frota spot pode estar em um dos seguintes estados:

  • submitted – A solicitação da frota spot está sendo avaliada, e o Amazon EC2 está se preparando para executar o número pretendido de instâncias. Se uma solicitação for exceder os limites da frota spot, ela será cancelada imediatamente.

  • active – A frota spot foi validada e o Amazon EC2 está tentando manter a meta do número de instâncias spot em execução. A solicitação permanece nesse estado até que seja alterada ou cancelada.

  • modifying – A solicitação da frota spot está sendo modificada. A solicitação permanece nesse estado até que a modificação seja totalmente processada ou até que a frota spot seja cancelada. Uma request única não pode ser alterada, e esse estado não se aplica a essas solicitações spot.

  • cancelled_running – A frota spot é cancelada e não executa instâncias spot adicionais. Suas Instâncias spot existentes continuam sendo executadas até que sejam interrompidas ou encerradas. A solicitação permanece nesse estado até que todas as instâncias sejam interrompidas ou encerradas.

  • cancelled_terminating – A frota spot é cancelada e suas instâncias spot estão sendo encerradas. A solicitação permanece nesse estado até que todas as instâncias sejam encerradas.

  • cancelled – A frota spot é cancelada e não tem instâncias spot em execução. A solicitação de frota spot foi excluída dois dias depois que as instâncias foram encerradas.

Verificações de integridade da frota spot

A frota spot verifica o status de integridade das instâncias spot na frota a cada dois minutos. O status de integridade de uma instância é healthy ou unhealthy.

A frota spot determina o status de integridade de uma instância usando as verificações de status fornecidas pelo Amazon EC2. É determinado que uma instância está unhealthy quando o status da verificação de status da instância ou da verificação de status do sistema é impaired em três verificações de integridade consecutivas. Para ter mais informações, consulte Verificações de status para as instâncias.

Você pode configurar a sua frota para substituir Instâncias spot não íntegras. Depois de habilitar a substituição da verificação de integridade, uma instância spot é substituída ao ser relatada como unhealthy. A frota pode ficar abaixo de sua capacidade de destino por até alguns minutos enquanto uma instância spot não íntegra está sendo substituída.

Requisitos
  • A substituição da verificação de integridade é compatível apenas para Frotas spot que mantenham uma capacidade de destino (frotas do tipo maintain) e não para Frotas spot únicas (frotas do tipo request).

  • A substituição da verificação de integridade é compatível apenas para Instâncias spot. Este recurso não é compatível para Instâncias on-demand.

  • Você pode configurar a frota spot para substituir instâncias não íntegras somente durante sua criação.

  • Os usuários só poderão usar a substituição de verificação de integridade se tiverem permissão para chamar a ação ec2:DescribeInstanceStatus.

Console
Para configurar uma frota spot para substituir instâncias spot não íntegras usando o console
  1. Siga as etapas para criar um frota spot. Para ter mais informações, consulte Criar uma solicitação de frota spot usando parâmetros definidos (console).

  2. Para configurar a frota para substituir Instâncias spot não íntegras para a Health check (Verificação de integridade) , selecione Replace unhealthy instances (Substituir instâncias não íntegras). Para habilitar essa opção, primeiramente você deve selecionar Maintain target capacity (Manter capacidade de destino).

AWS CLI
Para configurar uma frota spot para substituir instâncias spot não íntegras usando a AWS CLI
  1. Siga as etapas para criar um frota spot. Para ter mais informações, consulte Crie uma frota spot usando a AWS CLI.

  2. Para configurar a frota para substituir Instâncias spot não íntegras, para ReplaceUnhealthyInstances, insira true.

Permissões de frota spot

Se os usuários pretenderem criar ou gerenciar uma frota spot, será necessário conceder a eles as permissões necessárias.

Se você usar o console do Amazon EC2 para criar uma frota spot, ele criará duas funções vinculada ao serviço chamadas AWSServiceRoleForEC2SpotFleet e AWSServiceRoleForEC2Spot, além de uma função chamada aws-ec2-spot-fleet-tagging-role que concede à frota spot as permissões para solicitar, executar, encerrar e marcar recursos em seu nome. Se você usar a AWS CLI ou uma API, é necessário garantir que essas funções existam.

Use as instruções a seguir para conceder as permissões necessárias e criar as funções.

Conceder aos usuários permissão para uma frota spot

Se os usuários pretenderem criar ou gerenciar uma frota spot, certifique-se de conceder a eles as permissões necessárias.

Para criar uma frota spot
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Policies, Create policy.

  3. Na página Criar política, selecione JSON, e substitua o texto pelo indicado a seguir.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:CreateTags", "ec2:RequestSpotFleet", "ec2:ModifySpotFleetRequest", "ec2:CancelSpotFleetRequests", "ec2:DescribeSpotFleetRequests", "ec2:DescribeSpotFleetInstances", "ec2:DescribeSpotFleetRequestHistory" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/aws-ec2-spot-fleet-tagging-role" }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "iam:ListRoles", "iam:ListInstanceProfiles" ], "Resource": "*" } ] }

    A política de exemplo anterior concede a um usuário as permissões necessárias para a maioria dos casos de uso de frota spot. Para limitar o usuário a ações de API específicas, especifique somente essas ações de API.

    APIs do EC2 e do IAM necessárias

    As seguintes APIs devem ser incluídas na política:

    • ec2:RunInstances – Necessária para executar instâncias em uma frota spot

    • ec2:CreateTags – Necessária para marcar as solicitações, instâncias ou volumes da frota spot

    • iam:PassRole – Necessária para especificar a função da frota spot

    • iam:CreateServiceLinkedRole – Necessária para criar a função vinculada ao serviço

    • iam:ListRoles – Necessária para enumerar funções do IAM existentes

    • iam:ListInstanceProfiles – Necessária para enumerar perfis da instância existente

    Importante

    Se você especificar um perfil para o perfil de instância do IAM na especificação ou no modelo de inicialização, deverá conceder ao usuário a permissão de passar o perfil para o serviço. Para fazer isso, na política do IAM inclua "arn:aws:iam::*:role/IamInstanceProfile-role" como um recurso para a ação iam:PassRole. Para obter mais informações, consulte Conceder permissões ao usuário para passar uma função a um produto da AWS no Guia do usuário do IAM.

    APIs de frota spot

    Adicione as seguintes ações da API de frota spot à política, conforme necessário:

    • ec2:RequestSpotFleet

    • ec2:ModifySpotFleetRequest

    • ec2:CancelSpotFleetRequests

    • ec2:DescribeSpotFleetRequests

    • ec2:DescribeSpotFleetInstances

    • ec2:DescribeSpotFleetRequestHistory

    APIs opcionais do IAM

    (Opcional) Para permitir que um usuário crie perfis ou perfis de instância usando o console do IAM, é necessário adicionar as seguintes ações à política:

    • iam:AddRoleToInstanceProfile

    • iam:AttachRolePolicy

    • iam:CreateInstanceProfile

    • iam:CreateRole

    • iam:GetRole

    • iam:ListPolicies

  4. Escolha Revisar política.

  5. Na página Review policy (Revisar política), digite um nome e uma descrição para a política e escolha Create policy (Criar política).

  6. Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:

Função vinculada ao serviço para frota spot

O Amazon EC2 usa funções vinculadas ao serviço para as permissões necessárias para chamar outros produtos da AWS em seu nome. Uma função vinculada ao serviço é um tipo exclusivo de função do IAM vinculado diretamente a um serviço da AWS. As funções vinculadas a serviços oferecem uma maneira segura de delegar permissões a serviços da AWS, pois somente o serviço vinculado pode assumir uma função vinculada ao serviço. Para obter mais informações, consulte Usar perfis vinculados ao serviço no Guia do usuário do IAM.

O Amazon EC2 usa a função vinculada ao serviço chamada AWSServiceRoleForEC2SpotFleet para executar e gerenciar instâncias em seu nome.

Importante

Se você especificar uma AMI criptografada ou um snapshot do Amazon EBS criptografado na frota spot, será necessário conceder ao perfil AWSServiceRoleForEC2SpotFleet permissão para usar a CMK para que o Amazon EC2 possa executar instâncias em seu nome. Para ter mais informações, consulte Conceder acesso às CMKs para uso com AMIs criptografadas e snapshots do EBS.

Permissões concedidas por AWSServiceRoleForEC2SpotFleet

O Amazon EC2 usa AWSServiceRoleForEC2SpotFleet para concluir as ações a seguir:

  • ec2:RequestSpotInstances - Solicitar Instâncias spot

  • ec2:RunInstances - executar instâncias

  • ec2:TerminateInstances - encerrar instâncias

  • ec2:DescribeImages - descrever imagens de máquina da Amazon (AMIs) para as instâncias

  • ec2:DescribeInstanceStatus - descrever o status das instâncias

  • ec2:DescribeSubnets – descrever as sub-redes das instâncias

  • ec2:CreateTags - adiciona etiquetas à solicitação, às instâncias e aos volumes da frota spot

  • elasticloadbalancing:RegisterInstancesWithLoadBalancer - adicionar as instâncias especificadas ao load balancer especificado.

  • elasticloadbalancing:RegisterTargets - registrar os destinos especificados no grupo de destino especificado.

Criar a função vinculada ao serviço

Na maioria das circunstâncias, você não precisa criar manualmente uma função vinculada ao serviço. O Amazon EC2 cria a função AWSServiceRoleForEC2Spotleet vinculada ao serviço na primeira vez que você criar uma frota spot usando o console.

Se você tinha uma solicitação de frota spot ativa antes de outubro de 2017, quando o Amazon EC2 começou a oferecer suporte a essa função vinculada ao serviço, o Amazon EC2 criou a função AWSServiceRoleForEC2SpotFleet em sua conta da AWS. Para obter mais informações, consulte Uma nova função apareceu em minha conta da AWS no Guia do usuário do IAM.

Se você usar a AWS CLI ou uma API para criar uma frota spot, verifique se essa função existe.

Para criar AWSServiceRoleForec2SpotFleet usando o console
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, selecione Roles.

  3. Escolha Criar Perfil.

  4. Na página Select trusted entity (Selecionar entidade confiável), faça o seguinte:

    1. Em Tipo de entidade confiável, escolha Serviços da AWS.

    2. Em Caso de uso, para Serviço ou caso de uso, escolha EC2.

    3. Em Caso de uso, Escolha EC2 - Frota spot.

    4. Escolha Próximo.

  5. Na página Adicionar permissões, escolha Próximo.

  6. Na página Nomear, revisar e criar, escolha Criar função.

Para criar AWSServiceRoleForec2SpotFleet usando o AWS CLI

Use o comando create-service-linked-role da seguinte forma.

aws iam create-service-linked-role --aws-service-name spotfleet.amazonaws.com

Se você não precisar mais usar a frota spot, é recomendável excluir a função AWSServiceRoleForEC2SpotFleet. Depois que a função for excluída da conta, o Amazon EC2 criará a função novamente se você solicitar uma frota spot usando o console. Para obter mais informações, consulte Excluir um perfil vinculado ao serviço no Guia do usuário do IAM.

Conceder acesso às CMKs para uso com AMIs criptografadas e snapshots do EBS

Se você especificar uma AMI criptografada ou um snapshot do Amazon EBS criptografado na solicitação de frota spot e usar uma chave gerenciada pelo cliente para criptografia, será necessário conceder ao perfil AWSServiceRoleForEC2SpotFleet permissão para usar a CMK para que o Amazon EC2 possa executar instâncias em seu nome. Para isso, adicione uma concessão à CMK, conforme exibido no procedimento a seguir.

Durante a definição de permissões, as concessões são uma alternativa às políticas de chave. Para obter mais informações, consulte Uso de concessões e Uso de políticas de chave no AWS KMS, no Guia do desenvolvedor do AWS Key Management Service.

Para conceder à função AWSServiceRoleForEC2SpotFleet permissões para usar a CMK
  • Use o comando create-grant para adicionar uma concessão à CMK e especificar a entidade principal (a função vinculada ao serviço AWSServiceRoleForEC2SpotFleet) que recebe permissão para executar as operações permitidas pela concessão. A CMK é especificada pelo parâmetro key-id e pelo ARN da CMK. A entidade principal é especificada pelo parâmetro grantee-principal e pelo ARN da função vinculada ao serviço AWSServiceRoleForEC2SpotFleet.

    aws kms create-grant \ --region us-east-1 \ --key-id arn:aws:kms:us-east-1:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::111122223333:role/AWSServiceRoleForEC2SpotFleet \ --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"

Função vinculada ao serviço para instâncias spot

O Amazon EC2 usa a função vinculada ao serviço denominada AWSServiceRoleForEC2Spot para executar e gerenciar Instâncias spot em seu nome. Para ter mais informações, consulte Função vinculada ao serviço para solicitações de instâncias spot.

Função do IAM para marcar uma frota spot

A função do IAM aws-ec2-spot-fleet-tagging-role concede à frota spot permissão para marcar a solicitação, as instâncias e os volumes de frota spot. Para ter mais informações, consulte Marcar uma frota spot.

Importante

Se você optar por marcar as instâncias na frota e também por manter a capacidade visada (a solicitação de frota spot é do tipo maintain), as diferenças nas permissões definidas para o usuário e a IamFleetRole poderão levar a um comportamento inconsistente de marcação de instâncias na frota. Se o IamFleetRole não incluir a permissão CreateTags, algumas das instâncias executadas pela frota não serão marcadas. Embora estejamos trabalhando para corrigir essa inconsistência, para garantir que todas as instâncias executadas pela frota sejam marcadas, recomendamos que você use a função aws-ec2-spot-fleet-tagging-role para IamFleetRole. Outra opção é para usar uma função existente, anexe a AmazonEC2SpotFleetTaggingRolePolítica gerenciada da AWS à função existente. Caso contrário, você precisará adicionar manualmente a permissão CreateTags à política existente.

Para criar uma função do IAM para marcar uma frota spot
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, selecione Roles.

  3. Escolha Criar Perfil.

  4. Na página Select trusted entity (Selecionar entidade confiável), em Trusted entity type (Tipo de entidade confiável), escolha AWS service (Serviço da ).

  5. Em Caso de uso, em Casos de uso para outros serviços da AWS, escolha EC2 e escolha EC2 - marcação de frota Spot.

  6. Escolha Próximo.

  7. Na página Adicionar permissões, escolha Próximo.

  8. Na página Name, review, and create (Nomear, revisar e criar), para Role name (Nome da função), digite um nome para a função (por exemplo, aws-ec2-spot-fleet-tagging-role).

  9. Revise as informações na página e escolha Create role (Criar função).

Prevenção contra o ataque “Confused deputy” entre serviços

O problema “confused deputy” é um problema de segurança em que uma entidade que não tem permissão para executar uma ação pode coagir uma entidade mais privilegiada a executá-la. Recomendamos o uso das chaves de contexto de condição global aws:SourceArn e aws:SourceAccount na política de confiança aws-ec2-spot-fleet-tagging-role para limitar as permissões que a frota spot concede ao recurso para outro serviço.

Para adicionar as chaves de condição AWS:SourceArn e AWS:SourceAccount à política de confiança aws-ec2-spot-fleet-tagging-role
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Funções.

  3. Encontre o aws-ec2-spot-fleet-tagging-role que você criou anteriormente e escolha o link (não a caixa de seleção).

  4. Em Summary (Resumo), escolha a guia Trust relationships (Relacionamentos de confiança) e, em seguida, escolha Edit trust policy (Editar política de confiança).

  5. Na instrução JSON, adicione um elemento Condition que contenha suas chaves de contexto de condição global aws:SourceAccount e aws:SourceArn para evitar o problema confused deputy, como segue:

    "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:ec2:us-east-1:account_id:spot-fleet-request/sfr-*" }, "StringEquals": { "aws:SourceAccount": "account_id" }
    nota

    Se você utilizar ambas as chaves de contexto de condição global, e o valor aws:SourceArn contiver o ID da conta, o valor aws:SourceAccount e a conta no valor aws:SourceArn deverão utilizar o mesmo ID de conta quando utilizados na mesma instrução de política.

    A política de confiança final será a seguinte:

    { "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "spotfleet.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:ec2:us-east-1:account_id:spot-fleet-request/sfr-*" }, "StringEquals": { "aws:SourceAccount": "account_id" } } } }
  6. Escolha Atualizar política.

A tabela a seguir fornece valores potenciais para aws:SourceArn para limitar o escopo do seu aws-ec2-spot-fleet-tagging-role em diferentes graus de especificidade.

Operação de API Serviço chamado Escopo aws:SourceArn
RequestSpotFleet AWS STS (AssumeRole) Limita a capacidade de AssumeRole em aws-ec2-spot-fleet-tagging-role para solicitações de frota spot na conta especificada. arn:aws:ec2:*:123456789012:spot-fleet-request/sfr-*
RequestSpotFleet AWS STS (AssumeRole) Limita a capacidade de AssumeRole em aws-ec2-spot-fleet-tagging-role para solicitações de frota spot na conta e na região especificada. Observe que essa função não será utilizável em outras regiões. arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-*
RequestSpotFleet AWS STS (AssumeRole) Limita a capacidade de AssumeRole em aws-ec2-spot-fleet-tagging-role para apenas ações que afetam a frota sfr-11111111-1111-1111-1111-111111111111. Observe que essa função pode não ser utilizável para outras frotas spot. Além disso, essa função não pode ser usada para lançar novas frotas spot por meio de request-spot-fleet. arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-11111111-1111-1111-1111-111111111111

Criar uma solicitação de frota spot

Usando o AWS Management Console, crie rapidamente uma solicitação de frota spot escolhendo apenas a aplicação ou tarefa necessária e as especificações mínimas de computação. O Amazon EC2 configura uma frota que melhor atenda às suas necessidades e siga a prática recomendada de spot. Para ter mais informações, consulte Criar uma solicitação de frota spot rapidamente (console). Caso contrário, você pode modificar qualquer uma das configurações padrão. Para obter mais informações, consulte Criar uma solicitação de frota spot usando parâmetros definidos (console) e Crie uma frota spot usando a AWS CLI.

Criar uma solicitação de frota spot rapidamente (console)

Siga estas etapas para criar rapidamente uma solicitação de frota spot.

Para criar uma solicitação de frota spot usando as configurações recomendadas (console)
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, selecione Solicitações spot.

  3. Se você estiver começando a usar spot, verá uma página de boas-vindas. Escolha Comece a usar. Caso contrário, selecione Solicitar Instâncias spot.

  4. Em Launch parameters (Parâmetros de lançamento), escolha Manually configure launch parameters (Configurar parâmetros de lançamento manualmente).

  5. Em AMI, escolha uma AMI.

  6. Em Target capacity (Capacidade), especifique o número de unidades a serem solicitadas em Total target capacity (Capacidade-alvo total). Para o tipo de unidade, você pode escolher Instances (Instâncias), vCPUs ou Memory (MiB) [Memória (MiB)].

  7. Em Your fleet request at a glance (Visão rápida da solicitação de frota), revise a configuração da frota e escolha Launch (Iniciar).

Criar uma solicitação de frota spot usando parâmetros definidos (console)

Você pode criar uma frota spot usando parâmetros definidos por você.

Para criar uma solicitação de frota spot usando parâmetros definidos (console)
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, selecione Solicitações spot.

  3. Se você estiver começando a usar spot, verá uma página de boas-vindas. Escolha Comece a usar. Caso contrário, selecione Solicitar Instâncias spot.

  4. Em Launch parameters (Parâmetros de lançamento), faça o seguinte:

    1. Para definir os parâmetros de lançamento no console de Spot, escolha Manually configure launch parameters (Configurar parâmetros de lançamento manualmente).

    2. Em AMI, escolha uma das AMIs básicas fornecidas pela AWS ou escolha Search for AMI (Pesquisar por AMI) para usar uma AMI de nossa comunidade de usuários, do AWS Marketplace ou uma que você criou.

    3. (Opcional) Em Key pair name (Nome do par de chaves), escolha um par de chaves existente ou crie uma novo.

      [Par de chaves existente] Escolha o par de chaves.

      [Novo par de chaves] Escolha Create new key pair (Criar novo par de chaves) para ir para a página Key Pairs (Pares de chaves). Ao concluir, volte para a página Spot Requests (Solicitações de spot) e atualize a lista.

    4. (Opcional) Expanda Additional launch parameters (Parâmetros de lançamento adicionais) e faça o seguinte:

      1. (Opcional) Para habilitar a otimização para o Amazon EBS, para EBS-optimized (Otimizada para EBS), escolha Launch EBS-optimized instances (Iniciar instâncias otimizadas para EBS).

      2. (Opcional) Para adicionar armazenamento temporário em nível de blocos para suas instâncias, em Instance store (Armazenamento de instâncias), escolha Attach at launch (Anexar na execução).

      3. (Opcional) Para adicionar armazenamento, escolha Add new volume (Adicionar novo volume) e especifique volumes adicionais do armazenamento de instâncias ou do Amazon EBS, dependendo do tipo de instância.

      4. (Opcional) Por padrão, o monitoramento básico está habilitado para suas instâncias. Para habilitar monitoramento detalhado, para Monitoring (Monitoramento), escolha Enable CloudWatch detailed monitoring (Habilitar monitoramento detalhado do CloudWatch).

      5. (Opcional) Para executar uma instância spot dedicada, em Tenancy (Locação), selecione em Dedicated - run a dedicated instance (Dedicada: executar uma instância dedicada).

      6. (Opcional) Em Security groups (Grupos de segurança), escolha um ou mais grupos de segurança ou crie um novo.

        [Grupo de segurança existente] Escolha um ou mais grupos de segurança.

        [Novo grupo de segurança] Escolha Create a new security group (Criar um novo grupo de segurança) para ir para a página Security Groups (Grupos de segurança). Ao concluir, volte para Spot Requests (Solicitações de spot) e atualize a lista.

      7. (Opcional) Para tornar as instâncias acessíveis na Internet, em Auto-assign IPv4 Public IP (Atribuir automaticamente IP público IPv4), escolha Enable (Habilitar).

      8. (Opcional) Para executar as Instâncias spot com uma função do IAM, em IAM instance profile (Perfil de instância do IAM), escolha a função.

      9. (Opcional) Para executar um script de startup, copie-o para User data.

      10. (Opcional) Para adicionar uma tag, escolha Create tag (Criar tag), insira uma chave e valor da tag, e escolha Create (Criar). Repita esse procedimento para cada tag.

        Para cada tag, para marcar as instâncias e a solicitação de frota spot com a mesma tag, verifique se as opções Instances (Instâncias) e Fleet (Frota) estão selecionadas. Para marcar apenas as instâncias iniciadas pela frota, desmarque Frota. Para aplicar tag apenas na solicitação de frota spot, desmarque Instances (Instâncias).

  5. Em Additional request details (Detalhes de configuração adicionais), faça o seguinte:

    1. Revise os detalhes de solicitação adicional. Para fazer alterações, desmarque Apply defaults (Aplicar padrões).

    2. (Opcional) Em IAM fleet role (Função de frota do IAM), você pode usar a função padrão ou especificar uma função diferente. Para usar a função padrão depois de ter alterado a função, escolha Use default role (Usar função padrão).

    3. (Opcional) Em Maximum price (Preço máximo), você pode usar o preço máximo padrão (preço sob demanda) ou especificar o preço máximo que você está disposto a pagar. Se o seu preço máximo for inferior ao preço spot dos tipos de instâncias selecionados por você, as Instâncias spot não serão executadas.

    4. (Opcional) Para criar uma solicitação que seja válida somente em um período específico, edite Request valid from e Request valid until.

    5. (Opcional) Por padrão, terminamos as Instâncias spot quando a solicitação de frota spot expira. Para mantê-las em execução depois que sua solicitação expirar, desmarque Terminate the instances when the request expires (Encerrar as instâncias na expiração da solicitação).

    6. (Opcional) Para registrar as Instâncias spot em um load balancer, escolha Receive traffic from one or more load balancers (Receber tráfego de um ou mais load balancers) e escolha um ou mais Classic Load Balancers ou grupos de destino.

  6. Em Minimum compute unit (Unidade mínima de computação), escolha as especificações mínimas de hardware (vCPUs, memória e armazenamento) necessárias para a aplicação ou tarefa, as specs (como especificações) ou as an instance type (como um tipo de instância).

    • Em as specs (como especificações), especifique o número necessário de vCPUs e a quantidade de memória.

    • Em as an instance type (como um tipo de instância), aceite o tipo de instância padrão ou escolha Change instance type (Alterar tipo de instância) para escolher outro tipo de instância.

  7. Em Modify target capacity (Modificar capacidade-alvo), faça o seguinte:

    1. Em Total target capacity (Capacidade-alvo total), especifique o número de unidades a serem solicitadas. Para o tipo de unidade, você pode escolher Instances (Instâncias), vCPUs ou Memory (MiB) [Memória (MiB)]. Para especificar uma capacidade de destino igual a 0 para que seja possível adicionar capacidade posteriormente, escolha Maintain target capacity (Manter a capacidade do destino).

    2. (Opcional) Em Include On-Demand base capacity (Incluir capacidade sob demanda de base), especifique o número de unidades sob demanda a serem solicitadas. O número deve ser menor queTotal target capacity (Capacidade total pretendida). O Amazon EC2 calcula e aloca a diferença às unidades spot a serem solicitadas.

      Importante

      Para especificar a capacidade sob demanda opcional, primeiro, escolha um modelo de lançamento.

    3. (Opcional) Por padrão, o serviço spot encerra Instâncias spot quando elas são interrompidas. Para manter a capacidade do destino, selecione Maintain target capacity (Manter a capacidade de destino). Em seguida, especifique se as Instâncias spot do serviço Spot são encerradas, paradas ou hibernadas quando forem interrompidas. Para fazer isso, escolha a opção correspondente em Interruption behavior.

    4. (Opcional) Para permitir que a frota spot inicie uma instância spot substituta quando uma notificação de rebalanceamento de instância for emitida para uma instância spot existente na frota, selecione Capacity rebalance (Rebalanceamento de capacidade) e escolha uma estratégia de substituição de instância. Se escolher Launch before terminate (Iniciar antes de terminar), especifique o atraso (em segundos) antes que a frota spot encerre as instâncias antigas. Para ter mais informações, consulte Rebalanceamento de capacidade.

    5. (Opcional) Para controlar o valor pago por hora por todas as instâncias spot da sua frota, selecione Manter custo pretendido para instâncias spot e insira o valor total máximo que você está disposto a pagar por hora. Quando o valor total máximo for alcançado, a frota spot interromperá a execução de instâncias spot mesmo que a capacidade do destino ainda não tenha sido atingida. Para ter mais informações, consulte Controle de gastos.

  8. Em Network (Rede), faça o seguinte:

    1. Em Rede, escolha uma VPC existente ou crie uma nova.

      [VPC existente] escolha a VPC.

      [VPC nova] Escolha Create new VPC (Criar nova VPC) para acessar o console da Amazon VPC. Ao concluir, volte para o assistente e atualize a lista.

    2. (Opcional) Em Availability Zones (Zonas de disponibilidade), deixe que a AWS escolha as zonas de disponibilidade para suas instâncias spot ou especifique uma ou mais zonas de disponibilidade.

      Se houver mais de uma sub-rede em uma zona de disponibilidade, escolha a sub-rede apropriada em Subnet (Sub-rede). Para adicionar sub-redes, escolha Create new subnet (Criar nova sub-rede) para acessar o console da Amazon VPC. Ao concluir, volte para o assistente e atualize a lista.

  9. Em Instance type requirements (Requisitos de tipo de instância), você pode especificar atributos de instância e deixar o Amazon EC2 identificar os tipos de instância com esses atributos ou pode especificar uma lista de instâncias. Para ter mais informações, consulte Seleção de tipo de instância baseada em atributos para frota spot.

    1. Se escolher Specify instance attributes that match your compute requirements (Especificar atributos de instância que correspondam aos requisitos de computação), especifique os atributos da instância da seguinte forma:

      1. Em vCPUs, insira o número mínimo e máximo desejado de vCPUs. Para não especificar nenhum limite, selecione No minimum (Sem mínimo), No maximum (Sem máximo) ou ambos.

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

      3. (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 uma restrição à solicitação. É possível omitir os atributos adicionais; quando omitidos, os valores padrão são usados. Para obter uma descrição de cada atributo e seus valores padrão, consulte get-spot-placement-scores na Referência da linha de comando do Amazon EC2.

      4. (Opcional) Para visualizar os tipos de instância com os atributos especificados, expanda Preview matching instance types (Previsualizar os tipos de instância correspondentes). Para excluir tipos de instância dos tipos a serem usados na solicitação selecione as instâncias e escolha Exclude selected instance types (Excluir tipos de instância selecionados).

    2. Se escolher Manually select instance types (Selecionar manualmente os tipos de instância), a frota spot fornecerá uma lista padrão de tipos de instância. Para selecionar mais tipos de instância, escolha Add instance types (Adicionar tipos de instância), selecione os tipos de instância a serem usados em sua solicitação e escolha Select (Selecionar). Para excluir tipos de instância, selecione os tipos de instância e escolha Delete (Excluir).

  10. Em Allocation Strategy (Estratégia de alocação), escolha a estratégia que atenda às suas necessidades. Para ter mais informações, consulte Estratégias de alocação para Instâncias spot.

  11. Em Your fleet request at a glance (Visão rápida da sua solicitação de frota), revise a configuração de frota e faça os ajustes necessários.

  12. (Opcional) Para fazer download de uma cópia da configuração de execução para uso com a AWS CLI, escolha JSON config.

  13. Escolha Executar.

    O tipo de solicitação de frota spot é fleet. Quando a solicitação for atendida, as solicitações do tipo instance serão adicionadas, onde o estado será active e o status será fulfilled.

Crie uma frota spot usando a AWS CLI

Para criar uma solicitação de frota spot usando a AWS CLI
aws ec2 request-spot-fleet --spot-fleet-request-config file://config.json

Para obter arquivos de configuração de exemplo, consulte Exemplos de configuração de frota spot.

A seguir está um exemplo de saída:

{ "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" }

Marcar uma frota spot

Para ajudar a categorizar e gerenciar as solicitações de frota spot, você pode marcá-las com metadados personalizados. Você pode atribuir uma tag a uma solicitação de frota spot ao criá-la ou posteriormente. Você pode atribuir tags usando o console do Amazon EC2 ou uma ferramenta da linha de comando.

Quando você marca uma solicitação de frota spot, as instâncias e os volumes que são executados pela frota spot não são marcados automaticamente. É necessário marcar explicitamente as instâncias e os volumes executados pela frota spot. Você pode optar por atribuir tags somente à solicitação de frota spot, somente às instâncias executadas pela frota, somente aos volumes anexados às instâncias executadas pela frota ou aos todos os três.

nota

As tags de volume são compatíveis apenas para volumes que estão anexados a Instâncias on-demand. Não é possível marcar volumes que estão anexados a Instâncias spot.

Para obter mais informações sobre como as tags funcionam, consulte Marcar com tag os recursos do Amazon EC2.

Pré-requisito

Conceda ao usuário permissão para marcar recursos. Para ter mais informações, consulte Exemplo: marcar recursos.

Para conceder a um usuário permissão para marcar recursos

Crie uma política do IAM que inclua o seguinte:

  • A ação ec2:CreateTags. Isso concede ao usuário permissão para criar tags.

  • A ação ec2:RequestSpotFleet. Concede ao usuário permissão para criar uma solicitação de frota spot.

  • Para Resource, você deve especificar "*". Permite que os usuários marquem todos os tipos de recursos.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "TagSpotFleetRequest", "Effect": "Allow", "Action": [ "ec2:CreateTags", "ec2:RequestSpotFleet" ], "Resource": "*" } ] }
Importante

No momento, não oferecemos suporte para permissões no nível do recurso para o recurso spot-fleet-request. Se especificar spot-fleet-request como um recurso, você receberá uma exceção não autorizada quando tentar marcar a frota. O exemplo a seguir ilustra como não definir a política.

{ "Effect": "Allow", "Action": [ "ec2:CreateTags", "ec2:RequestSpotFleet" ], "Resource": "arn:aws:ec2:us-east-1:111122223333:spot-fleet-request/*" }

Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:

Marcar uma nova frota spot

Como marcar uma nova solicitação de frota spot usando o console
  1. Siga o procedimento do Criar uma solicitação de frota spot usando parâmetros definidos (console).

  2. Para adicionar uma tag, expanda Additional configurations (Configurações adicionais), escolha Add new tag (Adicionar nova tag) e insira a chave e o valor da tag. Repita esse procedimento para cada tag.

    Para cada tag, você pode marcar a solicitação de frota spot e as instâncias com a mesma tag. Para marcar ambas, verifique se Instance tags (Tags de instância) e Fleet tags (Tags de frota) estão selecionados. Para marcar somente a solicitação de frota spot, desmarque Instance tags (Tags de instância). Para marcar apenas as instâncias executadas pela frota, desmarque Fleet tags (Tags de frota).

  3. Preencha os campos obrigatórios para criar uma solicitação de frota spot e escolha Launch (Executar). Para ter mais informações, consulte Criar uma solicitação de frota spot usando parâmetros definidos (console).

Para marcar uma nova solicitação de frota spot usando a AWS CLI

Para marcar uma solicitação de frota spot ao criá-la, defina-a da seguinte maneira:

  • Especifique as etiquetas para a solicitação de frota spot em SpotFleetRequestConfig.

  • Em ResourceType, especifique spot-fleet-request. Se você especificar outro valor, ocorrerá falha na frota.

  • Em Tags, especifique o par de chave/valor. Você pode especificar mais de um par de chave/valor.

No exemplo a seguir, a solicitação de frota spot é marcada com duas tags: Key=Environment e Value=Production, e Key=Cost-Center e Value=123.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "lowestPrice", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large" } ], "SpotPrice": "5", "TargetCapacity": 2, "TerminateInstancesWithExpiration": true, "Type": "maintain", "ReplaceUnhealthyInstances": true, "InstanceInterruptionBehavior": "terminate", "InstancePoolsToUseCount": 1, "TagSpecifications": [ { "ResourceType": "spot-fleet-request", "Tags": [ { "Key": "Environment", "Value":"Production" }, { "Key": "Cost-Center", "Value":"123" } ] } ] } }

Marcar uma nova frota spot e as instâncias e os volumes que ela executa

Para marcar uma nova solicitação de frota spot e as instâncias e os volumes que ela executa usando a AWS CLI

Para marcar uma solicitação de frota spot ao criá-la e marcar as instâncias e os volumes quando elas são executadas pela frota, defina a configuração da solicitação de frota spot da seguinte maneira:

Tags de solicitações de frota spot:
  • Especifique as etiquetas para a solicitação de frota spot em SpotFleetRequestConfig.

  • Em ResourceType, especifique spot-fleet-request. Se você especificar outro valor, ocorrerá falha na frota.

  • Em Tags, especifique o par de chave/valor. Você pode especificar mais de um par de chave/valor.

Tags de instância:
  • Especifique as tags das instâncias em LaunchSpecifications.

  • Em ResourceType, especifique instance. Se você especificar outro valor, ocorrerá falha na frota.

  • Em Tags, especifique o par de chave/valor. Você pode especificar mais de um par de chave/valor.

    Como alternativa, você pode especificar as tags da instância no modelo de execução que é referenciado na solicitação de frota spot.

Tags de volume:
  • Especifique as tags para os volumes no modelo de execução mencionado na solicitação de frota spot. A marcação de volume em LaunchSpecifications não é compatível.

No exemplo a seguir, a solicitação de frota spot é marcada com duas tags: Key=Environment e Value=Production, e Key=Cost-Center e Value=123. As instâncias executadas pela frota são marcadas com uma tag (que é a mesma que uma das tags da solicitação de frota spot): Keys=Cost-Center e Value=123.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "lowestPrice", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large", "TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "Cost-Center", "Value": "123" } ] } ] } ], "SpotPrice": "5", "TargetCapacity": 2, "TerminateInstancesWithExpiration": true, "Type": "maintain", "ReplaceUnhealthyInstances": true, "InstanceInterruptionBehavior": "terminate", "InstancePoolsToUseCount": 1, "TagSpecifications": [ { "ResourceType": "spot-fleet-request", "Tags": [ { "Key": "Environment", "Value":"Production" }, { "Key": "Cost-Center", "Value":"123" } ] } ] } }
Para marcar instâncias executadas por uma frota spot usando a AWS CLI

Para marcar instâncias quando elas são executadas pela frota, você pode especificar as tags no modelo de execução referenciado na solicitação de frota spot ou especificar as tags na configuração da solicitação de frota spot da seguinte maneira:

  • Especifique as tags das instâncias em LaunchSpecifications.

  • Em ResourceType, especifique instance. Se você especificar outro valor, ocorrerá falha na frota.

  • Em Tags, especifique o par de chave/valor. Você pode especificar mais de um par de chave/valor.

No exemplo a seguir, as instâncias que são executadas pela frota são marcadas com uma tag: Key=Cost-Center e Value=123.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "lowestPrice", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large", "TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "Cost-Center", "Value": "123" } ] } ] } ], "SpotPrice": "5", "TargetCapacity": 2, "TerminateInstancesWithExpiration": true, "Type": "maintain", "ReplaceUnhealthyInstances": true, "InstanceInterruptionBehavior": "terminate", "InstancePoolsToUseCount": 1 } }
Para marcar volumes anexados a instâncias sob demanda executadas por uma frota spot usando a AWS CLI

Para marcar volumes ao serem criados pela frota, é necessário especificar as tags no modelo de execução mencionado na solicitação de frota spot.

nota

As tags de volume são compatíveis apenas para volumes que estão anexados a Instâncias on-demand. Não é possível marcar volumes que estão anexados a Instâncias spot.

A marcação de volume em LaunchSpecifications não é compatível.

Marcar uma frota spot existente

Para marcar uma solicitação de frota spot existente usando o console

Depois de criar uma solicitação de frota spot, você pode adicionar tags à solicitação de frota usando o console.

  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, selecione Solicitações spot.

  3. Selecione sua solicitação de frota spot.

  4. Escolha a guia Tags e Create Tag (Criar tag).

Para marcar uma solicitação de frota spot existente usando a AWS CLI

Você pode usar o comando create-tags para marcar os recursos existentes. No exemplo a seguir, a solicitação de frota spot existente é marcada com Key=purpose e Value=test.

aws ec2 create-tags \ --resources sfr-11112222-3333-4444-5555-66666EXAMPLE \ --tags Key=purpose,Value=test

Exibir tags de solicitações de frota spot

Para visualizar tags de solicitação de frota spot usando o console
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, selecione Solicitações spot.

  3. Selecione sua solicitação de frota spot e escolha a guia Tags.

Para descrever as tags de solicitação de frota spot

Use o comando describe-tags para visualizar as tags para o recurso especificado. No exemplo a seguir, você descreve as tags da solicitação de frota spot especificada.

aws ec2 describe-tags \ --filters "Name=resource-id,Values=sfr-11112222-3333-4444-5555-66666EXAMPLE"
{ "Tags": [ { "Key": "Environment", "ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE", "ResourceType": "spot-fleet-request", "Value": "Production" }, { "Key": "Another key", "ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE", "ResourceType": "spot-fleet-request", "Value": "Another value" } ] }

Você também pode visualizar as tags de uma solicitação de frota spot descrevendo a solicitação de frota spot.

Use o comando describe-spot-fleet-requests para visualizar a configuração da solicitação de frota spot especificada, que inclui todas as tags especificadas para a solicitação de frota.

aws ec2 describe-spot-fleet-requests \ --spot-fleet-request-ids sfr-11112222-3333-4444-5555-66666EXAMPLE
{ "SpotFleetRequestConfigs": [ { "ActivityStatus": "fulfilled", "CreateTime": "2020-02-13T02:49:19.709Z", "SpotFleetRequestConfig": { "AllocationStrategy": "capacityOptimized", "OnDemandAllocationStrategy": "lowestPrice", "ExcessCapacityTerminationPolicy": "Default", "FulfilledCapacity": 2.0, "OnDemandFulfilledCapacity": 0.0, "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large" } ], "TargetCapacity": 2, "OnDemandTargetCapacity": 0, "Type": "maintain", "ReplaceUnhealthyInstances": false, "InstanceInterruptionBehavior": "terminate" }, "SpotFleetRequestId": "sfr-11112222-3333-4444-5555-66666EXAMPLE", "SpotFleetRequestState": "active", "Tags": [ { "Key": "Environment", "Value": "Production" }, { "Key": "Another key", "Value": "Another value" } ] } ] }

Descrever a frota spot

A frota spot executará instâncias spot quando o preço máximo exceder o preço spot e a capacidade estiver disponível. As Instâncias spot serão executadas até serem interrompidas ou até você as encerrar.

Para descrever sua frota spot (console)
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, selecione Solicitações spot.

  3. Selecione sua solicitação de frota spot. Para ver os detalhes da configuração, escolha Description (Descrição).

  4. Para listar as instâncias spot para a frota spot, escolha Instances (Instâncias).

  5. Para visualizar o histórico da frota spot, escolha a guia History (Histórico).

Para descrever sua frota spot (AWS CLI)

Use o comando describe-spot-fleet-requests para descrever as solicitações de frota spot.

aws ec2 describe-spot-fleet-requests

Use o comando describe-spot-fleet-instances para descrever as instâncias spot da frota spot especificada.

aws ec2 describe-spot-fleet-instances \ --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE

Use o comando describe-spot-fleet-request-history para descrever o histórico da solicitação de frota spot especificada.

aws ec2 describe-spot-fleet-request-history \ --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --start-time 2015-05-18T00:00:00Z

Modificar uma solicitação de frota spot

Você pode modificar uma solicitação de frota spot ativa para executar as seguintes tarefas:

  • Aumentar a capacidade de destino e a porção sob demanda

  • Reduzir a capacidade de destino e a porção sob demanda

nota

Você não pode modificar uma solicitação única de frota spot. É possível modificar uma solicitação de frota spot ao selecionar a opção Maintain target capacity (Manter capacidade de destino) ao criar a solicitação de frota spot.

Quando você aumenta a capacidade pretendida, a frota spot executa instâncias spot adicionais. Quando você aumenta a parte sob demanda, a frota spot inicia Instâncias sob demanda adicionais.

Quando você aumenta a capacidade pretendida, a frota spot executará as Instâncias spot adicionais de acordo com a estratégia de alocação de solicitação de frota spot. Se a estratégia de alocação for lowestPrice, a frota spot iniciará as instâncias do grupo de capacidade spot que apresentar o menor preço na solicitação da frota spot. Se a estratégia de alocação for diversified, a frota spot distribuirá as instâncias pelos grupos na solicitação da frota spot.

Quando você diminui a capacidade de destino, a frota spot cancela todas as solicitações abertas que excedem a nova capacidade pretendida. Você pode solicitar que a frota spot encerre instâncias spot até o tamanho da frota atingir a nova capacidade pretendida. Se a estratégia de alocação for lowestPrice, a frota spot encerrará as instâncias com o preço mais alto por unidade. Se a estratégia de alocação for diversified, a frota spot encerrará as instâncias nos grupos. Como alternativa, você pode solicitar que a frota spot mantenha seu tamanho atual, mas não substitua as instâncias spot interrompidas ou encerradas manualmente.

Quando uma frota spot encerra uma instância porque a capacidade pretendida foi diminuída, a instância recebe um aviso de interrupção de instância spot.

Para modificar uma solicitação de frota spot (console)
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, selecione Solicitações spot.

  3. Selecione sua solicitação de frota spot.

  4. Escolha Actions (Ações) e Modify target capacity (Modificar capacidade de destino).

  5. Em Modify target capacity (Modificar capacidade de destino), faça o seguinte:

    1. Insira a nova capacidade de destino e a porção sob demanda

    2. (Opcional) Se você estiver reduzindo a capacidade de destino, mas deseja manter a frota no tamanho atual, desmarque Terminate instances (Encerrar instâncias).

    3. Selecione Enviar.

Para modificar uma solicitação de frota spot usando a AWS CLI

Use o comando modify-spot-fleet- request para atualizar a capacidade pretendida da solicitação de frota spot especificada.

aws ec2 modify-spot-fleet-request \ --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --target-capacity 20

Você pode modificar o comando anterior da seguinte forma para diminuir a capacidade de destino da frota spot especificada sem encerrar instâncias spot como resultado.

aws ec2 modify-spot-fleet-request \ --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --target-capacity 10 \ --excess-capacity-termination-policy NoTermination

Cancelar uma solicitação de frota spot

Se não precisar mais de frota spot, você cancelar a solicitação de frota spot. Depois que você cancela uma solicitação de frota spot todas as solicitações spot associadas à frota são canceladas, para que nenhuma nova instância spot seja iniciada.

Ao canelar uma frota spot, você deve especificar se deseja encerrar todas as suas instâncias. Isso inclui tanto instâncias sob demanda quanto instâncias spot.

Se você especificar que as instâncias deverão ser encerradas quando a frota for cancelada, a frota entrará no estado cancelled_terminating. Caso contrário, a solicitação de frota entrará no estado cancelled_running e as instâncias continuarão em execução até que sejam interrompidas ou encerradas manualmente.

Para cancelar uma solicitação de frota spot (console)
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, selecione Solicitações spot.

  3. Selecione sua solicitação de frota spot.

  4. Escolha Ações, Cancelar solicitação.

  5. Na caixa de diálogo Adicionar regiões para replicação, faça o seguinte:

    1. Para encerrar as instâncias associadas ao mesmo tempo que cancela a solicitação de frota spot, deixe a caixa de seleção Encerrar instâncias marcada. Para encerrar a solicitação de frota spot sem encerar as instâncias associadas, desmarque a caixa de seleção Encerrar instâncias.

    2. Selecione a opção Confirmar.

Para cancelar uma solicitação de frota spot e encerrar as suas instâncias usando a AWS CLI

Use o comando cancel-spot-fleet-requests para cancelar a solicitação de frota spot especificada e encerrar suas instâncias sob demanda e spot.

aws ec2 cancel-spot-fleet-requests \ --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --terminate-instances

Exemplo de saída

{ "SuccessfulFleetRequests": [ { "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", "CurrentSpotFleetRequestState": "cancelled_terminating", "PreviousSpotFleetRequestState": "active" } ], "UnsuccessfulFleetRequests": [] }
Para cancelar uma solicitação de frota spot sem encerrar as suas instâncias usando a AWS CLI

Você pode modificar o comando anterior usando o parâmetro --no-terminate-instances para cancelar a frota spot especificada sem encerrar suas instâncias sob demanda e spot.

aws ec2 cancel-spot-fleet-requests \ --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --no-terminate-instances

Exemplo de saída

{ "SuccessfulFleetRequests": [ { "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", "CurrentSpotFleetRequestState": "cancelled_running", "PreviousSpotFleetRequestState": "active" } ], "UnsuccessfulFleetRequests": [] }