AWS

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

GTC 2021. 3. 9. 09:47

수명주기 방식을 이용하여 객체를 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"로 설정한다

 

 

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