Avantages de L'EBS par rapport à instance-store (et vice-versa) [fermé]

Je ne sais pas quels avantages j'obtiens d'EBS vs. instance-store pour mes instances sur Amazon EC2. En fait, il semble que L'EBS soit beaucoup plus utile (arrêt, démarrage, persistance + meilleure vitesse) à relativement peu de différence de coût...? De plus, y a-t-il des mesures permettant de déterminer si plus de personnes utilisent L'EBS maintenant qu'il est disponible, étant donné qu'il est encore relativement nouveau?

357
demandé sur HelloWorldy 2010-09-02 23:29:00
la source

11 ответов

la ligne de fond est que vous devriez presque toujours utiliser des instances appuyées par EBS.

Voici pourquoi

  • les instances EBS backed peuvent être configurées de sorte qu'elles ne puissent pas être (accidentellement) terminées par L'API.
  • EBS backed instances peuvent être arrêtés lorsque vous ne les utilisez pas et repris lorsque vous en avez besoin à nouveau (comme la mise en pause D'un PC virtuel), au moins avec mes modèles d'utilisation économiser beaucoup plus d'argent que je dépense sur quelques douzaines de Go de stockage EBS.
  • EBS adossés à des instances ne perdent pas de leur stockage d'instance lorsqu'ils crash (pas une exigence pour tous les utilisateurs, mais rend la récupération beaucoup plus rapide)
  • vous pouvez redimensionner dynamiquement le stockage d'instance EBS.
  • vous pouvez transférer le stockage d'instance EBS à une nouvelle instance (utile si le matériel D'Amazon que vous utilisiez devient flasque ou meurt, ce qui arrive de temps en temps)
  • il est plus rapide de lancer une instance appuyée par EBS parce que l'image ne doit pas être récupérée à partir de S3.
  • si le matériel que votre instance EBS-backed est prévu pour la maintenance , l'arrêt et le démarrage de l'instance migre automatiquement vers le nouveau matériel. J'ai également été capable de déplacer une instance soutenue par EBS sur du matériel défectueux en arrêtant l'instance et en la lançant à nouveau (votre kilométrage peut varier sur du matériel défectueux).

Je suis un gros utilisateur D'Amazon et j'ai commuté toutes mes instances vers EBS backed storage dès que la technologie est sortie de beta. J'ai été très heureux avec le résultat.

EBS peut toujours pas - pas une balle d'argent

gardez à l'esprit que n'importe quelle infrastructure basée sur le nuage peut tomber en panne à tout moment. Planifiez votre infrastructure En conséquence. Bien que les instances appuyées par EBS fournissent un certain niveau de durabilité par rapport à un stockage éphémère cas, ils peuvent échouer. Avoir un AMI à partir duquel vous pouvez lancer de nouvelles instances au besoin dans n'importe quelle zone de disponibilité, sauvegarder vos données importantes (par exemple bases de données), et si votre budget le permet, exécuter plusieurs instances de serveurs pour l'équilibrage de charge et la redondance (idéalement dans plusieurs zones de disponibilité).

Quand Pas De

à certains moments, il peut être moins coûteux d'atteindre IO plus rapide sur les instances de stockage. Il fut un temps où c'était certainement vrai. Maintenant, il existe 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 un nombre important d'instances qui sont vraiment jetables (ils n'affectent pas votre entreprise beaucoup s'ils s'en vont tout simplement), faites le calcul sur le coût par rapport à la performance. EBS-backed instances peuvent également mourir à tout moment, mais mon expérience pratique est que EBS est plus durable.

276
répondu Eric J. 2016-09-26 22:35:06
la source

99% de notre installation AWS est recyclable. Donc pour moi ça n'a pas vraiment d'importance si je résilie une instance -- rien n'est perdu jamais. Par exemple: mon application est automatiquement déployée sur une instance de SVN, nos logs sont écrits sur un serveur syslog central.

le seul avantage du stockage d'instance que je vois sont des économies. Sinon, les instances EBS-backed gagnent. Eric a mentionné tous les avantages.


[2012-07-16] je le ferais phrase cette réponse est très différente aujourd'hui.

Je n'ai pas eu de bonne expérience avec les instances appuyées par EBS au cours de la dernière année ou à peu près. Les derniers temps d'arrêt sur AWS ont aussi détruit EBS.

je devine qu'un service comme RDS utilise aussi une sorte de EBS et cela semble fonctionner pour la plupart. Sur les instances que nous gérons nous-mêmes, nous nous sommes débarrassés d'EBS dans la mesure du possible.

