Amazon EBS를 백업할 때 무엇을 쓰는게 좋을까?
안녕하세요 클래스메소드의 수재입니다.
이번에 AWS Backup(이하 Backup)의 신 기능으로 Amazon EBS 스냅샷 아카이브가 공개되었습니다.
새로운 기능을 제공하게 된 겸에 비슷한 기능을 제공하는 Amazon Data Lifecycle Manager(이하 DLM)과 어떤 차이가 있는지 알아보고자 합니다.
AWS Backup 이란?
AWS Backup은 AWS 서비스 및 타사 애플리케이션 전체에 걸쳐 중앙에서 백업을 관리 및 자동화할 수 있도록 합니다. - 공식 페이지
AWS Backup(이하 Backup)은 AWS에서 백업을 지원하는 모든 서비스에 대해 중앙 집중식으로 관리할 수 있도록 지원하는 서비스입니다.
현재 AWS Backup가 지원하는 서비스는 다음과 같습니다.
- Amazon Elastic Block Store(EBS) 볼륨
- Amazon EC2 인스턴스(Windows 애플리케이션 포함)
- AWS CloudFormation 스택
- EC2의 Windows Volume Shadow Copy Service(VSS) 지원 애플리케이션(Windows Server, Microsoft SQL Server 및 Microsoft Exchange Server 포함)
- Amazon RDS 데이터베이스(Amazon Aurora 클러스터 포함)
- Amazon DynamoDB 테이블, Amazon Elastic File System(EFS) 파일 시스템
- Amazon FSx for NetApp ONTAP 파일 시스템
- Amazon FSx for OpenZFS 파일 시스템
- Amazon FSx for Windows File Server 파일 시스템
- Amazon FSx for Lustre 파일 시스템
- Amazon Neptune 데이터베이스
- Amazon DocumentDB(MongoDB 호환) 데이터베이스
- AWS Storage Gateway 볼륨
- Amazon S3
- AWS의 VMware CloudTM와 온프레미스 VMware 가상 머신
- Amazon Redshift 매뉴얼 스냅샷
- EC2 기반 SAP HANA
- Amazon Timestream 데이터베이스
중앙 집중식으로 관리하기 때문에 모니터링 등의 설정도 각각의 서비스에서 하는 것보다 간단하게 설정할 수 있습니다.
공식 문서에 따르면 대응하는 서비스에 대해 지원하는 기능은 다음과 같습니다.
- 자동 백업 일정 및 보존 관리
- 중앙 집중식 백업 모니터링
- 증분 백업 (DynamoDB, Aurora, DocumentDB 및 Neptune은 제외)
- AWS KMS- 통합 백업 암호화
- 교차 계정 관리: AWS Organizations
- Audit Manager를 통한 자동 백업 AWS Backup 감사 및 보고서
정확하게는 서비스마다 지원하는 기능의 차이가 있으므로 상세한 내용은 공식 문서를 확인해보시길 바랍니다.
볼트 잠금을 통한 한 번의 쓰기, 여러 번 읽기 (WORM) AWS Backup
Amazon DLM 이란?
Amazon Data Lifecycle Manager는 Amazon EBS 스냅샷 및 EBS 지원 AMI를 관리하기 위한 솔루션입니다.
사용자 지정할 수 있는 사용자 정의 정책을 사용하여 블록 스토리지 데이터의 특정 시점 복사본 생성을 자동화합니다.
공식 문서에 따르면 다음과 같은 이점이 있습니다.
- 정기적인 백업 일정을 실행하여 중요한 데이터를 보호합니다.
- 정기적으로 새로 고칠 수 있는 표준화된 AMI를 생성합니다.
- 감사 기관이나 내부 규정 준수 부서에서 요구하는 백업을 보관합니다.
- 오래된 백업을 삭제하여 스토리지 비용을 절감합니다.
- 격리된 리전 또는 계정에 데이터를 백업하는 재해 복구 백업 정책을 생성합니다.
어떤 점이 다른가?
이번 글의 대상인 Amazon EBS를 백업할 때는 어느 서비스를 사용하면 좋을지 비교하기 위해서 각 서비스가 EBS에 대해 제공하고 있는 기능을 정리해보았습니다.
기능 | AWS Backup | Amazon DLM |
---|---|---|
백업 시간 지정 | O | O |
백업 기간 지정 | O | O |
교차 리전 백업 | O | O |
스냅샷 수명 주기 조정 | O | O |
FSR 등의 상세 기능 연계 | X | O |
EBS의 정합성을 위한 지원 | 부족 | O |
EBS 이외에 대상으로 하는 다른 서비스 | EBS이외에 많은 서비스를 대상으로 함 | EBS만을 대상으로 함(AMI포함) |
이용에 따른 비용 발생 | X | X |
EBS 만을 대상으로하는 DLM은 기능 내에서 EC2의 조건적인 조작이 가능하지만 Backup은 AWS의 많은 서비스들의 백업을 중앙 집중식으로 관리하는 것에 초점이 맞추어져 있기 때문에 상세한 조작은 힘들게 설계되어 있습니다.
스냅샷 수명 주기 조정
23년 11월 22일을 기점으로 Backup에 스냅샷 아카이브 기능이 추가되어 효율적으로 라이프 사이클을 관리할 수 있게 되었습니다.
DLM은 라이프 사이클을 조정하기 위해 사용되는 기능이므로 제공하고 있습니다.
FSR 등의 상세 기능 연계
Backup은 다양한 서비스의 백업 및 복구를 위한 관리 서비스이지만 FSR과 같은 상세한 내용은 설정할 수 없습니다.
DLM은 수명 주기 정책을 설정할 때 스냅샷을 FSR을 활성화 할 수 있습니다.
백업 작업과 EC2 조작 연계
예로 들면 루트 볼륨의 역할을 하는 EBS는 스냅샷을 작성하기 위해서 인스턴스를 멈추지 않아도 스냅샷을 생성할 수 있지만 공식 문서에서는 인스턴스를 정지하는 것을 추천하고 있습니다.
Backup에서 스냅샷을 작성하면 인스턴스가 스냅샷을 작성할 수 없는 상태만 아니라면 스냅샷이 작성됩니다.
사전에 자동으로 인스턴스 정지가 필요하다면 EventBridge를 연계하여 설정할 필요가 있습니다.
DLM의 경우에는 수명 주기 정책에서 인스턴스의 정지 및 스냅샷 작성 후 재기동 등을 지정할 수 있습니다.
또한 23년 11월에 AWS Systems Manager 문서에 포함된 사전 스냅샷 및 사후 스냅샷 스크립트 사용을 지원하는 등 EBS의 정합성을 위한 지원은 Backup보다 더 많이 제공하고 있습니다.
EBS 이외에 대상으로 하는 다른 서비스
서두에 설명하였듯이 Backup은 기본적으로 여러 서비스를 대상으로 하고있습니다.
DLM은 EBS의 백업만을 위해 사용하는 기능이므로 다른 서비스를 대상으로 할 수 없습니다.
이용에 따른 비용 발생
두 서비스의 이용 자체에 대해 발생하는 비용은 없습니다.
결론 및 마무리
스냅샷 작성과 복원에 대해 상세한 조작까지 필요하다면 DLM을 이용하면 되지만 다양한 서비스의 백업을 한 서비스에서 확인하고 관리하기 위해서는 Backup을 이용하는 것이 좋을 것 같습니다.
저같은 경우에는 스냅샷을 백업하기 위한 서비스로 무엇을 이용하면 좋을지 고민했었지만 EBS의 정합성을 위해 사전에 EC2 인스턴스를 정지할 필요가 있었고 그 결과 DLM을 도입하게 되었던 적이 있었습니다.
이 글을 읽으시는 분에게 서비스를 선정하는데 도움이 되었길 바랍니다.
긴 글 읽어주셔서 감사합니다.
오탈자 및 내용 피드백은 must01940 지메일로 보내주시면 감사합니다.