S3 버킷을 다른 위치로 이동하는 방법


20

우리는 웹 응용 프로그램에 수백만 개의 항목을 저장하기 위해 S3을 사용합니다. 이제 모든 것을 EC2, EU 서버로 옮기고 S3 데이터를 EU로 옮기고 싶습니다. 그러나 우리가 사용하는 버킷은 미국에 있으며 전체 버킷 내용을 다른 버킷으로 옮기는 도구가없는 것 같습니다.

나중에 EU 버킷으로 전환 할 때 마이그레이션을 실행하는 동안 생성되는 데이터 인 데이터를 동기화하는 방법에 대한 문제도 있습니다.

답변:


18

새로운 공식 AWS CLI 는의 대부분의 기능을 기본적으로 지원합니다 s3cmd.

http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html

aws s3 sync s3://oldbucket s3://newbucket --source-region us-west-1 --region us-west-2

지역 이름 목록은 어디에서 찾을 수 있습니까?
bart

S3 지역은 여기에서 찾을 수 있습니다. docs.aws.amazon.com/general/latest/gr/rande.html#s3_region 이들은 귀하가 제공하는 EC2 지역과 거의 동일 aws ec2 describe-regions하지만 us-east-1S3의 미국 표준으로도 알려져 있습니다. 역사적 이유로 다소 다릅니다.
AB

5

나는 당신이 실행할 수 있다고 생각합니다 :

s3cmd --recursive cp s3://oldbucket/ s3://newbucket

직접 복사해야합니다.


CLI는 말합니다 : "명령을 찾을 수 없습니다"
bart

3

패키지 솔루션을 알지 못하지만 본질적으로 버킷 목록 일 뿐이며 각 객체를 미국 버킷에서 EU 버킷으로 PUT 복사합니다. PUT-copy API는 "if-modified-since"및 "if-none-match"를 지원하므로 중복 작업없이 반복적으로 실행할 수 있습니다. http://docs.amazonwebservices.com/AmazonS3/2006-03-01/ API / index.html? RESTObjectCOPY.html

실시간 마이그레이션의 경우 다음 방법을 제안합니다.

  1. 선택적 첫 번째 단계 : 마이그레이션 할 대량의 데이터가있는 경우 AWS Import / Export를 사용하여 미국의 물리적 디바이스에서 데이터의 첫 번째 스냅 샷을 캡처하여 물리적으로 EU로 배송하십시오. 시간과 돈을 절약 할 수 있습니다.
    • 위에서 설명한 if-modified-since 또는 if-none-match를 사용하여 미국에서 EU로 데이터를 마이그레이션하는 스크립트를 설정하십시오. 오래된 EU 데이터로 새로운 EU 데이터를 방해하지 않도록 똑똑하게 만드십시오 (한 번 아래 5 단계에 도달). 두 버킷이 거의 동일한 상태가 될 때까지 루프에서 계속 실행하십시오.
    • 데이터를 미국과 EU 버킷에 동시에 PUT하도록 웹 앱을 수정하고 미국에서만 독점적으로 데이터를 가져옵니다.
    • 버킷이 정확히 동일한 상태 (또는 최종 일관성이있을 때 얻을 수있는 수준)에 도달 할 때까지 마이그레이션 스크립트를 계속 실행하십시오.
    • EU 버킷에서 독점적으로 GET 데이터로 웹 앱을 수정하십시오.
    • 이제 마이그레이션 스크립트를 해제 할 수 있습니다.
    • 최종 일관성 이상을 찾아 정리하십시오.
    • 웹 버킷을 미국 버킷에 퍼팅하는 것을 중지하도록 웹앱을 수정하십시오.
    • 미국 버킷의 모든 항목을 삭제하십시오.

데이터는 미국 데이터의 복제본이므로 마이그레이션 중에 EU 버킷에서 S3 Reduced Redundancy Storage를 사용하여보다 저렴한 데이터 속도와 빠른 응답 시간을 얻을 수 있습니다.



0

나는 S3로 상당한 양의 작업을 해 왔으며 기본적 으로이 작업을 수행 할 도구를 결코 보지 못했습니다. 그러나 두 개의 버킷을 서로 동기화하기 위해 두 개의 s3cmd-sync 동기화 스크립트를 사용하는 것이 어려운 것은 아닙니다 .


예, 작동하지만 S3 API는 항목을 다운로드하지 않고 이동 / 복사를 지원하는 반면 모든 것을 로컬로 다운로드해야합니다.
skrat
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.