Se débarrasser de l'étendre, où nous avons déménagé une cluster de base de données du fer (= matériel réel). La seule pièce restante dans notre infrastructure est un serveur DB où nous rayons plusieurs volumes EBS dans un RAID Logiciel et de sauvegarde deux fois par jour. Tout ce qui serait perdu entre les sauvegardes, on peut vivre avec.

EBS est une technologie assez flasque puisqu'il s'agit essentiellement d'un volume réseau: un volume attaché à votre serveur à distance. Je ne nie pas le travail fait avec elle – il est un produit étonnant puisque essentiellement illimitée persistante de stockage est juste un appel API loin. Mais elle ne convient pas aux scénarios où la performance des e/s est essentielle.

et en plus de la façon dont le stockage réseau se comporte, tout le réseau est partagé sur les instances EC2. Plus une instance est petite (par exemple t1.micro, m1.petit) le pire c'est parce que vos interfaces réseau sur le système hôte réel sont partagées entre plusieurs VMs (= votre instance EC2) qui tournent dessus.

le plus grand exemple vous obtenez, le meilleur il obtient bien sûr. Mieux ici signifie dans la raison .

quand la persistance est requise, je conseillerais toujours aux gens d'utiliser quelque chose comme S3 pour centraliser entre les instances. S3 est un service très stable. Ensuite, automatisez la configuration de votre instance jusqu'à ce que vous puissiez démarrer un nouveau serveur et qu'il soit prêt par lui-même. Il n'est donc pas nécessaire d'avoir un réseau de stockage qui instance.

donc, dans l'ensemble, Je ne vois aucun avantage à des instances appuyées par EBS. Je préfère ajouter une minute à bootstrap, puis courir avec un SPOF potentiel.

64
répondu Till 2012-12-07 01:54:28
la source

nous aimons instance-store. Cela nous oblige à rendre nos instances complètement recyclables, et nous pouvons facilement automatiser le processus de construction d'un serveur à partir de zéro sur un AMI donné. Cela signifie aussi que nous pouvons facilement échanger nos AMIs. De plus, il arrive que L'EBS ait des problèmes de rendement de temps à autre.

37
répondu sehugg 2011-11-24 18:39:26
la source

Eric a presque tout compris. Nous ( Bitnami ) sommes un fournisseur populaire D'AMIs libres pour les applications populaires et les cadres de développement (PHP, Joomla, Drupal, vous avez l'idée). Je peux vous dire que les AMIs soutenus par EBS sont beaucoup plus populaires que ceux soutenus par S3. En général, je pense que les instances basées sur s3 sont utilisées pour des tâches distribuées et limitées dans le temps (par exemple, le traitement de données à grande échelle) où si une machine tombe en panne, une autre est simplement mise en rotation. EBS Les AMIS ont tendance à être utilisés pour des tâches de serveurs "traditionnels", tels que les serveurs web ou de bases de données qui maintiennent l'état localement et exigent donc que les données soient disponibles en cas de panne.

un aspect que je n'ai pas vu mentionné est le fait que vous pouvez prendre des instantanés d'une instance EBS-backed en cours d'exécution, vous permettant effectivement d'avoir des sauvegardes très rentables de votre infrastructure (les instantanés sont basés sur le bloc et incrémental)

16
répondu Daniel Lopez 2011-06-27 00:38:09
la source

J'ai eu exactement la même expérience Qu'Eric à mon dernier poste. Maintenant, dans mon nouveau travail, je suis en train de suivre le même processus que celui que j'ai suivi à mon dernier travail... reconstruire tous leurs AMIs pour les instances EBS backed - et peut - être en tant que machines 32bit (moins cher-mais ne peut pas utiliser le même AMI sur les machines 32 et 64).

EBS backed instances lancer assez rapidement que vous pouvez commencer à faire usage de la Amazon autoscaling API qui vous permet D'utiliser CloudWatch des mesures pour déclencher le lancement d'instances supplémentaires et les enregistrer à L'ELB (Elastic Load Balancer), et aussi pour les arrêter quand ce n'est plus nécessaire.

ce type d'autoscaling dynamique est ce que L'AWS est tout au sujet - où les économies réelles dans l'infrastructure de TI peuvent entrer en jeu. Il est à peu près impossible de faire l'autoscaling correctement avec les anciennes instances de type S3 "InstanceStore".

15
répondu j2d3 2012-05-05 16:33:39
la source

EC2 "Matériel"

Lorsqu'une instance EC2 est lancée, une machine virtuelle est réservée à l'instance à exécuter. Cette machine virtuelle a des spécifications particulières en fonction du type d'instance: processeur 32 bits ou 64 bits, nombre de noyaux virtuels, Taille du disque dur, etc. Détails sur les spécifications de l'instance est disponible à http://aws.amazon.com/ec2/#instance .

