Criar uma solicitação de instância spot - Amazon Elastic Compute Cloud

Criar uma solicitação de instância spot

Para usar instâncias spot, crie uma solicitação de instância spot que inclua o número de instâncias desejado, o tipo de instância e a zona de disponibilidade. Se houver capacidade disponível, o Amazon EC2 atenderá à solicitação imediatamente. Caso contrário, o Amazon EC2 esperará até a sua solicitação puder ser atendida ou até você cancelar a solicitação.

Você pode usar o assistente de execução de instância no console do Amazon EC2 ou no comando da AWS CLI run-instances para solicitar uma instância spot da mesma forma que você pode executar uma instância sob demanda. Este método é recomendado apenas pelos seguintes motivos:

  • Você já está usando o assistente de execução de instância ou o comando run-instances para executar instâncias sob demanda e quer mudar para a execução de instâncias spot alterando um único parâmetro.

  • Você não precisa de várias instâncias com diferentes tipos de instância.

Esse método geralmente não é recomendado para executar instâncias spot porque você não pode especificar vários tipos de instância e não é possível executar instâncias spot e instâncias sob demanda na mesma solicitação. Para os métodos preferidos de execução de instâncias spot, que incluem a execução de uma frota que inclui instâncias spot e instâncias sob demanda com vários tipos de instância, consulte Qual é o melhor método de solicitação spot para usar?

Se você solicitar várias instâncias spot ao mesmo tempo, o Amazon EC2 criará solicitações de instância spot separadas para que você possa acompanhar o status de cada uma separadamente. Para obter mais informações sobre como monitorar solicitações de instâncias spot, consulte Obter o status de uma solicitação de instância spot.

Console
Para criar uma solicitação de instância spot usando o assistente de execução de instâncias

