Diferença entre reinicializar e interromper o início de uma instância amazon EC2

11

Percebi que chamar ec2.rebootInstances em uma instância do Amazon EC2 era muito mais rápido do que parar e iniciar novamente ( ec2.stopInstances ec2.startInstances ).

Também preservou o endereço IP da instância (não tenho IP elástico) O que ec2.rebootInstance faz diferente de parar e iniciar uma instância?

    
por figaro 23.09.2011 / 21:29

1 resposta

21

Quando você para uma instância de inicialização do EBS, você está desistindo do hardware físico (ou fatia dele) em que o servidor estava sendo executado e o EC2 está livre para iniciar a instância de outra pessoa lá.

Seu volume de inicialização do EBS (e outros volumes do EBS conectados) ainda são preservados, embora não estejam realmente vinculados a um servidor físico ou virtual. Eles são associados apenas a um ID de instância que não está sendo executado em lugar algum.

Quando você inicia a instância novamente, o EC2 escolhe algum hardware para executá-lo, vincula o (s) volume (s) do EBS e o reinicia a partir do volume raiz.

As coisas que mudam quando você para / inicia incluem:

  1. Novo endereço IP interno (embora possa ser aleatoriamente o mesmo).

  2. Novo endereço IP externo (embora possa ser aleatoriamente o mesmo).

  3. Se um endereço IP elástico foi associado à instância antes de ser interrompido, será necessário associá-lo novamente após o início.

  4. Todo o conteúdo do antigo armazenamento efêmero da instância foi apagado e você recebeu um armazenamento efêmero recente.

  5. Você pode deixar uma instância parada pelo tempo que desejar e não ser cobrado pelo tempo de execução (embora seja cobrado com uma taxa muito menor para o armazenamento de volume do EBS). Veja o próximo ponto.

  6. Uma nova hora de faturamento é iniciada para a instância quando você a inicia novamente. Por exemplo, se você iniciar uma nova instância e, em seguida, parar / iniciar 3 vezes nos primeiros 60 minutos, será cobrado por 4 horas em vez de 1.

  7. Há uma pequena chance de que o EC2 não tenha slots disponíveis do tipo de instância correto para executar sua instância quando você quiser iniciá-la novamente. Isso aconteceu e, temporariamente, mudei para um tipo de instância diferente e disponível para que ele fosse executado novamente.

Quando você reinicializa, é uma reinicialização simples no nível do SO e a instância permanece em execução no mesmo hardware, com os mesmos endereços IP públicos e privados, mantém o mesmo endereço IP elástico (se associado) e mantém o mesmo efêmero armazenamento sem ser apagado. Nenhuma nova hora de faturamento é iniciada em uma reinicialização e você não desiste do hardware da instância.

Enquanto uma instância é interrompida, você pode fazer algumas coisas legais antes de iniciar novamente. Aqui está um artigo que escrevi sobre como alterar o tipo de instância de uma instância enquanto ela é interrompida:

Moving an EC2 Instance to a Larger Size
http://alestic.com/2011/02/ec2-change-type

Aqui está um artigo que escrevi sobre como alterar o tamanho de um disco de inicialização do EBS de uma instância enquanto está parado:

Resizing the Root Disk on a Running EBS Boot EC2 Instance
http://alestic.com/2010/02/ec2-resize-running-ebs-root

Aqui está um artigo que escrevi sobre como examinar o disco raiz de uma instância (enquanto ela está parada) quando você não consegue se conectar a ela enquanto está em execução:

Fixing Files on the Root EBS Volume of an EC2 Instance
http://alestic.com/2011/02/ec2-fix-ebs-root

Como o ciclo de parada / início tem uma boa chance de mover sua instância para um novo hardware, é uma maneira fácil de substituir o hardware da sua instância se você suspeitar que a plataforma atual esteja indo mal e causando problemas. Aqui está um artigo que escrevi sobre isso:

A Simpler Way To Replace Instance Hardware on EC2
http://alestic.com/2011/02/ec2-move-hardware

    
por 24.09.2011 / 01:53

Tags