실서비스를 운영하면 서버의 백업과 관리는 빠져서는 안될 필수불가결한 항목이다.
이번에는 AWS 서비스인 AWS Backup을 통해 ec2 인스턴스들에 대해 백업 작업을 진행해본다.
AWS Backup
AWS내의 서비스 및 일부 온프레미스의 App들에 대한 데이터들의 백업을 관리하고 자동화할 수 있는 중앙집중식 완전 관리형 서비스이다.
백업할 리소스를 지정해 직접 백업 작업을 진행할 수 있고(온디맨드 백업), 리소스와 백업 계획(일정)을 지정해 자동으로 백업을 진행할 수도 있다.
Backup 서비스에서는 백업 볼트라는 개념이 존재한다. 백업볼트는 간단히 말해 백업본이 저장될 컨테이너로 볼 수 있다. 백업 서비스를 이용하기 전에 최소 1개의 vault를 가져야한다. (기본값 Default 백업볼트가 있음)
또한 모든 백업본들은 KMS 키를 통해 암호화시키거나, 백업본이 저장된 저장소를 잠금설정(lock)해 안전하게 보관할 수 있다.
온디맨드 백업
Backup 서비스의 대시보드에서 온디맨드 백업을 진행할 수 있다.
백업을 지원하는 서비스들은 다음과 같으며, 서비스 선택 후 백업을 시킬 대상을 선택한다.
대상 선택 후 백업 작업의 시간, 백업본을 저장할 기간과 백업본이 저장될 저장소(백업 볼트)까지 지정 후 백업을 바로 진행
'작업' 탭에서 백업 작업의 진행도를 확인할 수 있으며, 완료된 백업본의 ARN을 확인할 수 있다.
EC2 백업의 경우, AMI가 생성됨을 확인할 수 있다.
백업 계획을 세워 자동 백업
백업 계획을 세우는 경우, 백업 기간, 빈도, 볼트를 먼저 지정시킨 후에 백업 리소스를 지정할 수 있다.
AWS에서 제공하는 템플릿을 이용해 미리 설정된 계획을 생성할 수 있으며, 각 템플릿 별 빈도 및 저장 기간은 다음과 같다.
백업 빈도는 cron 표현식을 지원하므로 상세한 설정의 경우 이를 이용하면 편리하다.
해당 사이트에서 cron Expression에 대해 테스트해볼 수 있다.
cron Expression test page : https://crontab.guru/
하단의 '대상으로 복사'의 경우, 해당 리전에 백업된 데이터를 타 계정이나 다른 리전의 볼트에도 생성하는 옵션으로 백업본의 가용성을 높일 수 있다.
백업본의 복원
백업을 통해 생성된 백업 볼트 내의 데이터를 선택해 복원작업을 실행할 수 있다.
복원 작업메뉴로 넘어가는 경우, 백업 당시의 설정이 기본값으로 로딩됨을 볼 수 있다.
온디맨드 백업과 마찬가지로 '작업' 탭에서 복원 작업의 진행도를 확인할 수 있으며, 완료된 백업본의 ARN을 확인할 수 있다.