favicon Jay Lee DevLog

📚 목차

오늘은 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

 

 

끝.

 

 

 

 

 

 

 

 

 

+ Recent posts

/ /

Contact

📧 dlwjdwls60@naver.com


블로그에 내용이 있으면 해당 글을 보여주며, 없으면 내용이 복사된 채로 ChatGPT로 연결됩니다.