베하! 안녕하세요 ~!
BTC_수신자표시제한 입니다
오늘은 AWS CLI로 계정 간에 source 계정의 버킷에서 target 계정의 버킷으로
S3 객체 복사하는 방법에 대해 알아보고자 합니다.
1. Target 계정에서 역할 생성
①. IAM 정책 생성
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetObject",
"s3:GetObjectTagging",
"s3:GetObjectVersion",
"s3:GetObjectVersionTagging"
],
"Resource": [
"arn:aws:s3:::<source_bucket>",
"arn:aws:s3:::<source_bucket>/*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:PutObject",
"s3:PutObjectAcl",
"s3:PutObjectTagging",
"s3:GetObjectTagging",
"s3:GetObjectVersion",
"s3:GetObjectVersionTagging"
],
"Resource": [
"arn:aws:s3:::<target_bucket>",
"arn:aws:s3:::<target_bucket>/*"
]
}
]
}
②. IAM 역할 생성
②-1. 신뢰할수 있는 엔티티
②-2. 권한추가 : S3copy 정책 연결
2. Source 계정에서 S3 버킷 정책 생성 및 연결
2-1. source Bucket - 권한 탭 - 버킷 정책 편집
3. 객체 복사
3-1. AWS CLI 구성
# 액세스 키 구성
## 입력안내 나오는대로 1-1에서 발급해둔 AccessKey와 SecretAccessKey 값 입력
aws configure
# AWS CLI 호출되는지 확인
aws sts get-caller-identity
# IAM 역할 위임
aws sts assume-role \
--role-arn "arn:aws:iam::<target_account>:role/s3copy-role" \
--role-session-name AWSCLI-Session
# IAM 역할 환경변수 생성
export AWS_ACCESS_KEY_ID=<Role-AccessKeyID>
export AWS_SECRET_ACCESS_KEY=<Role-SecretKey>
export AWS_SESSION_TOKEN=<Role-SessionToken>
# IAM 역할 위임 잘됐는지 확인
aws sts get-caller-identity
# 객체 복사
aws s3 cp s3:// SOURCE-BUCKET- / \
s3:// TARGET-BUCKET / \
--source-region SOURCE-REGION-NAME --region TARGET-REGION-NAME
# 복사 확인
aws s3 ls s3:// TARGET-BUCKET
여기까지 AWS CLI를 통한 계정간 S3 객체복사 방법에 대해 알아보았습니다.
다음에 또 만나요 👋👋
'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글
EC2-User의 .ssh 파일을 삭제했을때 대처 방안 (1) | 2023.12.08 |
---|---|
S3 대량 객체 삭제 방법(1) (0) | 2023.12.08 |
[AWS] AWS Pinpoint (1) | 2023.12.07 |
[AWS] AWS Elastic Beanstalk (1) | 2023.12.05 |
ElastiCache를 이용하여 톰캣 세션 클러스터링 실습 (2) | 2023.12.01 |
댓글