답변:
다른 방법은 버킷에서 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 인스턴스를 부팅하고 주기적으로 컨텐츠를 동기화하는 방법이 여기에 있습니다 .
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-'및 fire-and-forget 만하면됩니다.