Amazon EC2-Datenpersistenz

25

Nach Angaben der Amazon EC2 FAQ , wenn eine Instanz der Daten beendet ist , ist weg. Welche Schritte kann ich unternehmen, um Daten für den Fall zu erhalten, dass meine Instanz neu gestartet wird? Ich habe mich mit EBS und S3 befasst. Wäre eine dieser beiden Methoden hilfreich, um eine aktive Datenbank zu speichern? Wie oft werden Instanzen überhaupt neu gestartet?

Kyle Cronin
quelle
2
Eine Randnotiz zur Terminologie: Beachten Sie, dass das Beenden einer Instanz nicht nur ein Neustart der Instanz ist . Das Beenden löscht den Instanzenspeicher während des Neustarts nicht (siehe z . B. stackoverflow.com/questions/637790/… ). Sie brauchen also nicht wirklich mittleres Neu starten :)
Jonik

Antworten:

25

Wie schon andere gesagt haben, EBS - Elastic Block Storage. Ich benutze es jetzt selbst, da es für die breite Öffentlichkeit freigegeben ist. In mehreren Punkten ist es besser als S3:

  • EBS sind schnell . Schneller als die lokalen Berge, so Amazon.
  • EBS wird als ordnungsgemäßes Gerät montiert . Im Gegensatz zu S3, für das Sie eine benutzerdefinierte S3-Objektzugriffslogik in Ihrem Code benötigen, oder Middleware (JungleDisk, ElasticDisk usw.), die ihre eigenen Probleme und Kosten aufweist
  • EBS sind einfach zu sichern . Amazon gibt einem die Möglichkeit, Schnappschüsse zu machen, die auf S3 gespeichert sind
  • EBS sind zwischen Instanzen portierbar - Volumes können von einer Instanz abgehängt und an eine andere Instanz angehängt werden
  • EBS-Geräte können für eine verbesserte Zuverlässigkeit sogar zusammen RAID-geprüft werden

Meine bisherigen Erfahrungen mit EBS waren die positivsten für AWS, mit denen ich mich bisher befasst habe.


Update: Während meine Erfahrungen mit EBS positiv waren, hatten andere Probleme. Ganz speziell EBS implementieren fsync () nicht richtig. Ted Dziuba hat einige interessante Worte dazu in seinem Blogbeitrag Amazon - The Purpose of Pain : Mythos 2: Architektur wird Sie vor Cloud-Ausfällen bewahren

Noch unterhaltsamer wird dies mit dem Amazon Elastic Block Store, der, wie die Reddit-Administratoren festgestellt haben, gerne Aufrufe von fsync () entgegennimmt und Sie belügt, dass die Daten auf die Festplatte geschrieben wurden, wenn dies nicht der Fall ist gewesen.

Stu Thompson
quelle
EBS sind manchmal schnell, manchmal langsam. Das RAIDing mehrerer Volumes zusammen hilft sehr.
Ceejayoz
4

EBS würde sicherlich für eine Datenbank funktionieren und ist eines der Beispiele in der EBS-Beschreibung von Amazon . "Amazon EBS eignet sich besonders für Anwendungen, die eine Datenbank erfordern ..."

EBS funktioniert genau wie ein Blockgerät (Think Hard Disk) und bietet Ihnen umfassende Freiheit und Komfort bei der Verwendung. S3 ist konzeptionell eher ein sehr schnelles FTP mit einer speziellen API. Es ist denkbar, dass Sie es als Teil einer Datenbank verwenden, aber Standarddatenbanken werden (noch?) Nicht darauf ausgeführt.

Sie möchten die Leistungsbeschreibungen (EBS> S3), die Haltbarkeit (S3> EBS) und den Preis (abhängig) von Amazon einsehen.

Joshdan
quelle
2

Wie bereits in anderen Antworten erwähnt, ist EBS die Standardlösung für die dauerhafte und bequeme Speicherung von Festplatten. Dies sollte Ihre Standardoption sein. Tatsächlich wird es von den neueren EC2-Instanztypen standardmäßig über den ursprünglichen, nicht persistierten Instanzspeicher hinweg verwendet.

Wenn Sie jedoch die Persistenz berücksichtigen, sollten Sie auch die Verfügbarkeit (Vermeidung von Zeiten, in denen die Daten nicht verfügbar sind) und die Lebensdauer (Vermeidung von Datenverlust) Ihrer Daten sorgfältig berücksichtigen .

EBS deckt die grundlegenden Anwendungsfälle ab. Beachten Sie jedoch Folgendes:

  • S3 ist für eine höhere Lebensdauer als EBS ausgelegt. Einfach ausgedrückt, sie behalten mehr Kopien Ihrer Daten und behaupten eine extrem hohe Haltbarkeit von 99,999999999% für S3 (siehe S3-FAQ). Die tatsächliche numerische Wahrscheinlichkeit (die so hoch ist, dass Marsinvasionen wahrscheinlicher erscheinen) ist nicht so wichtig wie die Tatsache, dass AWS seinen Ruf in Bezug auf die S3-Haltbarkeit abgesteckt hat und hier eine sehr gute Bilanz vorweisen kann. Gleiches gilt nicht für EBS.
  • Obwohl Amazon diesbezüglich keine direkten Statistiken bereitstellt, sind viele der Ansicht, dass Instancespeicher in der Vergangenheit eine höhere Verfügbarkeit als EBS bieten.

Die jüngsten AWS-Ausfälle, ein derart schwerwiegender mehrtägiger Ausfall im Jahr 2011 und ein weiterer im Jahr 2012 , veranschaulichen die Komplexität von EBS und die geringen, aber nicht zu vernachlässigenden Risiken von Ausfällen und Datenverlusten.

Fazit: Um sicherzustellen, dass Sie Ihre Daten nicht verlieren, bewahren Sie Datensicherungen in S3 auf . EBS-Snapshots sind eine einfache Möglichkeit, dies für EBS zu tun. Wenn hohe Verfügbarkeit von entscheidender Bedeutung ist, ziehen Sie in Betracht, auch Instanzspeicher in mehreren Verfügbarkeitszonen (zusätzlich zu oder anstelle von EBS) zu verwenden.

jlevy
quelle
0

Klingt so, als ob Sie den Verlust von Daten befürchten, dann benötigen Sie das oben erwähnte EBS . Es ist ein bisschen wie ein Intro hier .

Ich persönlich habe bisher nicht viel mehr darüber nachgedacht, ich verwende derzeit nur S3 für Backups.

Scott Bennett-McLeish
quelle