Como funcionam as Amazon Machine Images?

9

Eu tenho visto muitos tutoriais e sobre como criar AMIs, mas eu nunca entendi o conceito completo de uma AMI. É um link para a instância ou é armazenado e nunca alterado. Além disso, uma imagem inclui o armazenamento local e todos os pacotes etc instalados nessa instância, ou é simplesmente uma cópia da configuração de uma instância específica. Obrigado

    
por Wiz 18.10.2012 / 03:34

2 respostas

10

Em sua forma mais simples, uma AMI é uma descrição de uma máquina virtual - o tipo de virtualização, a arquitetura (32/64 bits), o kernel e o dispositivo raiz. Nas palavras da Amazon:

An AMI is a template that contains a software configuration (operating system, application server, and applications) that you can run on Amazon's proven computing environment.

As instâncias do EC2 são máquinas virtuais, sendo executadas no hardware da Amazon. Para que a instância inicie, há uma quantidade mínima de informações necessárias. Além disso, diferentes tipos de instância suportam configurações diferentes (por exemplo, alguns não suportam AMIs de 32 bits).

Cada AMI tem um identificador (por exemplo, ami-a1b2c3d4) e a configuração dessa AMI não pode ser alterada após a criação. (Você pode, no entanto, substituir muitas das configurações no momento da inicialização ou, em alguns casos, mesmo após o lançamento de uma instância).

Em termos do volume raiz, as AMIs contêm uma referência a um volume existente (por exemplo, fazem referência a uma captura instantânea para instâncias de backup do EBS ou às partes da imagem no caso de uma instância de backup do S3).

As AMIs também contêm algum grau de verificação de erros - geralmente um ID de usuário para indicar propriedade, chaves de criptografia (que criptografam a imagem) e uma assinatura (para verificar a integridade da imagem). Você pode ter uma boa idéia do que é uma AMI observando o arquivo de manifesto criado ao criar uma instância de backup do S3 - é apenas um arquivo que contém dados e referências a outros itens (armazenamento, kernel etc.).

Uma imagem faz referência a ela como um mapeamento de dispositivo de bloco - especifica o dispositivo (por exemplo, / dev / sda1) e a origem dos dados (efêmero (e as partes S3, se relevante) ou ebs-instantâneo). Como as partes do S3 são assinadas e os instantâneos do ebs não podem ser alterados (apenas excluídos), iniciar uma instância de um AMI (sem substituir suas configurações) sempre deve resultar em uma instância com a mesma configuração de software. (Observe que ainda é possível para instâncias lançadas da mesma AMI diferirem em seus estados de execução devido a dados do usuário ou diferentes mapeamentos de dispositivos de bloco (por exemplo, microinstâncias não têm armazenamento efêmero, enquanto outros tipos de instâncias). aqui, os volumes anexados são armazenados separados da AMI, mas referenciados pela AMI de tal forma que os volumes não podem ser alterados.Os volumes contêm uma cópia exata dos dados que estavam sobre eles no momento em que a AMI foi criada. / p>

Antes de iniciar uma instância de uma AMI, você pode substituir o mapeamento de dispositivo de bloco (por exemplo, para adicionar um volume EBS adicional ou outro volume efêmero, se o tipo de instância oferecer suporte). No caso de volumes do EBS, após o lançamento da instância, você pode desanexar o volume raiz e anexar um volume EBS diferente.

Então, para responder rapidamente às suas perguntas: É um link para a instância ou é armazenado e nunca alterado. É armazenado e nunca mudou.

Além disso, uma imagem inclui o armazenamento local e todos os pacotes etc instalados nessa instância, ou é simplesmente uma cópia da configuração de uma instância específica. A imagem inclui o armazenamento local e todos os pacotes, etc., instalados nessa instância. (Normalmente, esse é apenas o volume raiz, mas uma AMI pode ser configurada para ativar uma instância com vários volumes preenchidos).

    
por 18.10.2012 / 04:48
3

Uma AMI é efetivamente a cópia mestre de um sistema de arquivos raiz que é usado para iniciar novas instâncias do EC2, junto com alguns metadados, como a arquitetura. Ele contém o sistema operacional completo e os pacotes de software que você normalmente encontraria quando inicializa uma nova cópia dessa distro, além do que quer que o criador da AMI tenha achado adequado para adicionar.

Se você criar uma AMI a partir de uma instância, basicamente estará criando uma cópia do sistema de arquivos raiz dessa instância, que poderá ser usada posteriormente para criar novas instâncias.

Minha resposta aqui também pode ajudar: link

    
por 18.10.2012 / 04:44