이것이 점프 투 공작소

AWS S3 Replication과 S3 Batch에 대해 알아보자 본문

aws

AWS S3 Replication과 S3 Batch에 대해 알아보자

겅겅겅 2023. 10. 31. 21:06

S3 안의 데이터에 대한 백업이나 동기화가 필요한 순간이 있습니다

그럴때 S3 Replication과 S3 Batch 작업을 통해 구현 가능합니다.

즉 S3 Batch와 S3 Replication 을 이용하면 S3에 대한 복제와 지속적인 동기화가 가능합니다.

AWS S3 복제 (Replication) 란?

S3 복제를 사용하면 CRP (교차 리전 복제) 와 SRR (동일 리전 복제) 두가지 방법으로 S3 데이터를 복제 할 수 있습니다.

다른 계정간 S3 복제 또한 가능합니다.

데이터의 백업을 생성하거나, 더 효율적인 S3 스토리지 클래스를 사용하는 등 다양한 목적을 위해 사용됩니다.

 

S3 Replication 생성

S3 복제를 하기 위해선 원본 버킷에 복제 규칙을 생성해야합니다.

S3 -> 관리 -> 복제 규칙 생성에서 생성 가능합니다.

규칙 범위 선택

필터를 사용해서 복제될 데이터에 대한 필터를 지정 할수도 있습니다.

저는 백업 용도로 만들기 위해 모든 객체에 적용하여 규칙을 만드려고 합니다.

대상 버킷 설정

복제할 버킷의 수신 버킷 (목적지 버킷)을 지정합니다.

S3 Role

iam 역할은 원본 버킷과 목적지 버킷에 대한 권한이 모두 있어야 합니다.

추후 S3 Batch 작업을 위해 batchoperation에 대한 값도 추가하였습니다.

암호화 설정

암호화는 대상 객체에 대한 암호화를 하는 옵션이기에

대상객체가 사용하는 KMS키를 사용하시면 됩니다.

스토리지 및 추가 복제 옵션

필요시 대상의 스토리지 클래스를 지정 할 수 있고

추가 복제 옵션을 선택 가능합니다.

 

- RTC : 추가 금액을 지불하고 복제 시간을 제어 할 수 있습니다.

- 복제 지표 : 두 버킷간 복제중 메트릭을 모니터링 할 수 있습니다.

- 삭제 마커 복제 : 원본 버킷에서 삭제한 객체에 대한 삭제마커를 목적지 버킷에서도 적용합니다.

- 복제본 수정 동기화 : 원본 버킷에서 삭제한 객체에 대한 수정를 목적지 버킷에서도 적용합니다.

상태 활성화

복제 규칙이 생성 후 활성화 상태로 지정해주면 만들어준 규칙이 새롭게 생성한 데이터에게 적용됩니다.

복제본 생성 확인

복제 규칙이 활성화된 버킷에 객체가 추가되면 관리 구성의 상태가 Pending이 되고 시간이 지나면 Completed 상태가 됩니다.

복제 구성이 Completed가 되면 목적지 버킷에도 해당 객체가 생성됩니다.

 

복제된 객체에는 Replica 라는 형태로 표시됩니다.

복제본 삭제 확인

복제 규칙을 만들때 삭제 마커 옵션을 활성화 해두었기에

원본 S3에서 객체를 삭제하면 복제본에서도 동일하게 객체가 삭제됩니다.

 

원본에서 삭제

복제본에서 조회

AWS S3 배치 작업 (Batch) 란?

복제규칙을 만들어도 기존의 소스 버킷의 데이터들은 목적지 버킷에 존재하지 않습니다.

따라서 S3 배치 작업을 통해 기존 데이터를 한번에 옮기는 작업이 필요합니다.

S3 Batch 작업은 람다를 통해서도 가능합니다.

배치 작업 생성

S3의 배치에서 작업 생성으로 배치작업을 생성 할 수 있습니다.

매니페스트 선택

매니페스트는 배치 프로세스의 일부로서 처리되어야하는 파일 목록과 처리 방법에 대한 정보를 포함하는 파일 및 데이터구조입니다.

매니페스트에는 파일의 경로, S3 버킷 및 키, 파일 처리 방법 등이 들어있고 파일 형식, 인코딩과 같은 옵션 및 구성 정보 또한 들어있습니다.

소스와 필터 지정

배치 작업을 진행할 목적지 버킷을 지정하고, 배치작업의 필터를 지정 가능합니다.

작업 선택

S3 복제 구성을 사용하였기에 매니페스트를 만들때는 '복제'만 사용 가능합니다.

권한 설정

앞선 복제 규칙에 사용했던 원본과 대상 S3에 대해 권한이 있는 권한을 지정합니다.

배치 작업 실행 및 성공

S3 배치 작업 페이지에서 작업을 선택하고 실행할 수 있습니다.