Atualizar
Our bid price is high, and I don't think the instances should have been terminated due to spot price (based on spot pricing history)
A contenção do preço spot não é a única possível causa de uma instância do Amazon EC2 Spot terminada pela AWS, outra notável é a contenção de capacidade:
- A capacidade de instâncias spot disponíveis depende da demanda por instâncias regulares e, se não houver nenhuma instância de um tipo específico disponível para usuários solicitando instâncias sob demanda regulares, a AWS começará a encerrar instâncias spot para atender a essas solicitações. / li>
- Na verdade, encontrei isso em
us-east-1
com mais frequência do que em outros lugares até agora e com muito mais frequência no mês recente para as novas famílias de tipos de instância m3 / c3 / i3 (um efeito compreensível de aumentar a capacidade ao longo do tempo) .
Você pode verificar a causa real de uma rescisão de solicitação spot manualmente no AWS Management Console ou por exemplo através do pedido de instâncias do local de descrição . Para uso avançado de instâncias pontuais, recomendo iniciar Rastreando solicitações pontuais com códigos de status de lances e correlacione-as com as terminações da sua instância para obter a melhor percepção operacional. Veja o ciclo de vida de solicitações pontuais e Referência do código de status do lance spot para obter mais detalhes, especificamente os motivos a seguir para a rescisão de ponto pela AWS:
-
instance-terminated-by-price
The Spot Price rose above your bid price. If your request is a persistent bid, the process—or life cycle—restarts and your bid will again be pending evaluation.
-
instance-terminated-no-capacity
There is no longer any Spot capacity available for the instance.
-
instance-terminated-capacity-oversubscribed
Your instance was terminated because the number of Spot requests with bid prices equal to or higher than your bid price has exceeded the available capacity in this pool. This means that your instance was interrupted even though the Spot Price may not have changed because your bid was at the Spot Price.
-
instance-terminated-launch-group-constraint
One of the instances in your launch group was terminated, so the launch group constraint is no longer fulfilled.
Resposta inicial
"At 2014-05-07T18:06:45Z an instance was taken out of service in response to a system health-check."
Esta mensagem enganosa é simplesmente aquela relatada quando a Instância Spot do Amazon EC2 foi terminado devido à contenção do preço spot, ver por exemplo a resposta da equipe da AWS para Auto Scaling Message & Rescisão de instância spot :
You are correct the instance was terminated due to spot pricing.
The instance terminated right before the health-check so it was taken out of service since it was still associated to the AS group.
Embora me escapa por que a AWS não conseguiu criar uma melhor integração entre Auto Scaling e Amazon EC2 ainda a este respeito, faz mais sentido quando se considera que estes são dois serviços separados de fato, por isso, se o mercado spot 'externo' backend encerra uma instância do EC2, ela simplesmente se tornará 'insalubre' do ponto de vista do Auto Scaling - isso é documentado em Obtendo informações sobre as instâncias lançadas pelo Auto Scaling :
- Cause: At 2012-06-01T00:47:51Z an instance was taken out of service in response to a system health-check. Description: Terminating EC2 instance: i-88ce28f1
Auto Scaling maintains the desired number of instances by monitoring the health status of the instances in the Auto Scaling group. When Auto Scaling receives notification that an instance is unhealthy or terminated, Auto Scaling launches another instance to take the place of the unhealthy instance. [...]
Note
Auto Scaling provides the cause of instance termination that is not the result of a scaling activity. This includes instances that have been terminated because the Spot Price exceeded their bid price. [emphasis mine]