As etapas de 1 a 9 são as mesmas que você usaria para executar uma instância sob demanda. Na Etapa 10, você configura a solicitação da instância spot.

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

  2. Na barra de navegação na parte superior da tela, selecione uma região.

  3. No painel do console do Amazon EC2, selecione Launch instance (Executar instância).

  4. (Opcional) Em Name and tags (Nome e etiquetas), é possível nomear a instância e marcar a solicitação de instância spot, a instância, os volumes e os gráficos elásticos. Para obter mais informações sobre tags, consulte Marcar com tag os recursos do Amazon EC2.

    1. Em Name (Nome), insira um nome descritivo para a instância.

      O nome da instância é uma tag em que a chave é Name (Nome) e o valor é o nome que você especificar. Se você não especificar um nome, a instância poderá ser identificada por seu ID, que é gerado automaticamente quando você inicia a instância.

    2. Para marcar a solicitação de instância spot, a instância, os volumes e os elementos gráficos elásticos, escolha Add additional tags (Adicionar outras etiquetas). Escolha Add tag (Adicionar tag), insira uma chave e um valor, e selecione o tipo de recurso a aplicar a tag. Escolha Add tag (Adicionar tag) para cada tag adicional a acrescentar.

  5. Em Application and OS Images (Amazon Machine Image), (Imagens de aplicações e sistemas operacionais (imagem de máquina da Amazon), escolha o sistema operacional da instância e selecione uma AMI. Para ter mais informações, consulte Imagens de aplicações e sistemas operacionais (imagem de máquina da Amazon).

  6. Em Instance type (Tipo de instância), selecione o tipo de instância que atende aos requisitos para a configuração do hardware e o tamanho da instância. Para ter mais informações, consulte Tipo de instância.

  7. Em Key pair (login) (Par de chaves: login) escolha um par de chaves existente ou selecione Create new key pair (Criar um novo par de chaves) para criar um novo. Para ter mais informações, consulte Pares de chaves do Amazon EC2 e instâncias do Amazon EC2.

    Importante

    Se você escolher a opção Proceed without key pair (Not recommended) (Prosseguir sem par de chaves, não recomendado), não conseguirá se conectar à instância a menos que escolha uma AMI configurada para permitir que os usuários façam login de outro modo.

  8. Em Network settings (Configurações de rede), use as configurações padrão ou escolha Edit (Editar) para definir as configurações de rede, conforme necessário.

    Os grupos de segurança fazem parte das configurações de rede e definem regras de firewall para a instância. Essas regras especificam qual tráfego de rede de entrada será fornecido para sua instância.

    Para ter mais informações, consulte Configurações de rede.

  9. A AMI que você selecionou inclui um ou mais volumes de armazenamento, incluindo o volume de dispositivo raiz. Na página Configure storage (Configurar armazenamento), especifique os volumes adicionais para anexar à instância escolhendo Add New Volume (Adicionar novo volume). Para ter mais informações, consulte Configurar armazenamento.

  10. Em Advanced details (Detalhes avançados), configure a solicitação de instância spot da seguinte maneira:

    1. Em Opção de compra, marque a caixa de seleção Solicitar instâncias spot.

    2. Você pode manter a configuração padrão para a solicitação de instância spot ou escolher Customize (Personalizar), à direita, para especificar configurações personalizadas para a solicitação da instância spot.

      Ao escolher a opção Customize (Personalizar), os campos a seguir serão exibidos.

      1. Preço máximo: e possível solicitar instâncias spot pelo preço spot, limitado ao preço sob demanda ou especificar o valor máximo que você está disposto a pagar.

        Atenção

        Se você especificar um preço máximo, as instâncias serão interrompidas com mais frequência do que se você escolher No maximum price (Sem preço máximo).

        • Sem preço máximo: a instância spot será executada pelo preço spot atual. O preço nunca excederá o preço sob demanda. (Recomendado)

        • Defina seu preço máximo (por instância/hora): você pode especificar o valor máximo que estiver disposto a pagar.

          • Se você especificar um preço máximo inferior ao preço spot atual, a instância spot não será executada.

          • Se você especificar um preço máximo superior ao preço spot atual, a instância spot será executada e cobrada de acordo com o preço spot atual. Depois que a instância spot estiver em execução, se o preço spot subir acima do preço máximo, o Amazon EC2 interromperá a instância spot.

          • Independentemente do preço máximo especificado, você sempre será cobrado o preço Spot atual.

          Para analisar as tendências de preços spot, consulte Histórico de definição de preço da instância spot.

      2. Tipos de solicitação: o tipo de solicitação de instância spot escolhido determina o que acontece se a instância spot for interrompida.

        • Única: o Amazon EC2 faz uma solicitação única para a instância spot. Se a instância spot for interrompida, a solicitação não será reenviada.

        • Solicitação persistente: o Amazon EC2 faz uma solicitação persistente para a instância spot. Se a instância spot for interrompida, a solicitação será reenviada para reabastecer a instância spot interrompida.

        Se você não especificar um valor, o padrão é uma solicitação única.

      3. Valid to (Válido para): a data de expiração de uma solicitação de instância spot persistente.

        Esse campo não é compatível com solicitações únicas. Uma solicitação única permanece ativa até que todas as instâncias da solicitação expirem ou você cancele a solicitação.

        • Nenhuma data de expiração da solicitação: a solicitação permanecerá ativa até você cancelá-la.

        • Defina a data de validade da solicitação: a solicitação persistente permanece ativa até a data especificada ou até que você a cancele.

      4. Comportamento de interrupção: o comportamento escolhido determina o que acontece quando uma instância spot é interrompida.

        • Em solicitações persistentes, os valores válidos são Parar e Hibernar. Quando uma instância é parada ocorrem cobranças pelo armazenamento do volume EBS.

          nota

          As instâncias spot agora usam a mesma funcionalidade de hibernação que as instâncias sob demanda. Para habilitar a hibernação, você pode escolher Hibernar aqui ou Habilitar no campo Comportamento de parar - hibernar, que aparece mais abaixo no assistente de inicialização de instância. Para conhecer os pré-requisitos de hibernação, consulte Pré-requisitos para a hibernação de instâncias do Amazon EC2.

        • Para as solicitações únicas, somente Terminate (Encerrar) é válido.

        Se você não especificar um valor, o padrão é Terminate (Encerrar) que não é válido para uma solicitação de instância spot persistente. Se você mantiver o padrão e tentar executar uma solicitação de instância spot persistente, receberá um erro.

        Para ter mais informações, consulte Comportamento das interrupções de instâncias spot.

  11. No painel Summary (Resumo), para Number of instances (Número de instâncias), insira o número de instâncias a serem executadas.

    nota

    O Amazon EC2 cria uma solicitação distinta para cada instância spot.

  12. No painel Summary (Resumo), revise os detalhes da instância e faça as alterações necessárias. Depois de enviar sua solicitação de instância spot, não é possível alterar os parâmetros da solicitação. É possível navegar diretamente para uma seção no assistente de execução de instância, escolhendo seu link no painel Summary (Resumo). Para ter mais informações, consulte Resumo.

  13. Quando estiver pronto para iniciar a instância, escolha Launch instance (Iniciar instância).

    Se a instância não executar ou o estado passar imediatamente para terminated, em vez de running, consulte Solucionar problemas de inicialização de instâncias do Amazon EC2.

AWS CLI
Para criar uma solicitação de instância spot usando run-instances

Use o comando run-instances e especifique as opções da instância spot no parâmetro --instance-market-options.

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type t2.micro \ --count 5 \ --subnet-id subnet-08fc749671b2d077c \ --key-name MyKeyPair \ --security-group-ids sg-0b0384b66d7d692f9 \ --instance-market-options file://spot-options.json

Veja a seguir a estrutura de dados a ser especificada no arquivo JSON --instance-market-options. Também é possível especificar ValidUntil e InstanceInterruptionBehavior. Se você não especificar um campo na estrutura de dados, será usado o valor padrão.

O exemplo a seguir cria uma solicitação persistent.

{ "MarketType": "spot", "SpotOptions": { "SpotInstanceType": "persistent" } }

 

Para criar uma solicitação de instância spot usando request-spot-instances

nota

Não recomendamos o uso do comando request-spot-instances por ser uma API herdada e sem investimento planejado. Para obter mais informações, consulte Qual é o melhor método de solicitação spot para usar?

Use o comando request-spot-instances para criar uma solicitação única:

aws ec2 request-spot-instances \ --instance-count 5 \ --type "one-time" \ --launch-specification file://specification.json

Use o comando request-spot-instances para criar uma requisição persistente:

aws ec2 request-spot-instances \ --instance-count 5 \ --type "persistent" \ --launch-specification file://specification.json

Para que os arquivos de especificação de execução de exemplo sejam usados com esses comandos, consulte Exemplo de especificações de execução de solicitações de instância spot. Se você baixar um arquivo de especificação de execução no console de solicitações de spot, use o comando request-spot-fleet (o console de solicitações spot especifica uma solicitação de instância spot usando uma frota spot).