Mam instancję EC2 z serwerem WWW, który przechowuje pliki przesłane przez użytkowników do S3. Pliki są zapisywane raz i nigdy się nie zmieniają, ale od czasu do czasu są pobierane przez użytkowników. Prawdopodobnie będziemy gromadzić około 200-500 GB danych rocznie. Chcemy mieć pewność, że te dane są bezpieczne, zwłaszcza przed przypadkowym usunięciem, i chcielibyśmy móc przywracać pliki, które zostały usunięte bez względu na przyczynę.
Czytałem o funkcji kontroli wersji dla segmentów S3, ale nie mogę znaleźć możliwości odzyskania plików bez historii modyfikacji. Zobacz dokumenty AWS tutaj na temat wersji:
http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectVersioning.html
W tych przykładach nie pokazują one scenariusza, w którym dane są przesyłane, ale nigdy nie są modyfikowane, a następnie usuwane. Czy pliki usunięte w tym scenariuszu można odzyskać?
Następnie pomyśleliśmy, że możemy po prostu wykonać kopię zapasową plików S3 do Glacier przy użyciu zarządzania cyklem życia obiektu:
http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
Ale wygląda na to, że to nie zadziała, ponieważ obiekt pliku nie jest kopiowany do Glacier, ale przenoszony do Glacier (dokładniej wydaje się, że jest to atrybut obiektu, który został zmieniony, ale i tak ...).
Wydaje się więc, że nie ma bezpośredniego sposobu na wykonanie kopii zapasowej danych S3, a przesyłanie danych z S3 na serwery lokalne może być czasochłonne i może z czasem powodować znaczne koszty transferu.
Wreszcie pomyśleliśmy, że co miesiąc będziemy tworzyć nowy segment, który będzie służył jako miesięczna pełna kopia zapasowa, i kopiujemy dane oryginalnego segmentu do nowego w Dniu 1. Następnie używamy czegoś takiego jak duplikat ( http://duplicity.nongnu.org/ ) synchronizujemy łyżkę zapasową co noc. Pod koniec miesiąca umieściliśmy zawartość wiadra zapasowego w magazynie Glacier i utworzyliśmy nowy wiadro zapasowe przy użyciu nowej, bieżącej kopii oryginalnego wiadra ... i powtórzymy ten proces. Wydaje się, że to zadziałałoby i zminimalizowało koszty przechowywania / transferu, ale nie jestem pewien, czy duplikacja pozwala na bezpośrednie przesyłanie z jednego koszyka do drugiego bez wcześniejszego przekazywania danych do klienta kontrolującego.
Myślę, że tutaj jest kilka pytań. Po pierwsze, czy wersja S3 umożliwia odzyskiwanie plików, które nigdy nie były modyfikowane? Czy istnieje jakiś sposób na „skopiowanie” plików z S3 na Glacier, które przegapiłem? Czy duplikat lub inne narzędzie może przenosić pliki bezpośrednio między segmentami S3, aby uniknąć kosztów transferu? Wreszcie, czy jestem daleko w tyle w moim podejściu do tworzenia kopii zapasowych danych S3?
Z góry dziękuję za wszelkie informacje, które możesz podać!
Aktualizacja
Amazon niedawno ogłosił, że przechowywanie wersji działa teraz z regułami cyklu życia
źródło
Odpowiedzi:
Właśnie tego spróbowałem. Tak, możesz przywrócić z oryginalnej wersji. Kiedy usuwasz plik, tworzy on znacznik usuwania i możesz przywrócić wcześniejszą wersję, tj .: pojedynczą, jedyną wersję.
Lodowiec jest naprawdę przeznaczony do długotrwałego przechowywania, do którego dostęp jest bardzo rzadki. Odzyskiwanie dużej części danych za jednym razem może być bardzo kosztowne, ponieważ nie jest przeznaczone do przywracania dużej ilości danych w określonym momencie (procentowo).
Nie rób tego, możesz mieć tylko 100 wiader na konto, więc w ciągu 3 lat zużyjesz jedną trzecią swojego limitu przy użyciu kopii zapasowych.
tak
Nie żebym o tym wiedział
źródło
Nie lubię mieć zamontowanego s3, ponieważ jest wolny i może się zawiesić i działa jak oldschoolowy NFS. lepiej po prostu w górę / w dół w razie potrzeby.
jest łatwy do skryptu ... nie zapomnij pliku ~ / .s3cfg
źródło
Wygląda na to, że możesz potrzebować S3FS, który zasadniczo montuje twoje segmenty S3, jakby były lokalnymi systemami plików:
http://code.google.com/p/s3fs/wiki/FuseOverAmazon
Wolę używać tej rozwidlonej wersji, ponieważ zachowuje tę samą strukturę folderów, co ta utworzona w panelu sterowania dla Amazon S3:
https://github.com/tongwang/s3fs-c
Następnie mam kilka skryptów powłoki, które w zasadzie używają
rsync
do synchronizacji danych z moimi lokalnymi ustawieniami.Ogólnie rzecz biorąc, uważam, że S3FS działa najlepiej do czytania treści umieszczonych w segmentach Amazon S3. Pisanie nie jest tak konsekwentne. Ale do tworzenia kopii zapasowych segmentów S3 świetnie sprawdza się widelec Tony Wang w S3FS.
źródło