Amazon ec2 – avantages de l’ebs et de l’instance-store (et inversement) – débordement de pile

• Si le matériel sur lequel votre instance sauvegardée par EBS est programmée pour la maintenance, l’arrêt et le démarrage de l’instance migrent automatiquement vers un nouveau matériel. J’ai également été en mesure de déplacer une instance sauvegardée par EBS sur un matériel défectueux en arrêtant l’instance et en la relançant (votre consommation peut varier en fonction du matériel défaillant).

Gardez à l’esprit que toute infrastructure cloud peut échouer à tout moment. Planifiez votre infrastructure en conséquence. Alors que les instances sauvegardées par EBS offrent un certain niveau de durabilité par rapport aux instances de stockage éphémères, elles peuvent échouer. Avoir une AMI à partir de laquelle vous pouvez lancer de nouvelles instances si nécessaire zone de disponibilité, sauvegardez vos données importantes (bases de données, par exemple) et, si votre budget le permet, exécutez plusieurs instances de serveurs pour l’équilibrage de charge et la redondance (idéalement dans plusieurs zones de disponibilité).


À certains moments, il peut être moins coûteux d’obtenir des E / S plus rapides sur les instances du magasin d’instances. Il y avait un temps où c’était certainement vrai. Il existe maintenant de nombreuses options pour le stockage EBS, répondant à de nombreux besoins. Les options et leurs prix évoluent constamment à mesure que la technologie évolue. Si vous avez une quantité importante de cas qui sont vraiment disponibles (ils n’affectent pas beaucoup votre entreprise s’ils disparaissent), faites le calcul du coût par rapport à la performance. Les instances soutenues par EBS peuvent également mourir à tout moment, mais mon expérience pratique est que EBS est plus durable.

99% de notre configuration AWS est recyclable. Donc, pour moi, cela n’a pas vraiment d’importance si je termine une instance – rien n’est jamais perdu. Par exemple. mon application est automatiquement déployée sur une instance de SVN, nos logs sont écrits sur un serveur syslog central.

Se débarrasser dans une extension où nous avons ramené un cluster de base de données à iron (= matériel réel). Le seul élément restant dans notre infrastructure est un serveur DB sur lequel nous plaçons plusieurs volumes EBS dans un RAID logiciel et sauvegardons deux fois par jour. Tout ce qui serait perdu entre les sauvegardes, nous pouvons vivre avec.

EBS est une technologie un peu flakey puisqu’il s’agit essentiellement d’un volume réseau: un volume attaché à votre serveur à distance. Je ne suis pas en train de nier le travail fait avec – c’est un produit étonnant puisque le stockage persistant essentiellement illimité est juste un appel d’API loin. Mais il n’est guère adapté aux scénarios où la performance E / S est la clé.

En plus du comportement du stockage réseau, tout le réseau est partagé sur les instances EC2. Plus une instance est petite (par exemple, t1.micro, m1.small) plus elle est mauvaise car vos interfaces réseau sur le système hôte réel sont partagées entre plusieurs machines virtuelles (= votre instance EC2) qui s’exécutent dessus.

Lorsque la persistance est requise, je conseille toujours aux gens d’utiliser quelque chose comme S3 pour centraliser les instances. S3 est un service très stable. Puis automatiser votre instance configuration à un point où vous pouvez démarrer un nouveau serveur et il se prépare par lui-même. Ensuite, il n’est pas nécessaire d’avoir un stockage réseau qui dure plus longtemps que l’instance.

Lorsqu’une instance EC2 est lancée, une machine virtuelle est réservée pour l’exécution de l’instance. Cette machine virtuelle a des spécifications particulières en fonction du type d’instance: CPU 32 bits ou 64 bits, nombre de cœurs virtuels, taille du disque dur, etc. Des détails sur les spécifications de l’instance sont disponibles sur http: // aws.amazone.com / ec2 / # instance.

Le disque dur de la machine virtuelle est considéré "éphémère". Le terme "éphémère" vient du mot grec "éphémérides" ce qui signifie "ne dure qu’un jour". Tout ce qui se trouve sur un tel disque dur devrait être considéré comme temporaire. Sauf si les données sont copiées sur le disque dur, si la machine virtuelle est arrêtée, les données sont perdues. Cela inclut des données, des logiciels et même un système d’exploitation qui réside sur ces disques durs.