lorsque votre instance EC2 est dans un État de" fonctionnement", cela ça veut dire qu'il tourne sur la machine virtuelle, et c'est pour ça qu'on vous facture.

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

Amazon Web Services fournit des instances EC2 avec deux types de périphériques racine.: "EBS" et "la banque d'instance".

"De La Banque D'Instance" Instances

une instance de "stockage d'instance" est une instance EC2 dont le périphérique racine se trouve sur le disque dur de la machine virtuelle. Lorsque l'instance est créée, L'AMI de base est copié sur le disque dur de la machine virtuelle et lancé. L'instance peut fonctionner aussi longtemps que vous voulez, mais il ne peut pas être arrêté. Comme le périphérique racine de l'instance est le disque dur proprement dit, il est "bloqué" sur le matériel, et la seule chose que vous pouvez faire est d'arrêter l'instance. Si vous faites cela, l'instance est supprimée, de ne jamais être récupéré. Vous courez également le risque que si le matériel de la machine virtuelle échoue, alors vous perdrez tout ce qui se trouve sur le disque dur.

si vous lancez une instance" instance store", soyez prêt à la laisser tourner jusqu'à ce que vous ayez terminé avec elle. Notez que vous serez facturé à partir du moment où l'instance est lancée, jusqu'au moment où elle est terminée.

"EBS" Instances

une instance "EBS-backed" est une instance EC2 qui utilise un volume EBS comme périphérique racine. Les volumes EBS sont redondants, les disques "virtuels", 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 se déplacer d'une pièce de matériel à un autre au sein de la même zone de disponibilité. Vous pouvez penser aux volumes EBS comme une sorte de stockage connecté au réseau.

si le matériel de la machine virtuelle échoue, le volume EBS peut tout simplement être déplacé vers une autre machine virtuelle et relancé. En théorie, vous ne perdrez pas de données.

un autre avantage, est que les volumes EBS peuvent facilement être sauvegardés et dupliqués. Ainsi, vous pouvez prendre facile snapshots de sauvegarde de vos volumes, créer de nouveaux volumes et de lancer de nouveaux EC2 instances basées sur ces volumes dupliqués.

probablement le plus grand avantage que les instances "EBS-backed" ont par rapport aux instances "instance store" est qu'elles peuvent être stoppé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 ensuite disponible pour quelqu'un d'autre. 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 le exemple, pour exécuter à nouveau, vous venez de le démarrer à nouveau. Une nouvelle machine virtuelle est réservée, votre volume EBS est attaché, et votre instance est démarrée.

mais qu'en est-il des disques durs de la machine virtuelle?

Oui, il est possible d'utiliser ces disques durs, même si votre instance EC2 est "EBS-backed". Par défaut, ils ne sont pas disponibles. Si vous utilisez les programmes en ligne de commande pour lancer votre instance, vous pouvez utiliser l'option "-b" de la commande ec2-run-instances. pour attacher les disques durs" instance store " à 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 devrait être plus rapide que la lecture et l'écriture d'un volume EBS parce que vous n'envoyez pas de données sur le réseau. De plus, vous ne serez pas facturé pour le transfert ou le stockage de données. Mais cela ne fonctionne que si les données peuvent être perdues à tout moment.

Source: https://skeddly.desk.com/customer/portal/articles/1346918-ebs-backed-versus-instance-store

12
répondu Siddharth Sharma 2017-08-23 07:59:24
la source

je commence juste à utiliser EC2 moi-même donc pas un expert, mais Amazon's own documentation dit:

nous vous recommandons d'utiliser le local instance store pour les données temporaires et, pour les données nécessitant un niveau plus élevé de durabilité , nous recommandons D'utiliser Amazon EBS volumes ou de sauvegarder les données à Amazon S3.

c'est moi qui souligne.

je n'ai plus data analysis que l'hébergement web, donc la persistance n'a pas autant d'importance pour moi que pour un site web. Étant donné la distinction faite par Amazon elle-même, Je ne dirais pas que EBS est bon pour tout le monde.

je vais essayer de me rappeler de peser à nouveau après avoir utilisé les deux.

11
répondu isomorphismes 2012-08-07 10:09:35
la source

