Re-empacotar (ou atualizar) uma AMI do EC2?

4

Agrupei uma AMI com a qual estou bastante satisfeito. No entanto, sei que, eventualmente, precisarei modificá-lo (por exemplo, para atualizações de segurança da Debian ou para atualizar outros softwares de sistema que possuo na AMI). É possível atualizar uma imagem depois de ser empacotada? E se eu empacotei uma nova AMI com o mesmo nome, manifesto e localização S3? EC2 armazena as AMIs por um período de tempo; seria jogado de surpresa pelo fato de que uma AMI mudou entre lançamentos?

Eu entendo que posso simplesmente agrupar uma AMI inteiramente nova, embora eu queira evitar uma proliferação de imagens. Seria melhor eu guardar pelo menos parte do meu software (por exemplo, JRuby e tal) em um volume do EBS em vez do próprio AMI?

Observe que o "software" ao qual estou me referindo não não inclui minhas próprias unidades implantáveis, mas sim softwares de terceiros.

    
por Max A. 28.10.2009 / 16:09

2 respostas

2

O que eu faço é empacotar a AMI com o mesmo nome. Em seguida, exclua a AMI enquanto a instância estiver em execução e faça o upload e registre a nova AMI. Em termos do que é "melhor" para armazenar seu software, realmente depende de quantas vezes você vai atualizar ou modificá-lo. Se você não se importa de passar pelo processo do pacote, então deixe-o na AMI.

p.s. A dica útil para agrupar as AMI's é fazê-lo dentro de uma sessão de tela para que você possa se afastar do processo de geração de imagens e não tem que se preocupar com uma conexão SSH quebrada.

    
por 28.10.2009 / 16:37
2

Embora isso provavelmente não o ajude agora. É muito mais fácil agrupar instâncias com suporte do EBS. É tão simples quanto "parar" a instância de alguma forma (Via ec2-stop-instances, ou xfs freeze, ou apenas tentar a sua sorte com uma execução) e apenas tirar um instantâneo do volume do EBS e registrá-lo. A única parte complicada é ao lançar a nova instância para garantir que você use a mesma AKI, que pode ser encontrada nas informações da instância em execução no momento. Além disso, as AMIs das EBS Backed Images não são armazenadas no seu bucket padrão do S3, portanto, você não precisa se preocupar tanto com a proliferação, apenas cancele o registro quando terminar.

Como alternativa, você pode tentar escrever o pacote AMI regular em uma unidade anexada, depois tirar uma foto e registrá-la, embora eu ainda não tenha tido muito sucesso com isso. Mover o armazenamento de instâncias para o EBS não é totalmente suave no momento.

A Amazon rastreia AMI's pelo ID da AMI (ami-1a2s3d4f) não pelo local e nome no S3, então você estará bem para remover o antigo e empacotar o outro com o mesmo nome.

    
por 20.01.2011 / 18:40