O que há tantas AMIs do Ubuntu 14.04 LTS AWS para o mesmo lançamento?

2

Um pouco de fundo. Desejo configurar uma instância do AWS EC2 de 64 bits executando o Ubuntu 14.04 LTS (HVM) em um disco de estado sólido com EBS na região eu-west-1.

No momento da gravação, no início rápido do painel de controle da AWS, estou oferecendo a opção Ubuntu Server 14.04 LTS (HVM), SSD Volume Type - ami-f95ef58a .

Uma pesquisa por ami-f95ef58a nas AMIs da comunidade da AWS mostra essa imagem como ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-20160114.5 - ami-f95ef58a . Então parece que esta é uma AMI lançada em 14 de janeiro de 2016.

No entanto, se eu pesquisar no site link e usar as caixas de seleção para restringir minha escolha às minhas necessidades Eu sou mostrado:

eu-west-1   trusty  14.04 LTS   amd64   hvm:ebs-ssd 20160314    ami-58cc762b    hvm

Estou assumindo que a versão posterior ( ami-58cc762b ) seria uma escolha melhor do que a oferecida na configuração rápida.

O que me leva ao ponto de por que há tantos lançamentos de 14.04 LTS? Certamente, o LTS não muda, então não seria melhor ter uma AMI estática fixa e atualizá-la quando for inicializada.

As instâncias da AMI estão sendo produzidas constantemente para incluir patches e atualizações, para que o administrador não tenha que modificar a instalação básica?

Em caso afirmativo, por que a AWS não oferece a AMI mais recente no quickset e, em vez disso, oferece uma AMI com dois meses de atraso?

    
por Andy Fusniak 22.03.2016 / 12:09

1 resposta

0

AMIs são imagens estáticas e não podem ser alteradas. Mesmo se eles pudessem ser atualizados, eles não deveriam ser (pelo menos não as AMIs públicas).

A razão para isso é que as implantações automatizadas dependem de infraestrutura e ambientes precisamente conhecidos. Suponha que eu tenha um código que dependa de alguma biblioteca pré-instalada na AMI e sei que esse código funciona com a AMI atual. Se eu criar um modelo do CloudForamtion para iniciar uma instância com esse ID de AMI e executar esse código, ele deverá sempre funcionar. Para sempre .

No entanto, se a AMI tiver permissão para ser "atualizada" e essa atualização fizer com que a biblioteca seja alterada, meu código poderá ou talvez não ser compatível com a versão mais recente da biblioteca, potencialmente fazendo com que o código falhe. Não importa se a atualização da biblioteca foi feita com boas intenções (ou seja, uma correção de bug); ele precisa ser a decisão do escritor de aplicativos para atualizar a AMI, e não o mantenedor da AMI.

Se você estiver usando algo como o CloudFormation para gerenciar seu ambiente, os IDs da AMI serão armazenados em seus modelos (idealmente controlados pela versão!) e atualizados se e quando você estiver pronto para testar uma nova versão. A compatibilidade com uma nova AMI deve ser testada tão completamente quanto você faria com qualquer novo recurso.

    
por ltn100 11.05.2016 / 14:18