Criar uma Frota spot - Amazon Elastic Compute Cloud

Criar uma Frota spot

Usando o AWS Management Console, é possível criar rapidamente uma solicitação de frota spot escolhendo apenas uma AMI e a capacidade total de destino pretendida. O Amazon EC2 vai configurar uma frota que melhor atenda às suas necessidades e siga as práticas recomendadas para instâncias spot. Como alternativa, você pode modificar qualquer uma das configurações padrão.

Se quiser incluir instâncias sob demanda em sua frota, você precisa especificar um modelo de execução em sua solicitação e especificar a capacidade sob demanda pretendida.

A frota executa instâncias sob demanda quando há capacidade disponível e inicializa instâncias spot quando o preço máximo excede o preço spot e há capacidade disponível.

Se a frota incluir a instâncias spot e for do tipo maintain, o Amazon EC2 tentará manter a capacidade de destino da frota quando as instâncias spot forem interrompidas.

Permissões obrigatórias

Para obter mais informações, consulte Permissões de frota spot.

Criar rapidamente uma solicitação de frota spot

Siga estas etapas para criar rapidamente uma solicitação de frota spot usando o console do Amazon EC2.

Para criar uma solicitação de frota spot usando as configurações recomendadas
  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, escolha Criar solicitação de frota 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 Instâncias, vCPUs ou Memória (GiB).

  7. Em Visão rápida de sua solicitação de frota, analise a configuração da sua frota e selecione Iniciar.

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

É possível criar uma frota spot usando parâmetros definidos por você.

Console
Para criar uma solicitação de frota spot usando parâmetros definidos
  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, escolha Criar solicitação de frota spot.

  4. Em Parâmetros de inicialização, você pode configurar manualmente os parâmetros de inicialização ou usar um modelo de inicialização, da seguinte forma:

    1. [Configurar manualmente] Para definir os parâmetros de inicialização no console do Amazon EC2, escolha Configurar parâmetros de inicialização manualmente e, então, faça o seguinte:

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

        nota

        Se uma AMI especificada nos parâmetros de execução estiver descadastrada ou desabilitada, não será possível executar nenhuma instância nova com base na AMI. Para frotas configuradas para manter a capacidade de destino, a capacidade de destino não será mantida.

      2. (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 Criar novo par de chaves para ir para a página Pares de chaves. Ao concluir, volte para a página Spot Requests (Solicitações de spot) e atualize a lista.

      3. (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).

    2. [Modelo de inicialização] Para usar uma configuração que você criou em um modelo de inicialização, escolha Usar um modelo de inicialização e, em Modelo de inicialização, escolha um modelo de inicialização.

      nota

      Caso deseje capacidade sob demanda na frota spot, você deve especificar um modelo de execução.

  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) Para criar uma solicitação que seja válida somente em um período específico, edite Request valid from e Request valid until.

    4. (Opcional) Por padrão, o Amazon EC2 encerra 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).

    5. (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 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, primeiro escolha Manter capacidade de 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 que a 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 Amazon EC2 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, será possível especificar se o Amazon EC2 vai encerrar, interromper ou hibernar as instâncias spot que forem interrompidas. Para fazer isso, escolha a opção correspondente em Interruption behavior.

      nota

      Se uma AMI especificada nos parâmetros de execução estiver descadastrada ou desabilitada, não será possível executar nenhuma instância nova com base na AMI. Nesse caso, para frotas configuradas para manter a capacidade de destino, a capacidade de destino não será mantida.

    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 você escolher Inicializar antes de encerrar, especifique o atraso (em segundos) antes que o Amazon EC2 encerre as instâncias antigas. Para obter mais informações, consulte Use o rebalanceamento de capacidade na frota do EC2 e na frota spot para substituir instâncias spot em risco.

    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 obter mais informações, consulte Definir um limite de gastos para a frota do EC2 ou a frota spot.

  7. 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. Quando concluir, volte para esta tela e atualize a lista.

    2. (Opcional) Em Zonas de disponibilidade, deixe que o Amazon EC2 escolha as zonas de disponibilidade para as 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. Quando concluir, volte para esta tela e atualize a lista.

  8. 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 obter mais informações, consulte Especificar atributos para seleção de tipo de instância para frota do EC2 ou 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 um limite, selecione Sem mínimo, 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 um limite, selecione Sem mínimo, Sem máximo ou ambos.

      3. (Opcional) Em 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.

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

  9. Em Estratégia de alocação, escolha uma estratégia de alocação spot e uma estratégia de alocação sob demanda que atenda às suas necessidades. Para obter mais informações, consulte Usar estratégias de alocação para determinar como a frota do EC2 ou a frota spot atende à capacidade spot e sob demanda.

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

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

  12. Quando você estiver prestes a criar uma frota spot, escolha Inicializar.

    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.

AWS CLI
Para criar uma solicitação de frota spot

Use o comando request-spot-fleet.

aws ec2 request-spot-fleet --spot-fleet-request-config file://config.json

Para obter arquivos de configuração de exemplo, consulte Exemplo de configurações da CLI para frotas spot.

PowerShell
Para criar uma solicitação de frota spot

Use o cmdlet Request-EC2SpotFleet. O exemplo a seguir inicia instâncias spot em uma frota otimizada para capacidade.

Request-EC2SpotFleet ` -SpotFleetRequestConfig_TargetCapacity 50 ` -SpotFleetRequestConfig_AllocationStrategy "CapacityOptimized" ` -SpotFleetRequestConfig_IamFleetRole "arn:aws:iam::123456789012:role/my-spot-fleet-role" ` -SpotFleetRequestConfig_LaunchTemplateConfig @($launchConfig)

Defina a configuração de execução conforme mostrado a seguir definindo o modelo de execução e substituindo as propriedades necessárias. Para obter configurações de exemplo, consulte Exemplo de configurações da CLI para frotas spot.

$lcSpec = Amazon.EC2.Model.FleetLaunchTemplateSpecification # To do - Set FleetLaunchTemplateSpecification properties $lcOverrides = New-Object Amazon.EC2.Model.LaunchTemplateOverrides # To do - Set LaunchTemplateOverrides properties $launchConfig = New-Object Amazon.EC2.Model.LaunchTemplateConfig $launchConfig.LaunchTemplateSpecification $lcSpec $launchConfig.Overrides @($lcOverrides)

Criar uma frota spot que substitua instâncias spot não íntegras

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 obter mais informações, consulte Verificações do status das instâncias do Amazon EC2.

É possível 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.

  • É possível 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
  1. Siga as etapas para criar um frota spot em Criar uma solicitação de frota spot usando parâmetros definidos.

  2. Para configurar a frota para substituir instâncias spot não íntegras, expanda Parâmetros adicionais de execução e, em Verificação de integridade, selecione 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

Use o comando request-spot-fleet com a propriedade ReplaceUnhealthyInstances de SpotFleetRequestConfig.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "lowestPrice", "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "TargetCapacity": 10, "ReplaceUnhealthyInstances": true } }
PowerShell
Para configurar uma solicitação de frota spot para substituir instâncias spot não íntegras

Use o cmdlet Request-EC2SpotFleet com o parâmetro -SpotFleetRequestConfig_ReplaceUnhealthyInstance.

-SpotFleetRequestConfig_ReplaceUnhealthyInstance $true