Amazon EBS 스냅샷에 대한 수명 주기 관리 기능 출시
특정 AWS 서비스와 신규 기능 출시 기록을 보면, 어떻게 고객 피드백에 따라 발전해 왔는지를 살펴 볼 수 있어 매우 흥미롭습니다. 예를 들어, Amazon Elastic Block Store(EBS)는 10년 전에 출시된 후로 매번 많은 신규 기능이 추가되었습니다. 몇 가지 중대한 발표는 다음과 같습니다.
- 2008년 8월 – 최대 1TB의 볼륨과 S3로의 스냅샷을 지원하는 프로덕션 형식의 EBS가 출시되었습니다.
- 2010년 9월 – EBS 볼륨에 태그를 지정하는 기능이 추가되었습니다.
- 2012년 8월 – EBS 볼륨용으로 프로비저닝된 IOPS가 출시되면서 성능 수준을 필요에 따라 조정할 수 있게 되었습니다.
- 2014년 6월 – SSD 기반 EBS 볼륨을 생성하는 기능이 추가되었습니다.
- 2015년 3월 – 최대 16TB 및 20,000 IOPS의 EBS 볼륨을 생성할 수 있게 되었습니다.
- 2016년 4월 – 새로운 콜드 스토리지 및 처리량 옵션이 제공되었습니다.
- 2016년 6월 – 암호화된 EBS 스냅샷의 교차 계정 복사본을 생성하는 기능이 추가되었습니다.
- 2017년 2월 – 탑재된 활성 EBS 볼륨의 크기, 성능 및 볼륨 유형을 조정할 수 있는 탄력적 볼륨이 출시되었습니다.
- 2017년 12월 – 최대 32,000 IOPS를 제공하는 SSD 기반 볼륨을 생성할 수 있게 되었습니다.
- 2017년 5월 – EBS 스냅샷에 대한 비용 할당이 출시되어 프로젝트, 부서 또는 다른 엔터티에 비용을 할당할 수 있게 되었습니다.
- 2018년 4월 – EBS 스냅샷 생성 시 태그를 지정하고 리소스 레벨 권한을 사용하여 더 강력한 보안 정책을 구현할 수 있게 되었습니다.
- 2018년 5월 – 암호화된 EBS 스냅샷의 증분 저장으로 성능을 개선하고 비용을 절감할 수 있게 되었습니다.
위에서 강조한 몇몇 항목은 EBS 스냅샷의 사용 편의성 및 유연성을 개선합니다. 이미 알고 계실 수도 있지만 스냅샷을 쉽게 생성할 수 있습니다. 각 스냅샷은 이전 스냅샷 이후 변경된 블록의 시점 복사본이며 자동 관리를 통해 삭제 시 스냅샷에 대해 고유한 데이터만 제거됩니다. 이 증분 모델은 비용을 낮추고 스냅샷 생성에 필요한 시간을 최소화합니다.
스냅샷을 쉽게 생성하고 사용할 수 있기 때문에 많은 수의 스냅샷을 생성하고, 태그를 사용하여 스냅샷을 분류하고 정렬하고 관리할 수 있습니다. 위 목록을 다시 보면 수년에 걸쳐 다수의 태깅 기능이 추가된 것을 알 수 있습니다.
수명 주기 관리 – Amazon Data Lifecycle Manager
EBS 스냅샷을 더 쉽게 생성하고 사용하고 활용할 수 있도록 하기 위해 오늘, Amazon EBS 볼륨 스냅샷의 생성, 보존 및 삭제를 자동화하는 Amazon Data Lifecycle Manager가 출시되었습니다. 스냅샷을 수동으로 생성하고 같은 방법으로 삭제(또는 이 작업을 수행하는 도구 구축)하는 대신, 스냅샷을 생성할 볼륨을 태그를 사용하여 지정하는 정책을 생성하고, 보존 모델을 설정하고, 다른 세부 정보를 입력한 후 Data Lifecycle Manager를 통해 나머지 작업을 수행할 수 있습니다. Data Lifecycle Manager는 태그를 기반으로 작동하므로 조직에서 사용할 명확하고 포괄적인 태깅 모델을 먼저 설정해야 합니다(자세한 내용은 위의 링크 참조).
많은 고객이 스냅샷 생성을 자동화하는 도구에 투자했지만 보존과 삭제 기능에는 인색했습니다. 이렇게 되면 곧 AWS 청구 금액이 엄청나게 커지고 스크립트가 예상대로 작동하지 않게 됩니다. Data Lifecycle Manager를 사용하면 비용을 절약하고 스냅샷을 예상대로 관리할 수 있습니다.
수명 주기 정책 생성 및 사용
Data Lifecycle Manager는 수명 주기 정책을 사용하여 실행 시기, 스냅샷을 생성할 볼륨 및 스냅샷을 유지할 기간을 결정합니다. AWS Management Console, AWS CLI(명령줄 인터페이스) 또는 Data Lifecycle Manager API를 통해 정책을 생성할 수 있습니다. 오늘은 콘솔을 사용하도록 하겠습니다. 다음은 [department] 태그가 올바르게 지정된 EBS 볼륨입니다.
메뉴의 [Elastic Block Store] 섹션에서 [Lifecycle Manager]에 액세스합니다.
그런 다음 [Create Snapshot Lifecycle Policy]를 클릭하여 계속합니다.
첫 번째 정책을 생성합니다.
태그를 사용하여 정책을 적용할 볼륨을 지정합니다. 여러 태그를 지정하면 이러한 태그가 하나 이상 포함된 볼륨이 정책이 적용됩니다.
12~24시간 간격으로 스냅샷을 생성할 수 있으며 원하는 스냅샷 시간을 지정할 수 있습니다. 스냅샷 생성은 이 시간 후 1시간 내에 시작되며 완료 시간은 볼륨의 크기와 마지막 스냅샷 이후 변경된 정도에 따라 다릅니다.
기본 제공되는 IAM 역할을 사용하거나 역할을 직접 생성할 수 있습니다. 자체 역할을 사용하는 경우 EC2 스냅샷 작업과 모든 DLM(Data Lifecycle Manager) 작업을 활성화해야 합니다. 자세한 내용은 설명서를 읽어 보십시오.
새로 생성된 스냅샷에는 aws:dlm:lifecycle-policy-id 및 aws:dlm:lifecycle-schedule-name 태그가 자동으로 지정됩니다. 또한 각 정책에 대해 최대 50개의 키/값 페어를 지정할 수 있습니다.
모든 정책을 한 번에 볼 수 있습니다.
잠시 작업을 멈추고 돌아와서 첫 번째 스냅샷 세트가 예상대로 생성되었는지 확인했습니다. 스냅샷에 생성된 두 개의 태그를 표시하도록 콘솔을 구성했습니다.
알아야 할 사항
Data Lifecycle Manager를 사용하여 스냅샷 관리를 자동화하려는 경우 몇 가지 알아야 할 사항이 있습니다.
데이터 일관성 – 스냅샷에는 완료된 모든 I/O 작업의 데이터가 포함되며 이를 충돌 일치라고도 합니다.
요금 – Data Lifecyle Manager 정책은 무료로 생성하고 사용할 수 있습니다. 정책에서 생성되는 EBS 스냅샷에 대한 일반 스토리지 요금만 지불하면 됩니다.
가용성 – Data Lifecycle Manager는 미국 동부(버지니아 북부), 미국 서부(오레곤) 및 EU(아일랜드) 리전에서 사용할 수 있습니다.
태그 및 정책 – 볼륨에 둘 이상의 태그가 포함되고 태그가 여러 정책과 일치하는 경우 각 정책에서 개별 스냅샷이 생성되고 두 정책을 통해 보존을 제어합니다. 두 정책에서 한 태그에 대해 동일한 키/값 페어를 지정할 수 없습니다.
프로그래밍 방식 액세스 – 정책을 프로그래밍 방식으로 생성하고 관리할 수 있습니다. 시작하려면 CreateLifecyclePolicy
, GetLifecyclePolicies
및 UpdateLifeCyclePolicy
함수를 살펴 보십시오. AWS Lambda 함수를 createSnapshot
이벤트에 대한 응답으로 작성할 수도 있습니다.
오류 처리 – 정책이 오류 상태가 되면 Data Lifecycle Manager가 “DLM Policy State Change” 이벤트를 생성합니다.
준비 중 – 이름에서 추측할 수 있듯이 추가 AWS 데이터 소스에 대한 지원을 계속해서 추가할 계획입니다. 또한 주별 및 월별로 스냅샷을 생성할 수 있는 정책을 지원하고, 유연한 예약 기능도 추가로 제공할 계획입니다.
— Jeff