본문 바로가기

AWS

S3 버킷에 저장된 객체를 다른 스토리지 클래스로 이전하기

수명주기 방식을 이용하여 객체를 Glacier 스토리지로 이전

 

 

S3 수명 주기 구성에서 규칙을 추가하여 S3에 있는 객체를 다른 S3 스토리지 클래스로 전환하도록 설정할 수 있다.

우선 자주 엑세스하는 버킷을 하나 생성한(여기서는 web-upload-bucket을 standard 클래스로 생성) 다음 [관리] 메뉴를 클릭한다

 

 

[수명 주기 규칙 생성]을 클릭한다

 

 

수명 주기 규칙 이름을 입력하고 [규칙 범위 선택]에서 버킷 안의 모든 객체에 적용할 것인지 필터를 통해 특정 객체에만 적용할 것인지 선택한다

 

객체 생성 30일 후에 객체의 "현재 버전"을 Glacier에 이전하는 설정이다

주의) Glacier에 저장할 때는 파일의 갯수에 따라 $0.01가 발생하므로 압축한 상태로 백업해야 비용을 절약할 수 있다

 

 

참고로 버킷에 업로드한 데이터를 몇 일 뒤에 자동으로 삭제되게 하려면 [수명 주기 규칙 작업] 메뉴에서 "객체의 현재 버전 만료"를 선택하고 [객체 생성 후 경과 일수]에 원하는 일수를 입력하면 된다(설정한 일수 이후에 자동으로 객체가 삭제된다)

 

 

수명 주기 규칙이 생성된 것을 확인할 수 있다

 


복제 규칙을 이용하여 객체를 Glacier 스토리지로 이전

 

 

복제 규칙은 복제할 원본 버킷 객체(여기서는 web-upload-bucket)와 복제된 객체가 저장될 대상 버킷(upload-glacier-bucket)을 각각 만들어야 한다

 

 

대상 버킷(upload-glacier-bucket)이 원본 버킷(web-upload-bucket) 객체를 복사하기 위해 버킷에 접근할 수 있는 권한이 있어야하므로 S3에 접근할 수 있는 권한이 있는 역할을 생성한다

 

 

정책은 "AmazonS3FullAccess"와 ""AmazonGlacierFullAccess""를 추가한다(실무에서는 최소 권한만 부여해야 한다)

 

 

"role-for-glacier" 역할이 만들어진 것을 확인한다

 

[복제 규칙 생성]을 클릭한다

주의) 원본 버킷(여기서는 web-upload-bucket)의 객체 버전 관리가 활성화되어 있어야 한다

 

 

복제 규칙 이름을 입력하고 [상태]는 "비활성화"로 설정한다(복제를 실행하고 싶을 때 활성화로 바꿔줘도 된다)

 

 

[규칙 범위 선택]에서 버킷 안의 모든 객체에 적용할 것인지 필터를 통해 특정 객체에만 적용할 것인지 선택한다

[대상]은 복제된 객체가 저장될 대상 버킷(upload-glacier-bucket)을 선택한다

 

 

앞서 생성한 "role-for-glacier"를 선택한다

 

 

복제된 객체가 저장될 대상 버킷(upload-glacier-bucket)의 스토리지 클래스를 "Glacier"로 설정한다

 

 

복제 규칙이 생성된 것을 확인한다