안녕하세요 맥썸입니다.
오늘 포스팅은 타 계정의 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
3-2) Config, Credential 등록
https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-configure-files.html
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 |
댓글