1. 개요
다른 계정으로 S3 이관하는 방법
2. 버킷 작업
2-1. 도착지에 S3 생성
단 S3 이름은 글로벌하게 유니크하므로 이름은 다르게 만들어야 한다.
만약 이름을 유지하고자 하면 작업을 한번 더 해야 한다.
- a에서 b로 이관
- a 삭제
- a 생성
- b에서 a로 이관
2-2. 출발지 S3에 버킷 정책 추가
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DelegateS3Access", "Effect": "Allow", "Principal": {"AWS": "[도착지계정ID]"}, "Action": ["s3:ListBucket","s3:GetObject"], "Resource": [ "arn:aws:s3:::[버킷이름]/*", "arn:aws:s3:::[버킷이름]" ] } ] }
3. 복제
CLI를 이용하여 이관한다.
$ aws s3 sync s3://[출발지버킷] s3://[도착지버킷]
그런데 이렇게 할 경우 Starage Class가 유지되지 않는다. 즉, STANDARD-IA 였던 것도 다 STANDARD가 된다. 이 때는 아래와 같이 하면 일괄로 Storage Class를 지정할 수는 있다. 파일 별로 Storage Class를 유지하는 방법은 모르겠다.
$ aws s3 sync s3://[출발지버킷] s3://[도착지버킷] --storage-class STANDARD_IA