Como descobrir quando uma instância do EC2 foi encerrada?

6

Tenho centenas de instâncias no console da web do EC2.

Alguns são desligados. Eu posso ver que eles foram criados há muitos meses ou anos atrás. Eles parecem abandonados e esquecidos por um tempo, mas é difícil dizer se terminá-los é seguro.

por exemplo. Eles poderiam ser algum backup antigo, alguém poderia ter migrado uma carga para novas instâncias e manter as antigas por algumas semanas como precaução, etc ...

Acabamos mantendo a maioria deles, já que é a escolha mais segura.

Ainda estamos pagando pelos volumes do EBS quando a instância está desligada (mas não finalizada). O preço pode aumentar ao longo do tempo com muitas instâncias não utilizadas (o EBS é de US $ 140 por mês por TB). Então, eu gostaria de fazer alguma limpeza.

Estou pensando que, se eu pudesse encontrar o momento em que a instância foi encerrada, isso seria um bom indicador de como ela é "abandonada".

Como posso encontrar quando uma instância foi encerrada pela última vez?

    
por user5994461 25.07.2016 / 19:27

3 respostas

5

Usando o awscli. pip install awscli

aws ec2 describe-instances --output table --instance-id i-aef88019

Saída:

|||  StateTransitionReason |  User initiated (2015-11-16 13:36:40 GMT)   |||
[...]
||||                             StateReason                            ||||
|||+---------+----------------------------------------------------------+|||
||||  Code   |  Client.UserInitiatedShutdown                            ||||
||||  Message|  Client.UserInitiatedShutdown: User initiated shutdown   ||||

Podemos ver o que aconteceu com a instância e a que horas.

Por exemplo, este foi desligado manualmente em 2015-11-16 13:36:40 GMT.

    
por 25.07.2016 / 19:27
1

Como você mencionou, essas máquinas foram criadas há muitos anos, acho que você deve verificar se elas estão usando o tipo antigo de armazenamento instance store .

Na minha experiência, se você precisar desligar essas máquinas EC2 com o armazenamento de instâncias, a única opção é finalizá-las, mas isso causaria perda de dados.

Portanto, minha sugestão é adicionar um novo EBS para fazer backup de todos os dados e criar um novo EC2 com as configurações mais recentes ou simplesmente fazer backup dos dados remotamente. Em seguida, termine as instâncias do EC2 antigas que devem eliminar seu custo de armazenamento.

    
por 26.07.2016 / 13:42
0

Se o seu objetivo é economizar, você pode criar um Snapshot do EBS dos discos e excluir os volumes.

Os "EBS Snapshots" são cobrados com um menor preço do que os volumes reais.

Por exemplo, no leste dos EUA:

  • Os instantâneos são 9,5c / GB
  • Os volumes de EBS do SSD de propósito geral são cobrados a 10c / GB de provisionado armazenamento
  • Os volumes magnéticos do EBS mais antigos são cobrados a 5c / GB de armazenamento provisionado

No entanto, os instantâneos do EBS exigem apenas espaço de armazenamento para blocos usados . Se os volumes do EBS tiverem espaço não utilizado (por exemplo, use apenas 10GB de 30GB), os snapshots do EBS serão mais baratos.

Se os volumes do EBS estiverem quase sempre cheios, você poderá capturá-los e depois recriá-los como volumes Cold HDD do EBS, que são cobrados a 2,5c / GB de armazenamento provisionado .

    
por 01.08.2016 / 06:52