Trwałość danych Amazon EC2

25

Zgodnie z często zadawanymi pytaniami Amazon EC2 po zakończeniu instancji dane znikają. Jakie kroki mogę podjąć, aby zachować dane na wypadek ponownego uruchomienia mojej instancji? Przyglądałem się EBS i S3 - czy któreś z nich byłoby przydatne do przechowywania aktywnej bazy danych? Jak często instancje są zrestartowane?

Kyle Cronin
źródło
2
Drobiazg na temat terminologii: zwróć uwagę, że zakończenie instancji różni się od zwykłego ponownego uruchomienia . Zakończenie powoduje wyczyszczenie pamięci instancji podczas ponownego uruchamiania komputera (patrz np. Stackoverflow.com/questions/637790/… ). Więc nie masz na myśli restartu :)
Jonik

Odpowiedzi:

25

Jak inni powiedzieli, EBS - Elastic Block Storage. Sam go używam teraz, gdy został udostępniony ogółowi społeczeństwa. Jest lepszy niż S3 w wielu punktach:

  • EBS są szybkie . Według Amazon Amazon jest szybszy niż nawet lokalne wierzchowce.
  • EBS montuje się jako odpowiednie urządzenie . W przeciwieństwie do S3, który będzie wymagał niestandardowej logiki dostępu do Sject w kodzie lub oprogramowania pośredniego (JungleDisk, ElasticDisk i in.), Które przedstawiają własne problemy i koszty
  • Tworzenie kopii zapasowych EBS jest łatwe . Amazon daje możliwość robienia zdjęć, które są zapisywane na S3
  • Systemy EBS są przenośne między instancjami - woluminy można odmontować z jednej instancji i dołączyć do innej
  • Urządzenia EBS można nawet RAID'ować razem, aby zwiększyć niezawodność

Moje dotychczasowe doświadczenia z EBS były najbardziej pozytywne w AWS, z którymi miałem do tej pory do czynienia.


Aktualizacja: Chociaż moje doświadczenia z EBS były pozytywne, inni mieli problemy. W szczególności EBS nie implementuje poprawnie fsync (). Ted Dziuba ma kilka interesujących słów na ten temat w swoim blogu Amazon - The Purpose of Pain : Myth 2: Architecture Was Save from Cloud Clouds

To staje się jeszcze bardziej zabawne w Amazon Elastic Block Store, który, jak stwierdzili administratorzy Reddit, z przyjemnością przyjmie połączenia z fsync () i okłamie cię, mówiąc, że dane zostały zapisane na dysku, gdy może nie mieć być.

Stu Thompson
źródło
EBS są czasami szybkie, a czasem wolne. RAIDing wielu woluminów razem bardzo pomaga.
ceejayoz
4

EBS z pewnością działałby dla bazy danych i jest jednym z przykładów w opisie EBS Amazon . „Amazon EBS jest szczególnie odpowiedni dla aplikacji wymagających bazy danych ...”

EBS będzie działał jak urządzenie blokowe (pomyśl dysk twardy), zapewniając szeroką swobodę i wygodę korzystania z niego. S3 koncepcyjnie bardziej przypomina naprawdę szybki FTP ze specjalnym API. Możliwe, że możesz użyć go jako części bazy danych, ale standardowe bazy danych na nim nie działają (jeszcze?).

Będziesz chciał przejrzeć opisy wydajności Amazon (EBS> S3), trwałości (S3> EBS) i ceny (zależy).

Joshdan
źródło
2

Jak wspomniano w innych odpowiedziach, EBS jest standardowym rozwiązaniem zapewniającym trwałe i wygodne przechowywanie dysków. To powinna być twoja domyślna opcja. Rzeczywiście, nowsze typy instancji EC2 używają go domyślnie w stosunku do oryginalnej, nie utrwalonej pamięci instancji.

Jednak biorąc pod uwagę trwałość, należy również dokładnie rozważyć dostępność (unikanie czasów, gdy dane nie są dostępne) i trwałość (unikanie utraty danych) dla danych.

EBS obejmuje podstawowe przypadki użycia, ale należy pamiętać:

  • S3 został zaprojektowany dla większej trwałości niż EBS. Mówiąc najprościej, przechowują więcej kopii danych i twierdzą, że S3 ma wyjątkowo wysoką trwałość na poziomie 99,999999999% (patrz FAQ na temat S3). Faktyczne prawdopodobieństwo numeryczne tutaj (które jest tak wysokie, że sprawia, że ​​inwazje marsjańskie wydają się bardziej prawdopodobne) nie jest tak ważne, jak fakt, że AWS postawił swoją reputację na trwałości S3 i ma tutaj bardzo dobry rekord. To samo nie dotyczy EBS.
  • Chociaż Amazon nie podaje statystyk na ten temat bezpośrednio, wiele osób uważa, że ​​pamięć instancji historycznie oferowała wyższą dostępność niż EBS.

Niedawne awarie AWS, tak poważna awaria wielodniowa w 2011 r. I kolejna w 2012 r. , Dają kilka przykładów złożoności EBS i niewielkiego, ale nie mniej istotnego ryzyka awarii i utraty danych.

Konkluzja: Aby mieć pewność, że nie stracisz danych, przechowuj kopie zapasowe danych w S3 . Migawki EBS są łatwym sposobem na zrobienie tego dla EBS. Jeśli wysoka dostępność ma krytyczne znaczenie, rozważ także użycie pamięci instancji w wielu strefach dostępności (oprócz lub zamiast EBS).

Jlevy
źródło
0

Wygląda na to, że jeśli martwisz się utratą danych, potrzebujesz wyżej wymienionego systemu EBS . Jest trochę intro tutaj .

Do tej pory osobiście nie zajmowałem się tym bardziej niż teraz, obecnie używam S3 do tworzenia kopii zapasowych.

Scott Bennett-McLeish
źródło