본문 바로가기
CSP (Cloud Service Provider)/AWS

[AWS] 타 계정 S3 Data Copy

by BTC_맥썸 2022. 11. 2.

안녕하세요 맥썸입니다.

오늘 포스팅은 타 계정의 S3 data를 복사하는 방법에 관한 환경 구성을 소개 하겠습니다. 

 

 

환경 구성하기 전,

내 계정의 Bucket이 존재하는 것과 aws cli, aws configure 구성이 되어 있다는 것을 기점으로 시작 하겠습니다.

 

● 복사 할 Bucket (타 계정) = Source-Bucket

● 복사 한 Data를 담을 Bucket (내 계정) = Target-Bucket

 

 

Step 1. 내 계정 Policy 생성

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::<Source-Bucket>",
        "arn:aws:s3:::<Source-Bucket>/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:PutObject",
        "s3:PutObjectAcl"
      ],
      "Resource": [
        "arn:aws:s3:::<Target-Bucket>",
        "arn:aws:s3:::<Target-Bucket>/*"
      ]
    }
  ]
}

Source-Bucket 과 Target-Bucket을 구분하여 기입 해주시길 바랍니다.

 

 

Step 2. 내 계정 user 생성

  2-1) AccessKey User 생성

          -  목적: AWS CLI 이용하여 S3 Get, Put 하기 위함

  2-2) Policy 매핑

          - Step 1에서 생성한 Policy 매핑

 

 

 

Step 3. 타 계정 S3 Bucket 정책 설정

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "S3Access",
      "Effect": "Allow",
      "Principal": {
        "AWS": "<MyAccountID>"
      },
      "Action": [
        "s3:ListBucket",
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::<Source-Bucket>/*",
        "arn:aws:s3:::<Source-Bucket>"
      ]
    }
  ]
}

 

 

Step 4. S3 Data Copy

  3-1) AWS CLI 설치

          https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html

 

최신 버전의 AWS CLI 설치 또는 업데이트 - AWS Command Line Interface

이전 버전에서 업데이트하는 경우 unzip 명령을 실행하면 기존 파일을 덮어쓸지 묻는 메시지가 표시됩니다. 스크립트 자동화와 같은 경우에 이러한 프롬프트를 건너뛰려면 unzip에 대한 -u 업데이

docs.aws.amazon.com

  3-2) Config, Credential 등록

          https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-configure-files.html

 

구성 및 자격 증명 파일 설정 - AWS Command Line Interface

초기 키 페어 생성 중에 .csv 파일 다운로드(Download .csv file) 대화 상자를 닫으면 대화 상자를 닫은 후 비밀 액세스 키에 액세스할 수 없습니다. .csv 파일이 있어야 하는 경우 필요한 헤더와 저장된

docs.aws.amazon.com

  3-3) Copy

$ aws s3 sync s3://Source-Bucket S3://Target-Bucket

 

아래의 Command로 성공적으로  data가 복사 된 것을 확인 할 수 있습니다.

$ aws s3 ls s3://Target-Bucket

 

 

복사하기 위해서는 복사 대상인 Target-Bucket S3에서 S3 Bucket 권한을 갖는 user와 복사 되어야 할 S3 Bucket의 정책 부여가 필요 하다는 것을 확인 할 수 있습니다. 

감사합니다.

'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글

[AWS] BACK-UP을 통해 백업하기  (0) 2022.11.07
AWS EKS와 ECS의 차이점!  (0) 2022.11.04
[AWS] RDS 백업  (0) 2022.11.01
AWS Certificate Manager(ACM)  (0) 2022.10.31
aws s3 glacier backup  (0) 2022.10.25

댓글