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