J'ai donc du mal à déterminer quelle est la différence entre les deux.
Si je comprends bien, un instantané est simplement une sauvegarde du lecteur de disque, alors que l'AMI est une sauvegarde de l'ensemble du système (ou d'une instance, devrais-je dire), mais le système entier n'est-il pas techniquement entièrement situé sur le lecteur? et si c'est le cas, il n'y a pas de différence nette et il me manque quelque chose?
Il existe deux types d’AMI (et les instances correspondantes):
instance-store (parfois appelé base S3). Ce sont moins fréquents et je ne les recommande pas pour les débutants. Une AMI de magasin d'instances est une copie du volume de magasin d'instances racine et de quelques métadonnées, toutes enregistrées dans un compartiment S3 dans un format spécial.
Démarrage EBS. C'est probablement ce que vous utilisez. AMI de démarrage EBS est un instantané EBS du volume racine EBS, ainsi que des métadonnées telles que l'architecture, le noyau, le nom de l'AMI, la description, les mappages de périphériques en mode bloc, etc.
Vous pouvez prendre un instantané d'un volume de démarrage EBS et le transformer en une AMI de démarrage EBS en l'enregistrant avec les métadonnées appropriées. La partie la plus délicate de cette opération consiste à spécifier l’identifiant AKI correct (noyau) pour qu’il s’amorce correctement.
La principale différence est entre le type de service visé. Un instantané correspond à un volume EBS sur lequel vous pouvez enregistrer un état et redémarrer avec les mêmes données à un moment donné.
Une AMI est similaire, mais c'est pour les instances EC2 elles-mêmes. Vous ne pouvez pas prendre un instantané d'une instance non sauvegardée sur ebs, mais vous pouvez en créer une AMI (image système).
En général, j'utilise des instantanés EBS comme solutions de sauvegarde pour un volume de base de données et j'utilise une AMI pour enregistrer la configuration de l'instance.
Une AMI peut être créée à l'aide d'un instantané. Par exemple, en utilisant un seul "instantané", vous pouvez créer plusieurs AMI, par exemple un PV et un AMI HVM utilisant le même instantané.
Ainsi, l'instantané contient les données système/système d'exploitation. L'AMI est (instantané + métadonnées machine/matériel).
Cela m'a aussi dérouté. Voici le moyen le plus simple de le comprendre:
EBS Snapshot
représente très souvent une sauvegarde d'un volume EBS spécifique, il peut s'agir de n'importe quel volume (volume racine, volume de données, etc.)
AMI
(Amazon Machine Image) est une sauvegarde de l'instance EC2 entière. Par exemple, avec une configuration appropriée, il est possible de créer une AMI comprenant plusieurs volumes EBS.
Cela peut sembler déroutant, mais ils sont tous deux stockés sous la forme de "instantanés EBS".
Pensez juste à cela:
EBS Snapshot
est juste une sauvegarde de données.AMI
est une représentation de l'état du système à un moment donné. Vous pouvez également démarrer à partir de celui-ci.Voici quelques différences supplémentaires entre les instantanés AMI et EBS:
1) Une AMI est lancable et contient des liens vers le périphérique racine et peut contenir des liens vers des instantanés des autres volumes de données.
2) L'image de données contenue dans une AMI ne représente pas un point dans le temps bien défini, à moins que l'instance ne soit redémarrée, ce qui n'est généralement pas acceptable pour un environnement de production. Les instantanés peuvent être pris de manière cohérente puisque leur heure exacte peut être contrôlée. Ainsi, avant que l'instantané ne commence, vous pouvez vous assurer que tout est "prêt pour la sauvegarde".
3) Une AMI peut être créée à partir d’instantanés existants du périphérique racine pour Linux mais pas pour Windows.
Les instantanés sont moins coûteux à utiliser en tant que stratégie de sauvegarde, car lorsque vous avez plusieurs instantanés, vous ne payez que pour une sauvegarde complète et les autres sont, en substance, juste des différences et généralement beaucoup plus petites.
Vous pouvez considérer une AMI comme un modèle générique pour une machine dont le système d'exploitation et les composants installés sont préservés.
Un instantané peut inclure tout ce qu'une AMI fait, mais enregistre également les données de disque d'un volume EBS.
Le choix que vous décidez d'utiliser sera généralement dicté par le fait que vos instances soient sauvegardées par EBS et si vous souhaitez recréer exactement une machine avec toutes les données intactes ou si vous souhaitez simplement un modèle d'ordinateur générique.
La définition fournie par AWS clarifie la différence: une Amazon Machine Image (AMI) est un modèle contenant une configuration logicielle (par exemple, un système d'exploitation, un serveur d'applications et des applications). À partir d'une AMI, vous lancez une instance, qui est une copie de l'AMI exécutée en tant que serveur virtuel dans le cloud. Attendu pour les instantanés Vous pouvez sauvegarder les données de vos volumes EBS sur Amazon S3 en prenant des instantanés à un point dans le temps. Les instantanés sont des sauvegardes incrémentielles, ce qui signifie que seuls les blocs du périphérique qui ont été modifiés après votre instantané le plus récent sont enregistrés. Lorsque vous supprimez un instantané, seules les données exclusives à cet instantané sont supprimées.
EBS Volume
est le disque sous-jacent derrière EC2. Snapshot
est une sauvegarde ponctuelle de volume
alors que AMI est une sauvegarde de l’ensemble de l’instance EC2 pouvant comporter plusieurs volumes attachés, exactement comme des machines virtuelles.
Avec Packer , vous pouvez créer des images de machine automatisées, notamment des AMI pour EC2, des fichiers VMDK/VMX pour VMware, des exportations OVF pour VirtualBox, etc.
EC2 <-- EBS Volume (Boot) + EBS Volume
^
|
Snapshot (only of specific volume)
^
|
AMI (Combined snapshots of all volumes, snapshot must have boot volume)
^
|
Launch a new Instance (same installed softwares and configs, different specs)
Snapshots peuvent être utilisés pour sauvegarder des lecteurs/volumes. Il s’agit d’une opération de sauvegarde incrémentielle, c’est-à-dire que chaque fois que vous prenez un instantané d’un volume, elle n’ajoute que les nouvelles modifications ajoutées/introduites dans le volume depuis votre dernière sauvegarde (pas toute la sauvegarde), ce qui économise du temps de sauvegarde, de l’espace et finalement du coût .
Les instantanés peuvent être utilisés dans:
Lecteurs de sauvegarde régulièrement
Changez le type de volume, par exemple si vous avez du trafic ou des lectures et écritures et que vous devez augmenter les opérations IO afin de passer de gp2
à io1
avec une plus grande IOPs
Les AMI personnalisés peuvent être utilisés dans:
Pour la reprise après sinistre au cas où l'instance EC2 en cours d'exécution serait corrompue et ne pourrait pas s'exécuter sans raison.
Les AMI de la société standard disposant de tous les logiciels prérequis installés simplifiant le processus de déploiement (configurées pour se connecter à `Splunk par exemple, installées avec certains logiciels de surveillance et d’observabilité, installées sur un menu fixe ou configurées pour connecter Puppet ou Chef au démarrage)
Les IAM peuvent être utilisées pour déployer facilement vos applications dans différentes régions.
Mettez à niveau votre serveur à des spécifications plus élevées ou différentes avec tous les logiciels installés et leurs configurations
Les AMI peuvent être partagés publiquement entre plusieurs comptes AWS.
Selon la définition fournie par AWS,
Une AMI est un modèle à partir duquel vous pouvez démarrer une instance EC2. Un instantané EBS est une copie au niveau du bloc d'un volume EBS. Le volume EBS peut être un volume d’amorçage (c’est-à-dire contenant un système d’exploitation) ou un volume contenant uniquement des données (contenant par exemple des fichiers de base de données). Vous utilisez RegisterImage pour créer une AMI (à partir d'un instantané).
Ce sont deux concepts différents, appliqués à différents niveaux (volumes EBS vs modèles EC2). Cependant, il existe certaines dépendances entre les deux concepts.
Pour les instances EC2 basées sur EBS (c'est-à-dire les instances EC2 qui démarrent à partir d'un volume EBS), l'AMI est implémentée en tant qu'instantané EBS d'un volume de démarrage + quelques métadonnées (l'architecture de la machine - 32 vs 64 bits -, le type). de la virtualisation - HVM vs PV - etc ...)
Ainsi, pour les instances EC2 basées sur EBS, une AMI est un instantané EBS + un fichier XML. Vous pouvez même créer votre propre AMI en fonction de n'importe quel instantané d'un volume de démarrage que vous possédez.