EBS est comme le disque virtuel d'une VM:

  • Durable, les instances appuyées par EBS peuvent être démarrées et arrêtées librement (économie d'argent)
  • peut être snapshotée à tout moment, pour obtenir des sauvegardes point-in-time""
  • AMIs peut être créé à partir de snapshots EBS, de sorte que le volume EBS devient un modèle pour les nouveaux systèmes

le stockage d'Instance est:

  • Local, donc généralement plus rapide
  • Non réseauté, dans les cas normaux EBS I / O vient au coût de la bande passante réseau (sauf pour EBS-optimized instances, qui ont la bande passante EBS séparée)
  • a des entrées/sorties limitées par seconde IOPS. Même approvisionné I / O maxes à quelques milliers IOPS
  • Fragile. Dès que l'instance est arrêtée, vous perdez tout dans le stockage d'instance.

Voici où utiliser chaque:

  • utiliser EBS pour la partition de support OS et le stockage permanent (données DB, journaux critiques, configuration de l'application)
  • utilise le stockage d'instance pour les données en cours de fabrication, les journaux non critiques et l'état transitoire de l'application. Exemple: stockage de tri externe, fichiers temporaires, etc.
  • Le stockage D'Instance
  • peut également être utilisé pour les données critiques aux performances, lorsqu'il y a réplication entre les instances (DBS NoSQL, systèmes de file d'attente/messages distribués, et DBs avec réplication)
  • utiliser S3 pour les données partagées entre les systèmes: ensemble de données d'entrée et les résultats traités, ou pour les données statiques utilisées par chaque système lorsque lauched.
  • Utiliser des ami pour précuites, lancer des serveurs
6
répondu BobMcGee 2018-01-01 19:01:24
la source

la plupart des gens choisissent d'utiliser EBS backed instance car elle est stateful. C'est plus sûr parce que tout ce que vous avez en cours d'exécution et installé à l'intérieur, survivra à stop/stop ou à toute défaillance d'instance.

le magasin D'Instance est apatride, vous le perdez avec toutes les données à l'intérieur en cas de n'importe quelle situation de défaillance d'instance. Cependant, il est libre et plus rapide parce que le volume de l'instance est lié au serveur physique où la VM est en cours d'exécution.

2
répondu mezi 2016-05-20 00:10:24
la source

Pour quelqu'un de nouveau à tout cela, et si accidentellement atterri ici

à partir de Maintenant tous les AMI dans la section quickstart sont EBS backed

enter image description here

aussi il y a une bonne explication à doc officiel pour la différence entre EBS et magasin D'Instance

& cette image assez bien il résume enter image description here

1
répondu Aishwat Singh 2016-04-18 11:16:32
la source

si vous exécutez plusieurs instances et assignez un service régulier D'Instance AWS comme une de vos priorités sur éviter des frais inattendus , je recommanderais de ne pas utiliser l'instance-store .

comme expliqué sur la documentation de EBS Volumes et la réponse de j2d3 et Siddharth Sharma le exemple-store peut fonctionner aussi longtemps que vous voulez, mais il ne peut pas être arrêté . Signifie que le service ne peut pas être programmé par un automatique Instance Start / Stop ou Récupération .

de plus, pour ce type de régime, il n'y a pas d'avantage à utiliser EBS Backed on Elastic Beanstalk comme il est conçu pour s'assurer que toutes les ressources dont vous avez besoin sont continuer à fonctionner . Il relancera automatiquement tous les services que vous arrêtez. enter image description here Révision tout le reste , sur le total des charges sur l'utilisation du VPC , EBS et ELB qui a ajouté à EC2-Classique , le EC2-VPC avec ELB est la plupart du temps le meilleur choix où contrairement à EC2-Classique , une instance arrêtée conserve son associé adresses IP élastiques et le volume EBS est stocké automatiquement.

comme conclusion , en prenant la partie principale de votre question:

il semble que l'EBS est bien plus utile (arrêt, démarrage, persistent + mieux vitesse) à un coût relativement peu différent...?

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, il . Vous ne facturerez que le volume mais EBS est facturé à l'heure . Vous pouvez également considérer que parmi tous les types disponibles vous avez une flexibilité pour redimensionner le Volume EBS .

outre les avantages déjà énumérés par Eric , il doit également être conscient qu'en termes de coût S3 peut ou ne peut pas être moins cher que EBS . Je suis d'accord qu'il y a relativement peu de différence de coût si vous continuez à courir les deux types d'instance dans la même plate-forme et la même architecture de l'application tout le temps.

cependant s'il y a un scénario pour exécuter l'application sur un service à moindre coût, pull all unhandled task et rôle them au VPC/EBS via a pipeline ou lambda dans un court délai base dire <1 heure par jour, ce qui impossible à faire lorsque vous utilisez une instance-magasin , alors ce sera une histoire différente.

0
répondu Chetabahana 2017-05-23 14:54:39
la source