Un "magasin d’instance" instance est une instance EC2 dont le périphérique racine réside sur le machines virtuelles disque dur. Lorsque l’instance est créée, l’AMI de base est copiée sur le disque dur de la machine virtuelle et lancée. L’instance peut s’exécuter aussi longtemps que vous le souhaitez, mais elle ne peut pas être arrêtée. Comme le périphérique racine de l’instance est le disque dur réel, il est "coincé" sur le matériel, et la seule chose que vous pouvez faire est de terminer l’instance. Si vous faites cela, l’instance est supprimée, ne jamais être récupérée. Vous courez aussi le risque que si le matériel de la machine virtuelle tombe en panne, vous perdrez également n’importe quoi sur le disque dur.

Un "EBS-soutenu" instance est une instance EC2 qui utilise un volume EBS en tant que périphérique racine. Les volumes EBS sont redondants, "virtuel" lecteurs, qui ne sont pas liés à un matériel particulier, mais ils sont limités à une zone de disponibilité EC2 particulière. Cela signifie qu’un volume EBS peut passer d’un élément matériel à un autre dans la même zone de disponibilité. Vous pouvez considérer les volumes EBS comme une sorte de stockage en réseau.

Probablement le plus grand avantage "EBS-soutenu" les instances ont plus de "magasin d’instance" les instances sont qu’elles peuvent être arrêtées. Lorsque vous faites cela, la machine virtuelle est arrêtée et le volume EBS est stocké pour une récupération ultérieure. Le matériel est alors disponible pour quelqu’un d’autre à utiliser. En outre, pendant ce temps, vous n’êtes pas facturé la charge de fonctionnement de l’instance EC2. Mais vous êtes facturé pour le stockage EBS. Lorsque vous souhaitez que l’instance s’exécute à nouveau, redémarrez-la. Un nouveau machine virtuelle est réservé, votre volume EBS est attaché, et votre instance est démarrée.

Oui, il est possible d’utiliser ces disques durs, même si votre instance EC2 est "EBS-soutenu". Par défaut, ils ne sont pas disponibles. Si vous utilisez les programmes en ligne de commande pour lancer votre instance, vous pouvez utiliser le "-b" option sur la commande ec2-run-instances pour attacher le "magasin d’instance" conduit à votre instance EC2.

Avoir ces lecteurs disponibles peut être bénéfique si vous voulez stocker des données temporaires. L’accès en lecture et en écriture doit être plus rapide que la lecture et l’écriture sur un volume EBS car vous n’envoyez pas de données sur le réseau. En outre, vous ne serez pas facturé pour le transfert de données ou le stockage de données. Mais cela ne fonctionne que si les données peuvent être perdues à tout moment.

De plus, pour ce type de système, il n’y a aucun avantage à utiliser EBS Backed sur Elastic Beanstalk car il est conçu pour garantir que toutes les ressources dont vous avez besoin continuent à fonctionner. Il fera toujours un relance automatiquement tous les services que vous arrêtez.

En examinant tout le reste, sur le total des frais d’utilisation du VPC, EBS et ELB ajouté à EC2-Classic, le EC2-VPC avec ELB est le meilleur choix où, contrairement à EC2-Classic, une instance arrêtée conserve son Elastic associé. Les adresses IP et le volume EBS sont stockés automatiquement.

La réponse est oui mais si votre instance est basée sur EBS, elle peut être arrêtée. Il restera dans votre compte, vous ne serez pas facturé pour cela. Vous ne facturerez que le volume mais EBS est facturé toutes les heures. Vous pouvez également considérer que parmi tous les types disponibles, vous avez une flexibilité pour redimensionner le volume EBS.

À côté de la avantages celle déjà mentionnée par Eric, il faut aussi savoir qu’en terme de coût S3 peut ou peut ne pas être moins cher qu’EBS. Je suis d’accord qu’il y a relativement peu de différence de coût si vous continuez à utiliser les deux types d’instance au sein de la même plate-forme et l’architecture de l’application tout le temps.

Toutefois, s’il existe un scénario pour exécuter l’application sur un service à moindre coût, extrayez toutes les tâches non gérées et attribuez-les au VPC / EBS via un pipeline ou un lambda sur une courte période, par exemple. <1 heure par jour, ce qui est impossible à faire quand vous utilisez un magasin d’instance, alors ce sera une histoire différente.