Como atualizar um instantâneo do EBS AMI?

2

Eu tenho uma AMI que uso para meus servidores da Web rails. Esta AMI usando um instantâneo do EBS para iniciar com o básico pronto para produção.

Agora preciso atualizar algumas configurações nos servidores da web (nginx.conf). Eu posso facilmente fazer o ssh em uma caixa e atualizar as configurações, mas as instâncias lançadas no futuro não têm as configurações, pois usam um instantâneo mais antigo.

Como faço para que novas instâncias do ec2 sejam iniciadas com as novas configurações? Eu estou supondo que preciso atualizar o instantâneo? Como faço para atualizar o snapshot que todas as instâncias do ec2 do servidor web usam?

Obrigado

    
por AnApprentice 27.11.2012 / 00:13

2 respostas

5

Uma opção é criar uma nova AMI. Isso é fácil hoje em dia, com uma série de ferramentas disponíveis como esta jóia ruby " build-ubuntu-ami ". Ao criar o novo ami, você pode incluir as novas configurações.

Outra opção é que você pode usar o chef / puppet / salt / ansible etc para atualizar todas as instâncias com sua ami atual.

Atualização: a melhor opção para criar imagens em todas as plataformas de nuvem é Packer .

    
por 27.11.2012 / 00:31
1

Você não pode atualizar um instantâneo. Você precisa atualizar a AMI existente e fazer um novo snapshot, depois registrá-lo, o que lhe dará um novo ID da AMI.

Eu suponho que suas instâncias estão atrás de um AutoScaler? Se assim for, então você tem que atualizar sua configuração de lançamento com o seu novo ID da AMI. A maneira mais fácil de gerenciar isso é usando Asgard da Netflix

Se você estiver usando o CloudFormation, basta atualizar seu modelo, e o CloudFormation criará os novos Launch Configs para você e atualizará o Auto Scaler.

Se você apenas iniciar suas instâncias manualmente, use o novo ID da AMI ao fazer isso.

    
por 27.11.2012 / 00:27