Como criar um Amazon AMI a partir de uma instância do Ubuntu sem inicializar, através de uma ferramenta GUI?

1

Eu lembro de poder fazer isso uma vez, talvez por meio do ElasticFox , mas o extensão parece não carregar no Firefox 7.0.

O AWS Console não parece oferecer suporte à criação de imagens em alta definição - quando eu cria uma imagem, a máquina é reinicializada.

Existe outra maneira fácil de fazer isso, ou devo finalmente me familiarizar com as ferramentas de linha de comando do EC2?

    
por ripper234 26.10.2011 / 13:43

2 respostas

4

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

  1. 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
    
  2. Crie um instantâneo do volume do seu EBS raiz e aguarde até que ele seja concluído.

  3. 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.

    
por 27.10.2011 / 04:12
0

Faça isso por meio de sua interface da Web ou com a linha de comando, mas, em ambos os casos, a instância, mas seja reinicializada. Isso é necessário para executar um instantâneo limpo do sistema de arquivos raiz e transformá-lo em uma AMI.

    
por 26.10.2011 / 13:54

Tags