O motivo pelo qual você deseja interromper sua instância enquanto a AMI é criada (comportamento padrão) é para que o instantâneo do sistema de arquivos raiz seja completamente consistente. Sem isso, você corre o risco de copiar o dispositivo de bloco, embora nem todas as alterações do sistema de arquivos do aplicativo ou do sistema ainda não tenham sido gravadas da memória para o disco.
Esse risco aumenta, quanto mais ativo o seu servidor estiver com gravações em disco.
Se você tiver um servidor bastante silencioso, poderá criar uma AMI de inicialização do EBS sem parar / iniciar (reinicializar) usando estas etapas:
AVISO! ESTES PASSOS NÃO SÃO A MANEIRA RECOMENDADA DE CRIAR UMA AMI (IMAGEM) DE UMA INSTRUÇÃO DE FUNCIONAMENTO
-
Se possível, faça o login no seu servidor e execute o seguinte comando para liberar as gravações pendentes no disco. As gravações feitas após esse comando podem não chegar ao disco e os aplicativos podem estar salvando suas próprias alterações na memória, preparando-se para gravar no disco, portanto, há o risco de inconsistência.
sudo sync
-
Crie um instantâneo do volume do seu EBS raiz e aguarde até que ele seja concluído.
-
Registre o instantâneo como uma AMI (Imagem).
Os passos 2 e 3 podem ser feitos através da linha de comando ou através do console do EC2.
A parte complicada é que você precisa escolher o AKI (kernel) e o ARI (ramdisk) corretos quando registrar o instantâneo como uma AMI. Encontre o kernel e o ramdisk que foram usados pela sua instância em execução e use os mesmos. Para as AMIs modernas do Ubuntu, nenhum ramdisk é necessário, portanto, não é especificado.
Teste a nova AMI cuidadosamente para garantir que você não criou problemas por não ter um sistema de arquivos consistente. Observe que os problemas podem demorar um pouco para aparecer como poderiam ser com qualquer arquivo / diretório que estivesse aberto perto do horário do instantâneo.
Eu me importei muito com a criação de instantâneos consistentes, reuni as melhores práticas da comunidade e publiquei uma ferramenta de linha de comando para fazer isso em um sistema em execução:
ec2-consistent-snapshot
http://alestic.com/2009/09/ec2-consistent-snapshot
Isso pode não ser a melhor escolha para os volumes raiz do EBS, já que existem arquivos de log abertos e outros conflitos que podem ser possíveis. Além disso, a maioria das pessoas não está executando o XFS no disco raiz.