Portanto, estou tendo problemas para descobrir qual é, especificamente, a diferença entre esses dois.
Pelo que entendi, um instantâneo é simplesmente um backup da unidade de disco, enquanto o AMI é um backup de todo o sistema (ou instância, devo dizer), mas todo o sistema não está tecnicamente localizado totalmente na unidade de disco? e se for esse o caso, então não há diferença clara e estou faltando alguma coisa?
fonte
A principal diferença está no tipo de serviço referido. Um instantâneo é de um volume EBS em que você pode salvar o estado e reinicializar com os mesmos dados em um determinado momento.
Um AMI é semelhante, mas é para as próprias instâncias do EC2. Você não pode tirar um instantâneo de uma instância sem backup ebs, mas pode criar uma AMI (imagem do sistema) de uma.
Geralmente eu uso instantâneos EBS como soluções de backup para um volume de banco de dados e uso um AMI para salvar a configuração da instância
fonte
Um AMI pode ser criado usando um instantâneo. Por exemplo, usando um único "instantâneo", você pode criar vários AMIs, digamos um PV e um HVM AMI usando o mesmo instantâneo.
Portanto, o instantâneo contém os dados do sistema / SO. AMI é (instantâneo + máquina / metadados de hardware).
fonte
Eu também estava confuso com isso. Esta é a maneira mais simples de entender:
EBS Snapshot
muito frequentemente representa um backup de volume EBS específico, pode ser qualquer volume (volume raiz, volume de dados, etc.)AMI
(Amazon Machine Image) é um backup de toda a instância EC2. Por exemplo, com a configuração adequada, é possível criar AMI que inclui vários volumes EBS.Agora, pode parecer confuso, mas ambos são armazenados como um "EBS Snapshots".
Pense assim:
EBS Snapshot
é apenas um backup de dados.AMI
é uma representação do estado do sistema em um momento específico. Você também pode inicializar a partir dele.fonte
EBS Volume
é o disco subjacente por trás do EC2.Snapshot
é um backup pontual de específicovolume
enquanto AMI é um backup de toda a instância EC2 que pode ter vários volumes conectados, exatamente como máquinas virtuais.Com o Packer , você pode construir imagens de máquina automatizadas, incluindo AMIs para EC2, arquivos VMDK / VMX para VMware, exportações OVF para VirtualBox, etc.
Os instantâneos podem ser usados para fazer backup de unidades / volumes. É uma operação de backup incremental, o que significa que cada vez que você tira um instantâneo de um volume, ele adicionará apenas as novas alterações adicionadas / introduzidas no volume desde seu último backup (não o backup completo), o que economiza tempo de backup, espaço e, finalmente, o custo .
Os instantâneos podem ser usados em:
Faça backup das unidades regularmente
Altere o tipo de volume, por exemplo, você tem tráfego ou leituras e gravações e precisa aumentar as operações de E / S para mudar de
gp2
paraio1
com maiorIOPs
AMIs personalizados podem ser usados em:
Para recuperação de desastres no caso de a instância atual do EC2 em execução estar corrompida e não puder ser executada sem motivo.
AMIs da empresa padrão que têm todos os softwares de pré-requisitos instalados que simplificam o processo de implantação (por exemplo, configurado para se conectar ao Splunk, tem alguns softwares de monitoramento e observação instalados, tem docker instalado ou está configurado para conectar Puppet ou Chef na inicialização)
AMIs podem ser usados para implementar seus aplicativos em diferentes regiões com facilidade.
Atualize seu servidor para especificações superiores ou diferentes com todos os softwares instalados e suas configurações
AMIs podem ser compartilhados publicamente entre contas AWS.
fonte
Aqui estão mais algumas diferenças entre AMI e EBS Snapshots:
1) Uma AMI é inicializável e contém links para o dispositivo raiz e pode conter links para instantâneos de outros volumes de dados.
2) A imagem de dados contida em uma AMI não representa um ponto no tempo bem definido, a menos que a instância seja reinicializada, algo que normalmente não é aceitável para o ambiente de produção. Os instantâneos podem ser obtidos de maneira consistente, pois seu ponto exato no tempo pode ser controlado, portanto, antes do início do instantâneo, pode-se ter certeza de que tudo está "pronto para backup".
3) Um AMI pode ser criado a partir de instantâneos existentes do dispositivo raiz para Linux, mas não para Windows.
fonte
De acordo com a definição fornecida pela AWS,
Um AMI é um modelo a partir do qual você pode iniciar uma instância EC2. Um EBS Snapshot é uma cópia em nível de bloco de um volume EBS. O volume EBS pode ser um volume de inicialização (ou seja, contendo um sistema operacional) ou um volume somente de dados (contendo arquivos de banco de dados, por exemplo). Você usa RegisterImage para criar um AMI (a partir de um instantâneo).
Esses são dois conceitos diferentes, aplicados em níveis diferentes (volumes EBS vs modelos EC2) No entanto, existem algumas dependências entre os dois conceitos.
Para instâncias EC2 apoiadas por EBS (ou seja, instâncias EC2 que inicializam de um volume EBS), o AMI é implementado como um Snapshot EBS de um volume de inicialização + alguns metadados (a arquitetura da máquina - 32 vs 64 bits -, o tipo de virtualização - HVM vs PV - etc ...)
Portanto, para instâncias EC2 apoiadas por EBS, uma AMI é um instantâneo EBS + um arquivo XML. Você pode até criar seu próprio AMI com base em qualquer instantâneo de um volume de inicialização que você possui.
fonte
Snapshots são menos caros para usar como estratégia de backup, porque quando você tem vários snapshots, você paga apenas por um backup completo e o restante é, em essência, apenas diffs e geralmente muito menor.
fonte
Você pode pensar em uma AMI como um modelo genérico para uma máquina com sistema operacional e componentes instalados sendo preservados.
Um Snapshot pode incluir tudo o que um AMI faz, mas também salva os dados do disco de um volume EBS.
Qual você decidir usar geralmente será ditado pelo fato de suas instâncias serem apoiadas por EBS e se você deseja recriar exatamente uma máquina com todos os dados intactos ou apenas deseja um modelo de máquina genérico.
fonte
A partir da definição fornecida pela AWS, ele esclarece a diferença - Uma Amazon Machine Image (AMI) é um modelo que contém uma configuração de software (por exemplo, um sistema operacional, um servidor de aplicativos e aplicativos). De um AMI, você inicia uma instância, que é uma cópia do AMI em execução como um servidor virtual na nuvem. Considerando que para Snapshots Você pode fazer backup dos dados em seus volumes EBS para o Amazon S3 tirando snapshots point-in-time. Snapshots são backups incrementais, o que significa que apenas os blocos no dispositivo que mudaram após o snapshot mais recente são salvos. Quando você exclui um instantâneo, apenas os dados exclusivos desse instantâneo são removidos.
fonte