Czy istnieje sposób na odzyskanie po przypadkowym usunięciu wiadra Amazon S3?
Mamy krytyczne informacje w naszych segmentach i muszę zminimalizować ryzyko przypadkowego lub złośliwego usunięcia samego segmentu.
Wiem, że mogę lokalnie zsynchronizować cały segment, ale nie jest to zbyt praktyczne, jeśli rozmiar mojego segmentu wynosi 100 GB.
Jakieś pomysły na strategie tworzenia kopii zapasowych?
Odpowiedzi:
Innym podejściem jest włączenie wersjonowania wersji S3 w swoim segmencie. Następnie możesz przywrócić usunięte pliki itp. Zobacz dokumentację S3, w jaki sposób to włączyć
Korzystanie z narzędzi innych firm, takich jak BucketExplorer, sprawia, że praca z wersjonowaniem jest dość trywialna (w porównaniu do samodzielnego wywoływania API bezpośrednio).
Możesz także włączyć usuwanie uwierzytelniania wieloskładnikowego dla swoich segmentów S3 - co znacznie utrudnia „przypadkowe usunięcie”;)
Więcej na temat uwierzytelniania wieloskładnikowego Usuń więcej na temat usuwania
obiektów
źródło
Możesz użyć s3cmd http://s3tools.org/s3cmd
Aby wykonać kopię zapasową wiadra o nazwie mybucket
źródło
To nie jest tanie rozwiązanie, ale jeśli twoje wiadra są naprawdę krytyczne, oto jak to zrobić: uruchom instancję Amazon EC2 i okresowo synchronizuj zawartość.
Amazon EC2 to ich dostawca hostingu wirtualizacji. Możesz podkręcić instancje Linuksa, Windowsa itp. I uruchomić cokolwiek zechcesz. Płacisz za godzinę, a lokalnie dostajesz dość dużą przestrzeń dyskową dla tego serwera. Na przykład używam instancji „dużego” rozmiaru, która zawiera 850 GB miejsca na dysku lokalnym.
Fajne jest to, że jest w tej samej sieci co S3, a ty masz nieograniczone transfery między S3 a EC2. Korzystam z oprogramowania Jungle Disk za 20 USD w instancji Windows EC2, która pozwala mi uzyskiwać dostęp do moich segmentów S3, tak jakby były to foldery lokalne. Następnie mogę wykonać zaplanowane pliki wsadowe, aby skopiować rzeczy z S3 na moje lokalne miejsce na dysku EC2. Możesz zautomatyzować go, aby zachować cogodzinne kopie zapasowe, jeśli chcesz lub jeśli chcesz grać, skonfiguruj JungleDisk (lub jego odpowiedniki dla systemu Linux), aby synchronizował się co godzinę. Jeśli ktoś usunie plik, masz co najmniej kilka minut na odzyskanie go z EC2. Polecam jednak regularne kopie zapasowe ze skryptami - jeśli kompresujesz je na wolumin 850 GB, łatwo jest zachować kilka dni kopii zapasowych.
Jest to bardzo przydatne w przypadku wysyłania dziennika programu SQL Server, ale widzę, w jaki sposób osiągnąłby on również twój cel.
źródło
Jednym z możliwych rozwiązań może być po prostu utworzenie „wiadra zapasowego” i skopiowanie tam poufnych informacji. Teoretycznie Twoje dane są bezpieczniejsze w S3 niż na dysku twardym.
Ponadto nie jestem pewien, czy przypadkowe usunięcie jest prawdziwym problemem, ponieważ musisz przypadkowo usunąć wszystkie klucze segmentu, zanim będziesz mógł usunąć segment.
źródło
rm -rf
Innym możliwym rozwiązaniem jest replikacja wiadra do strefy europejskiej w S3. Może to utrzymywać wiadro po przypadkowym usunięciu wystarczająco długo, aby się zregenerować.
źródło
Aby nieco zmodyfikować (doskonałą) odpowiedź Brenta; nie powinieneś utrzymywać działania instancji. Utwórz EC2 AMI, który ściąga dane, synchronizuje je z woluminem EBS, wykonuje migawkę tego woluminu i wyłącza się.
Wolumin można również uruchomić sam, ale jego wykonanie powinno być wystarczające do wykonania kopii zapasowej. Jeśli Twój niestandardowy interfejs AMI wykonuje to wszystko (w tym samoczynnie się wyłącza po zakończeniu) bez interakcji, skrypt „kopii zapasowej” musi po prostu wykonać polecenie „ec2run -n 1 -t m1.small ami-” i odpalić i zapomnieć.
źródło