aws S3 버킷 타 계정으로 복사

공식문서 : https://aws.amazon.com/ko/premiumsupport/knowledge-center/copy-s3-objects-account/

1. 새로운 계정에서 정책 생성 : https://console.aws.amazon.com/iam/home#/policies

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::기존버킷명/*",
                "arn:aws:s3:::기존버킷명"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::새로운버킷명",
                "arn:aws:s3:::새로운버킷명/*"
            ]
        }
    ]
}

2. [새로운 계정] 정책 사용자에게 연결 : https://console.aws.amazon.com/iam/home?#/users

* 사용자와 그룹이 필요 하면 생성 후…
1) 권한추가
2) 기존 정책 직접 연결 – S3copy

 

3. 기존 계정에서 (원본 S3) 버킷 정책 변경

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DelegateS3Access",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::새로운계정의awsID:root"
            },
            "Action": [
                "s3:ListBucket",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::기존버킷명/*",
                "arn:aws:s3:::기존버킷명"
            ]
        }
    ]
}

 

3. 새로운 서버에서 cli 명령
– 퍼블릿 권한 추가 : –acl public-read
– 스토리즈 크랠스 : –storage-class STANDARD_IA
1) 폴더 복사 : sudo aws s3 sync s3://원본버킷명 s3://새로운버킷명 –acl public-read

폴더 복사 : sync
aws s3 sync s3://기존버킷명/폴더명 s3://새로운버킷명/폴더명 –acl public-read –storage-class STANDARD

2) 파일 복사 : sudo aws s3 cp s3://원본버킷명/파일명 s3://새로운버킷명/파일명 –acl public-read
파일 복사 : cp

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다