실수로 Amazon S3 버킷을 삭제하지 못하도록 복구 할 수있는 방법이 있습니까?
버킷에 중요한 정보가 있으므로 버킷 자체의 우발적 또는 악의적 삭제 위험을 완화해야합니다.
전체 버킷을 로컬로 동기화 할 수 있지만 버킷 크기가 100GB 인 경우에는 실용적이지 않습니다.
백업 전략에 대한 아이디어가 있습니까?
다른 방법은 버킷에서 S3 버전 관리를 활성화하는 것입니다. 그런 다음 삭제 된 파일 등을 복원 할 수 있습니다. 이 기능을 활성화하는 방법은 S3 설명서를 참조하십시오
BucketExplorer 와 같은 타사 도구를 사용하면 버전 관리 작업이 간단 해집니다 (API를 직접 호출하는 것).
S3 버킷에 대해 다단계 인증 삭제를 활성화 할 수도 있습니다. "사고 삭제"가 조금 더 어려워집니다.)
S3cmd를 사용할 수 있습니다 http://s3tools.org/s3cmd
Mybucket이라는 버킷을 백업하려면
s3cmd mb s3://mybucket_backup
s3cmd --recursive cp s3://mybucket s3://mybucket_backup
저렴한 솔루션은 아니지만 버킷이 매우 중요한 경우 다음과 같이 수행하십시오. Amazon EC2 instance 를 부팅하고 주기적으로 컨텐츠를 동기화하십시오.
Amazon EC2는 가상화 호스팅 제공 업체입니다. Linux, Windows 등의 인스턴스를 스핀하고 원하는 것을 실행할 수 있습니다. 당신은 시간 단위로 지불하고, 그 서버를 위해 로컬에 꽤 큰 저장 공간을 얻습니다. 예를 들어, 850GB의 로컬 디스크 공간과 함께 제공되는 "대형"크기 인스턴스를 사용합니다.
멋진 부분은 S3와 동일한 네트워크에 있으며 S3와 EC2간에 무제한 전송이 가능하다는 것입니다. Windows EC2 인스턴스에서 $ 20 Jungle Disk 소프트웨어를 사용하여 마치 마치 로컬 디스크 폴더 인 것처럼 S3 버킷에 액세스 할 수 있습니다. 그런 다음 예약 된 배치 파일을 사용하여 S3에서 로컬 EC2 디스크 공간으로 내용을 복사 할 수 있습니다. 원하는 경우 시간별 백업을 유지하거나 도박을하려는 경우 시간당 한 번 정도 동기화되도록 JungleDisk (또는 Linux와 동등한 기능)를 설정하십시오. 누군가 파일을 삭제하면 EC2에서 파일을 가져 오는 데 몇 분이 걸립니다. 그래도 정기적 인 스크립트 백업을 권장합니다. 850GB 볼륨으로 압축하는 경우 며칠 동안 백업을 유지하는 것이 쉽습니다.
이것은 SQL Server 로그 전달에 실제로 유용하지만 목표 달성 방법을 알 수 있습니다.
가능한 한 가지 해결책은 "백업 버킷"을 생성하고 민감한 정보를 복제하는 것입니다. 이론적으로 데이터는 하드 드라이브보다 S3에서 더 안전합니다.
또한 우발적 인 삭제가 실제 문제인지 확실하지 않습니다. 버킷을 삭제하기 전에 실수로 모든 버킷 키를 삭제해야하기 때문입니다.
브렌트 (우수)를 수정하려면 약간 대답하십시오. 인스턴스를 계속 실행하지 않아도됩니다. 데이터를 가져 와서 EBS 볼륨에 동기화하고, 해당 볼륨을 스냅 샷하고 자체 종료하는 EC2 AMI를 생성하십시오.
볼륨 자체도 계속 유지할 수 있지만 스냅 샷은 백업에 충분해야합니다. 사용자 지정 AMI가 상호 작용없이이 모든 작업 (완료된 후 자체 종료 포함)을 수행하는 경우 '백업'스크립트는 'ec2run -n 1 -t m1.small AMI-'및 실행 후 잊기 만하면됩니다.
또 다른 가능한 해결책은 버킷을 S3의 유럽 영역으로 복제하는 것입니다. 실수로 삭제 한 후에도 복구 할 수있을 정도로 오랫동안 버킷이 유지 될 수 있습니다.