AWS Backup으로 EC2 인스턴스 백업해 보기
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 AWS Backup으로 EC2 인스턴스를 백업해 보는 과정을 정리해 봤습니다.
AWS Backup이란?
AWS Backup은 완전 관리형 백업 서비스로 AWS 서비스, 클라우드 및 온프레미스 간에 중앙 집중화 및 데이터 보호를 쉽게 자동화할 수 있습니다. 이 서비스를 사용하면 한 곳에서 백업 정책을 구성하고 AWS 리소스의 활동을 모니터링할 수 있습니다.
AWS Backup을 사용하여 백업 및 복원할 수 있는 AWS 리소스 및 타사 애플리케이션은 다음과 같습니다.
지원되는 리소스 | 지원되는 자원 유형 |
---|---|
Amazon Elastic Compute Cloud(Amazon EC2) | Amazon EC2 인스턴스(스토어백된 인스턴스 제외) |
Windows 볼륨 섀도 복사본 서비스(VSS) | Amazon EC2에서 Windows VSS에서 지원하는 애플리케이션(Windows Server, Microsoft SQL Server, Microsoft Exchange 서버 포함) |
Amazon Simple Storage Service (Amazon S3) | Amazon S3 데이터(미리 보기) |
Amazon Elastic Block Store (Amazon EBS) | Amazon EBS 볼륨 |
Amazon DynamoDB | Amazon DynamoDB 테이블 |
Amazon Relational Database Service (Amazon RDS) | Amazon RDS 데이터베이스 인스턴스(모든 데이터베이스 엔진 포함) |
Amazon Aurora | Aurora 클러스터 |
Amazon Elastic File System(Amazon EFS) | Amazon EFS 파일 시스템 |
FSx for Lustre | FSx for Lustre 파일 시스템 |
FSx for Windows File Server | FSx for Windows File Server 파일 시스템 |
AWS Storage Gateway(볼륨 게이트웨이) | AWS Storage Gateway 볼륨 |
Amazon DocumentDB | Amazon DocumentDB 클러스터 |
Amazon Neptune | Amazon Neptune 클러스터 |
가상 머신 | VMware 가상 머신 |
백업 볼트
백업 계획을 작성하거나 백업 작업을 시작하기 전에 최소한 하나의 볼트를 작성해야 합니다.
AWS Backup에서 백업 볼트는 백업을 저장하고 구성하는 컨테이너입니다.
AWS Backup에서 AWS 리전 콘솔을 처음 사용할 때 콘솔은 기본 볼트를 자동으로 생성하지만, AWS CLI SDK 또는 AWS를 통해 AWS CloudFormation을 사용하는 경우 기본 볼트는 생성되지 않기 때문에 별도로 백업 볼트를 생성해야 합니다.
AWS 계정은 AWS 리전당 최대 100개의 백업 볼트를 생성할 수 있습니다.
AWS Backup에서 백업 볼트 카테고리로 들어와서「백업 볼트 생성」버튼을 클릭합니다.
백업 볼트 이름을 입력하고, 암호화 키에는 AWS Key Management Service(AWS KMS) 키를 선택합니다. 이미 만든 키를 사용하거나 기본 AWS Backup KMS 키를 선택할 수 있습니다. 마지막으로「백업 볼트 생성」버튼을 클릭하면 백업 볼트가 생성됩니다.
백업 계획
다음은 백업 계획 카테고리로 들어와서「백업 계획 생성」버튼을 클릭합니다.
먼저「템플릿으로 시작」을 선택하면 총 4개의 기존 규칙이 있는 템플릿을 선택할 수 있습니다.
- Daily-35day-Retention
- Daily-Monthly-1yr-Retention
- Daily-Weekly-Monthly-5yr-Retention
- Daily-Weekly-Monthly-7yr-Retention
4개의 템플릿은 default 백업 볼트의 템플릿이기 때문에「템플릿으로 시작」을 선택한다면 백업 데이터들은 default 백업 볼트로 저장됩니다.
「새 계획 수립」을 선택하면, 백업 계획과 백업 규칙을 새롭게 생성할 수 있습니다.
적절하게 백업 규칙 이름을 적어주고, 백업 볼트는 조금 전 생성한 test-backup-vault를 선택합니다.
백업 빈도는 다음과 같이 선택할 수 있습니다.
- 시간당
- 12시간마다
- 매일
- 매주
- 매월
- 사용자 지정 cron 표현식
AWS cron 표현식의 여섯 필드에 대한 자세한 내용은 Amazon CloudWatch Events 사용 설명서 의 규칙 일정 표현식 을 참조하세요. AWS cron 표현식의 두 가지 예는 15 * ? * * *
매시간 15분에 백업을 수행하고 0 12 * * ? *
UTC 정오에 매일 백업을 수행할 것 입니다.
AWS Backup은 00:00~23:59 UTC 사이의 cron 표현식을 평가합니다. 12시간마다 백업 규칙을 만들고 11:59 이후의 시작 시간을 지정하면 하루에 한 번만 실행됩니다.
백업 기간은 해당 백업 기간이 시작되는 시간 및 기간의 지속 시간으로 구성됩니다. 백업 작업은 이 기간 내에서 시작되고, 기본 백업 기간은 오전 5시(UTC)에 시작하여 8시간 동안 지속되도록 설정됩니다.
보존 기간은 백업이 콜드 스토리지로 마이그레이션되는 시기와 만료되는 시기를 정의합니다. AWS Backup은 고객이 정의한 보존 기간에 따라 자동으로 백업을 마이그레이션하고 만료합니다.
대상으로 복사는 백업 계획의 일부로 선택적으로 다른 AWS 리전에 백업 사본을 생성할 수 있습니다.
요청 시 또는 예약된 백업 계획의 일부로 자동으로 백업을 여러 AWS 계정 또는 AWS 리전에 복사할 수 있습니다. 또한 Amazon RDS 및 Aurora를 제외하고 지원되는 대부분의 리소스에 대해 교차 계정 및 교차 리전 복사본 시퀀스를 자동화할 수 있습니다.
리소스 할당
백업 계획을 생성했다면, 아래로 내려와서 리소스 할당 버튼을 클릭합니다.
리소스 이름을 입력하고, IAM 역할을 선택합니다. 따로 만들어둔 역할이 없기 때문에「기본 역할」을 선택합니다.
리소스를 할당하려면 리소스 할당 섹션의 리소스 선택 정의 에서 두 가지 옵션 중 하나를 선택합니다.
- 모든 자원 유형을 포함합니다 . 이 옵션은 백업 계획에 할당된 현재 및 향후 AWS Backup 지원 리소스를 모두 보호하도록 백업 계획을 구성합니다. 이 옵션을 사용하면 데이터 자산을 빠르고 쉽게 보호할 수 있습니다.이 옵션을 선택하면 선택적으로 태그를 다음 단계로 사용하여 선택 범위를 좁힐 수 있습니다.
- 특정 자원 유형을 포함합니다 . 이 옵션을 선택하는 경우 다음 단계에서 특정 자원 유형을 선택 해야 합니다.
온디맨드 백업
온디맨드 백업으로 백업을 수동으로 생성할 수 있습니다.
리소스는 EC2 인스턴스를 선택하고, 백업 기간은 지금 백업 생성을 선택합니다. 백업 볼트는 조금전 만들었던 test-backup-vault를 선택하고 온디맨드 백업 생성을 합니다.
이 후 test-backup-vault에서 백업을 살펴보면 다음과 같이 백업 생성된 것을 확인할 수 있습니다.
EC2에서 AMI 카테고리를 클릭해 보면, AMI가 생성된 것을 확인할 수 있고, 아래 설명란에서 AWS Backup으로 부터 AMI가 생성된 것을 확인할 수 있습니다.
본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 [email protected]로 보내주시면 감사하겠습니다.