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"로 설정한다
복제 규칙이 생성된 것을 확인한다