Potrzebujesz wykonać kopię zapasową danych na Amazon S3?

16

W S3 hostuję 200 GB zdjęć produktów (jest to mój główny host plików).

Czy muszę wykonać kopię zapasową tych danych w innym miejscu, czy też S3 jest bezpieczny?

Eksperymentowałem z montażem segmentu S3 w instancji EC2, a następnie tworzeniem nocnej kopii zapasowej rsync. Problem polega na tym, że jest to około 3 milionów plików, więc wygenerowanie różnych potrzeb rsync zajmuje trochę czasu. Wykonanie kopii zapasowej zajmuje około 3 dni.

Jakieś pomysły, jak to zrobić lepiej? (jeśli to w ogóle konieczne?)

Chrille
źródło

Odpowiedzi:

5

Robię badania nad tym, dość zabawne.

Twoje kopie zapasowe w S3 mogą się nie powieść w zależności od regionu z powodu ostatecznej spójności; podstawowe ostrzeżenie jest takie, że jeśli zrobisz to wystarczająco, w pewnym momencie będziesz mieć błędy podczas otwierania lub znajdowania plików, ponieważ magia systemu plików w tle Amazon synchronizuje się między serwerami, więc kopie zapasowe mogą nie być niezawodne.

To, czy chcesz je zapisać w inny sposób, zależy od zarządzania ryzykiem. Czy ufasz Amazonowi, że przechowa twoje dane?

Możliwe, że coś stracą lub ulegną większej awarii systemu pamięci; bez wątpienia mają w swoich umowach klauzule określające, że jeśli utracą twoje dane, to twój problem. Nie ich. Ponieważ widząc, że Twoje dane są przechowywane gdzie indziej, nie wiesz, co oni z nimi zrobią; organy ścigania chcą Twoich danych? Możesz nawet nie wiedzieć, że ktoś inny miał do niego dostęp.

Czy wierzysz w to? Jeśli dane nie są kluczowe dla Twojej firmy i chcesz zaakceptować to ryzyko, nie musisz pobierać ich do pamięci zewnętrznej. Jeśli nie chcesz ryzykować, że twoje dane będą bezpieczne na serwerach pamięci Amazon tam, powinieneś poczynić przygotowania do okresowego zrzucania ich do własnego magazynu.

Innymi słowy, nie sądzę, aby istniała prosta odpowiedź na to pytanie, ponieważ zależy to od tolerancji ryzyka i potrzeb biznesowych. Wiele osób nie ufa całkowicie swoim dochodom wyłącznie z przechowywania w chmurze, osobiście czuję się trochę nieufny ...

Aby to zrobić lepiej, w dyskusjach i badaniach, innym podejściem do rozważenia jest utworzenie wolumenu EBS wystarczająco dużego, aby przechowywać dane, dołączyć go do instancji EC2, zapisać tam dane, a następnie można odmontować wolumin i zapisać dane w S3 . Jestem w trakcie badania, czy można to zrobić jako zapisanie samego pliku woluminu do S3 lub zawartości ... ale wtedy możesz usunąć instancję EBS, gdy skończysz, aby zaoszczędzić na kosztach przechowywania.

EDYTOWAĆ Widzę w ponownym czytaniu, że zapisujesz Z S3 DO instancji EC2, a nie odwrotnie (chociaż nie wiem, czy ewentualny problem z spójnością może nadal powodować problemy). Próbujesz zapisać dane w instancji EC2 jako kopię zapasową? Sądzę, że pod względem kosztów to nie jest taktyka; tworzenie kopii zapasowych na dysku lokalnym może być tańsze, jeśli weźmiesz pod uwagę długoterminowe przechowywanie tego rodzaju danych wraz z czasem VM. Dzięki kosztom dysku możesz skopiować dane na dysk lokalny jako kopię zapasową.

Nadal trzymałbym ostrzeżenia o zaufaniu Amazonowi i ich pamięci masowej. Jeśli chcesz zachować wszystko w Amazon S3, ale mieć więcej redundancji, zduplikuj swoje segmenty S3 w różnych regionach, a jeśli mają awarię wpływającą na jeden region, nie powinno to powodować ich eliminacji. Miałbyś nadzieję Wszystko jest jednak możliwe.

Wszystko sprowadza się do tego, jak bardzo cenisz swoje dane, ile chcesz za nie zapłacić i jakie ryzyko chcesz tolerować.

