오늘은 S3 CRR(교차리전복제)에 대해 정리하려 한다.
1 . CRR이란?
Cross Region Replication의 의 약자로, 한국말로 표현하면 교차리전복제라고 한다.
간단하게 설명하자면 다른 리전에 존재하는 S3끼리 서로 동기화 되는 기능이라고 보면 된다.
그림으로 보자면,
뭐 이런식이라고 보면 된다.
예를 들면,
A라는 S3에 파일이 업로드되거나 삭제가 되면 자동으로 다른 리전에있는 B라는 S3에 해당 내용이 반영됐으면 좋겠다. 싶을때 사용하는 기능이라고 보면된다.
물론 어떻게 설정하느냐에 따라서는 A나 B 어디든 변화가 일어나면 양쪽 모두 동기화 시켜줄 수도 있다.
CRR을 활용하는 방법은 다양하겠지만,
나 같은 경우에는 A리전에 있는 파일이 B리전에서 필요한데, B에서 A로 접근할 수 없을 때, 사용을 하는 편이다.
이 상황에서 CRR을 설정해두면, A의 파일을 올리면 자동으로 B에 복제가 되기 때문에,
B 리전에서 A 리전의 파일을 사용할 수 있다. 반대의 경우도 마찬가지다.
2. CRR 설정하기
설정하는 방법은 간단하다.
자신의 S3 버킷을 클릭한 후에
관리 -> 복제 규칙 -> 복제 규칙 생성을 눌러서 만들 수 있다.
이 후 위의 설정 값에 CRR을 설정할 버킷과 IAM 등을 설정할 수 있다.
추가로 아래 옵션들을 잘 활용하면 자동 삭제 동기화 등의 기능도 사용할 수 있으니 확인해보자.
3. CRR 상태 값 확인하기
CRR을 사용하다보면, 복제가 끝났는지 확인해야하는 상황이 많이 발생한다.
이럴 때 CLI를 통해서 확인할 수 있는 방법이 있다.
aws s3api head-object --bucket "버킷 이름" --key "파일 경로" --query "ReplicationStatus" --output text |
위의 명령을 실행해보면, 현재 CRR의 상태값을 알 수 있고,
버킷이름은 말그대로 본인의 버킷 네임을 넣어주면 되고,
key는 s3에서 key값을 파일 경로라고 보면 된다.
여기서 한가지 주의할 것은 A->B 구조로 CRR을 설정해뒀으면,
A의 버킷에 해당 명령을 실행해야 한다.
B 버킷에 해당 명령을 실행하면 무조건 REFLICA가 나온다. 복제된 파일이기 때문이다.
상태 값은 4자기 정도만 알면 될 것 같다.
- PENDING : 무언가의 이유로 아직 복제가 되지 않은 상태
- COMPLETED : 복제 완료
- FAILED : 실패
- REFLICA : 복제된 파일
물론 위처럼 말고도 직접 AWS 콘솔에서도 확인해볼 수 있다.
아래의 링크에서 확인해보자.
https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/replication-status.html
끝.
'Cloud > AWS' 카테고리의 다른 글
Application Load Balancer에 대한 고정 세션(Sticky) (0) | 2024.04.02 |
---|---|
ELB(Elastic Load Balancer) 사용해보기 (0) | 2024.04.02 |
aws cli를 통한 인스턴스 확인 및 EBS Attachment 하는 스크립트(mount) (0) | 2024.03.05 |
S3 Upload, Download 속도에 대한 고민(s5cmd, Amazon S3 Transfer Acceleration) (0) | 2024.01.17 |
AWS System Manager(SSM) (0) | 2024.01.11 |