Persistance des données Amazon EC2

25

Selon la FAQ Amazon EC2 , lorsqu'une instance est terminée, les données disparaissent. Quelles mesures puis-je prendre pour conserver les données en cas de redémarrage de mon instance? J'ai étudié EBS et S3 - est-ce que l'un ou l'autre serait utile pour stocker une base de données active? À quelle fréquence les instances sont-elles redémarrées de toute façon?

Kyle Cronin
la source
2
Un petit mot sur la terminologie: notez que mettre fin à une instance est différent du simple redémarrage . L'arrêt n'efface pas le stockage de l'instance pendant le redémarrage (voir par exemple stackoverflow.com/questions/637790/… ). Donc, vous ne voulez pas vraiment redémarrer :)
Jonik

Réponses:

25

Comme d'autres l'ont dit, EBS - Elastic Block Storage. Je l'utilise moi-même maintenant qu'il est rendu public. C'est mieux que S3 sur plusieurs points:

  • Les EBS sont rapides . Plus rapide que même les montures locales, selon Amazon.
  • EBS se monte en tant que dispositifs appropriés . Contrairement à S3, dont vous aurez besoin d'une logique d'accès Sject o3 personnalisée dans votre code, ou d'un middleware (JungleDisk, ElasticDisk, et al) qui présentent leurs propres problèmes et coûts
  • Les EBS sont faciles à sauvegarder . Amazon donne la possibilité de prendre des clichés, qui sont enregistrés sur S3
  • Les EBS sont portables entre les instances - les volumes peuvent être démontés d'une instance et attachés à une autre instance
  • Les périphériques EBS peuvent même être RAID ensemble pour une fiabilité améliorée

Jusqu'à présent, mon expérience avec EBS a été la chose la plus positive à propos d'AWS.


Mise à jour: Bien que mon expérience avec EBS ait été positive, d'autres ont eu des problèmes. Plus précisément, EBS n'implémente pas correctement fsync (). Ted Dziuba a quelques mots intéressants à ce sujet dans son article de blog Amazon - The Purpose of Pain : Myth 2: Architecture Will You Save from Cloud Failures

Cela devient encore plus divertissant avec Amazon Elastic Block Store, qui, comme l'ont constaté les administrateurs de Reddit, acceptera volontiers les appels à fsync () et vous mentira en disant que les données ont été écrites sur le disque, alors qu'elles peuvent ne pas avoir été.

Stu Thompson
la source
Les EBS sont parfois rapides, parfois lents. RAIDer plusieurs volumes ensemble aide beaucoup.
ceejayoz
4

EBS fonctionnerait certainement pour une base de données, et est l'un des exemples dans la description EBS d'Amazon . "Amazon EBS est particulièrement adapté aux applications qui nécessitent une base de données ..."

EBS fonctionnera comme un périphérique bloc (pensez au disque dur), vous offrant une grande liberté et confort d'utilisation. S3 est conceptuellement plus comme un FTP vraiment rapide, avec une API spéciale. Vous pouvez peut-être l'utiliser dans le cadre d'une base de données, mais les bases de données standard ne fonctionnent pas (encore?).

Vous voudrez revoir les descriptions d'Amazon sur les performances (EBS> S3), la durabilité (S3> EBS) et le prix (dépend).

Joshdan
la source
2

Comme mentionné dans d'autres réponses, EBS est la solution standard pour un stockage sur disque persistant et pratique. Ce devrait être votre option par défaut. En effet, les nouveaux types d'instances EC2 l'utilisent par défaut, sur le stockage d'instance d'origine non persistant.

Cependant, lorsque vous envisagez la persistance, vous voudrez également considérer attentivement la disponibilité (éviter les moments où les données ne sont pas disponibles) et la durabilité (éviter la perte de données) pour vos données.

EBS couvre les cas d'utilisation de base, mais gardez à l'esprit:

  • Le S3 est conçu pour une durabilité plus élevée que l'EBS. Autrement dit, ils conservent plus de copies de vos données et revendiquent une durabilité extrêmement élevée de 99,999999999% pour S3 (voir la FAQ S3). La probabilité numérique réelle ici (qui est si élevée qu'elle rend les invasions martiennes plus probables) n'est pas aussi importante que le fait qu'AWS a misé sa réputation sur la durabilité S3 et a un très bon bilan ici. Il n'en va pas de même pour EBS.
  • Bien qu'Amazon ne fournisse pas de statistiques à ce sujet directement, de nombreuses personnes pensent que le stockage d'instance a toujours offert une disponibilité supérieure à EBS.

Les pannes récentes d'AWS, comme une panne grave de plusieurs jours en 2011 et une autre en 2012 , donnent quelques illustrations de la complexité d'EBS et des risques faibles mais non négligeables de pannes et de perte de données.

Conclusion: pour être sûr de ne pas perdre vos données, conservez les sauvegardes de données dans S3 . Les instantanés EBS sont un moyen facile de le faire pour EBS. Si la haute disponibilité est critique, envisagez également d'utiliser le stockage d'instance dans plusieurs zones de disponibilité (en plus ou à la place d'EBS).

jlevy
la source
0

On dirait que si vous craignez de perdre des données, vous avez besoin de l' EBS mentionné ci-dessus . Il y a un peu d'intro ici .

Je ne l'ai pas personnellement étudié beaucoup plus que cela jusqu'à présent, j'utilise actuellement S3 pour les sauvegardes.

Scott Bennett-McLeish
la source