Bart Silverstrim
źródło
Dziękuję za odpowiedź, ale myślę, że źle zrozumiałeś. Używam S3 jako mojej podstawowej pamięci (hostuję pliki stamtąd bezpośrednio jako cdn). Moje pytanie brzmiało więc, czy pliki są tam bezpieczne, czy też muszę je gdzieś wykonać kopię zapasową (może to być inny moduł S3 bucker lub instancja EC2)?
Chrille,
Dodano do edycji.
Bart Silverstrim,
Hmm, tak, może lokalna kopia zapasowa byłaby bezpieczniejsza. Czy wiesz, czy S3 i EC2 współużytkują ten sam sprzęt - jeśli zawiedzie, zarówno S3, jak i moja kopia zapasowa EC2 znikną? Moje dwa powody dla tworzenia kopii zapasowej w EC2 to: (1) Nie ma opłaty za transfer między EC2 a S3. Kopiowanie 200 GB lokalnie co tydzień kosztowałoby sporo. (2) w przypadku awarii w S3, mogłem dość szybko przekonwertować moją instancję EC2, aby zamiast tego udostępnić obrazy z kopii zapasowej. Ale zdaję sobie sprawę, że lokalna kopia zapasowa ma również wiele zalet ...
Chrille,
Naprawdę nie wiem, jak sprzęt Amazon jest ustawiony w tle; nawet gdybym wiedział, nie ma gwarancji, że nie zmienią tego w przyszłości.
Bart Silverstrim,
4

Użyłem s3cmd-tych s3cmd sync , aby to zrobić. Jest trochę podobny do rsync w działaniu i może pchać i wyciągać całe katalogi między S3 a innym wybranym systemem Linux.

Nie widzę żadnego powodu, dla którego nie mogłeś s3cmd syncuruchomić działającej instancji EC2, ani nawet własnej stacji roboczej programisty (lub serwera pamięci).

Możesz skonfigurować instancję VPC, a następnie możesz przypisać mały węzeł w swoim VPC roli serwera kopii zapasowej i nadać mu zarówno adres IP w sieci Amazon, jak i wewnątrz lokalnej podsieci.

Tom O'Connor
źródło
Moją obawą, którą musiałby podjąć przy pomocy własnych finansów, jest koszt utrzymania instancji EC2 i przestrzeni EBS do przechowywania tego rodzaju danych w porównaniu do zapisania ich na lokalnym zewnętrznym dysku twardym za kilkaset dolarów zamiast tego. Jeśli pieniądze pozwalają na opłaty za transfer, po prostu pobieram je na dysk lokalny i okresowo synchronizuję (co było również częścią podanego rozwiązania).
Bart Silverstrim
Amazon EC2 nie jest tani pod żadnym względem, zwłaszcza jeśli chcesz robić na poziomie przedsiębiorstwa lub cokolwiek innego niż proste rzeczy. Jeśli ci się nie podoba, to może nie jest dla ciebie.
Tom O'Connor,
@BartSilverstrim: czy transfer w ramach AWS jest bezpłatny? Jeśli tak, kopiowanie do EC2 może być dla mnie tańsze niż lokalnie. I tak mam instancję EC2 działającą 24 godziny na dobę, 7 dni w tygodniu, więc kosztowałaby to tylko przestrzeń EBS.
Chrille,
2

Moja rada jest taka, że ​​twoje dane są Twoją odpowiedzialnością, a nie Amazonką. Jeśli utrata danych nie jest tak wielką sprawą, nie rób własnej kopii zapasowej. Jeśli tak, to weź własną kopię zapasową (przynajmniej) taniej JBOD (i regularnie weryfikuj), tak jak ja.

Dowiesz się, ile Amazon jest gotów wziąć na siebie za twoje dane, w dniu ich utraty.

Tom Donnelly
źródło
0

Jeśli możesz sobie na to pozwolić (tak jak ja to robię), masz wszystkie moje dane przechowywane na moim serwerze, ale pobieram je z Amazon s3. Więc jeśli Amazon z jakiegoś powodu przestanie działać (dotknij drewna), mogę po prostu natychmiast pobrać wszystkie moje dane bezpośrednio z mojego serwera. Z mojego serwera robię comiesięczne kopie zapasowe na mój dysk lokalny. Ponieważ moja witryna ma ponad 2 TB w witrynie.

daniel27lt
źródło
Uważam, że jest trochę niejasne, jakie jest twoje zalecenie. Jaki jest twój serwer i gdzie się znajduje?
kasperd
0

Chociaż jest to stary wątek, jest to pierwsza rzecz, która pojawia się podczas tworzenia kopii zapasowej Googling S3, więc pomyślałem, że dodam do tego ...

Przeprowadzając badania na ten temat, odkryłem Rclone https://rclone.org/ - jest to oprogramowanie rsync przeznaczone do kopiowania między usługami przechowywania plików w chmurze i obsługuje większość z nich. Brak przynależności i jeszcze jej nie użyłem, więc nie mogę powiedzieć, czy to dobrze, czy źle, ale pomyślałem, że to może komuś pomóc.

Wydaje mi się, że istnieje możliwość hostowanej usługi, która wykonuje kopie zapasowe plików hostowanych w chmurze „poza siedzibą” (S3, Google Storage, Rackspace Cloud Files itp.)…

km
źródło