AWS

AWS S3 버킷 다른 Account로 복제

KK_Ryong 2023. 2. 14. 15:29

소스 버킷 확인 후 옴겨질 타겟 버킷 생성 및 속성 세팅
(111.co.kr > 222.co.kr)
(같은 이름 생성 안되어 1.이동 2.원본삭제 3.원본 이름으로 생성 
4.복제에서 다시 복제 5.첫 복제본 삭제)

ㅁIAM 생성 

옴겨질 Account IAM 정책 생성
{
    "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:::옴겨질 버킷/*"
            ]
        }
    ]
}
소스 Account IAM 에 정책 생성
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DelegateS3Access",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::옴겨질 버킷/*",
                "arn:aws: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:::소스 버킷"
      ]
    }
  ]
}

CLI 로 작업 (강제 MFA 걸려있을 시 권한 오류 생기므로 정책 제외 해주기)
aws --profile 이름 s3 sync s3://소스 버킷 s3://타겟 버킷