Pattern 5. 백업
온프레미스 환경에 있는 시스템 데이터를 AWS에 백업하는 설계 패턴
백업 개요
- 대부분의 경우 사내 시스템은 온프레미스 환경에, 기업 사이트는 AWS 환경에 위치시킨다.
- 백업 대상은 용량이 큰 이미지 파일, 데이터베이스, 각 서버의 로그파일, 파일 서버에 있는 파일이다.
- 로그 파일과 데이터베이스 파일은 장기간 보관한다.
- 비용을 절감하면서도 운영에 손이 많이 가지 않는 방식으로 진행한다.
1. 스토리지 게이트웨이를 이용한 자동 백업
- 온프레미스 환경에 스토리지 게이트웨이를 사용하여 백업용 스토리지를 만들어 S3에 자동 백업한다.
2. S3와 글레이셔로 수명주기 관리
- 로그 파일을 S3 기능으로 백업하면서 온라인 보관 기간을 넘은 파일을 글레이셔에 아카이브 한다.
3. 용량의 대부분을 차지하는 이미지 파일과 데이터베이스는 S3에 백업
- 스토리지 게이트웨이에 부과되는 종량제 요금을 줄이기 위해 용량이 큰 데이터는 스크립트를 사용해 S3에 백업한다.
1. 온프레미스 환경의 데이터 백업하기
1) S3에 명령행 인터페이스 파일 전송
오브젝트 스토리지 서비스인 S3(Amazon Simple Storage Service)를 명령행 인터페이스를 통해 이용한다. S3는 범용적인 파일 서비스로서 온라인 파일 서버처럼 사용할 수 있다. 파일 서버의 파일이나 웹 서버의 특정 디렉터리를 백업하는 경우 사용
백업을 자동화하는 것은 파일과 디렉터리를 백업하는 명령어로 백업하는 스크립트를 작성하여 cron이나 작업 스케줄러로 실행시킨다. 복원 시에는 온프레미스 환경의 서버에서 AWS CLI로 cp 또는 sync 명령을 실행하여 파일을 가져온다.
S3는 버전 관리를 지원하고 있어서 로그파일과 같이 버전 관리를 하고 싶은 데이터를 백업하는 데에도 적합하다. 또한, 라이프사이클 설정으로 백업 보관 기간을 설정해 두면, 일정 기간이 경과한 데이터는 자동적으로 삭제된다.
2) EC2에 DRBD로 자동 동기화
가상 서버인 EC2와 가상 스토리지인 EBS로 구축한 백업용 서버에 데이터를 동기화시키는 패턴 1) 번보다 비용이 비싸지만 데이터베이스 백업을 유연하게 실행할 수 있다. EC2를 사용한 DB의 온라인 백업
오프라인 백업은 1)의 파일 백업과 동일한 방식이다. DB를 정지시키고 AWS CLI명령으로 DB 파일을 S3로 전송한다. 일련의 조작(DB 정지, 파일 전송, DB시작)을 기술한 스크립트를 만들어 정기적으로 실행시켜 자동 백업을 실현한다. 이런 방식은 시스템 정지를 하는 방식이다. 이와 반대로 온라인 백업은 DB가 동작하는 상태에서 데이터를 동기화하여 데이터를 백업하는 방식이다.
가. DBMS에서 구입 복제 등의 유틸리티 이용 :
나. DRBD(Distributed Replicated Block Device) 이용 : DRBD는 디스크 볼륨의 내용을 네트워크로 실시간으로 복제하는 리눅스에서 제공하는 기능이다. 복제하는 경우 EC2 인스턴스에서 DBMS를 시작하고, DBMS 기능에서 데이터를 동기화한다. 많은 DBMS에서 동기화 모드와 비동기 모드가 지원된다.
DBRD를 이용하는 경우 온프레미스 환경의 DB파일이 저장된 디스크 볼륨과 EC2에 연결한 EBS 볼륨을 동기화하도록 설정한다. 그래서 업데이트된 블록이 DBS볼륨에 동기화되도록 한다.
3) S3에 자동 백업
자동 백업 서비스인 AWS 스토리지 게이트웨이(온프레미스 환경에 있는 서버에 스토리지 관리 전용 소프트웨어를 설치해 AWS와 접속하는 서비스)를 이용하는 패턴이다. 1)이나 2) 방법보다 적은 노력으로 자동 백업 환경을 구축할 수 있으면서 백업 관리의 일원화도 가능하다.
# 참고 : 배워서 바로 쓰는 14가지 AWS 구축 패턴
'DevOps > AWS' 카테고리의 다른 글
구조화된 데이터 분석 (0) | 2022.05.07 |
---|---|
CloudFront (0) | 2022.04.11 |
Pattern 3. 성능 요구사항을 만족하는 설계하기, 다섯 배 빠른 AWS 전용 DB 엔진 도입 (0) | 2022.04.09 |
Pattern 2. 다중화로 가용성을 확보하기, 서비스 활용으로 비용 절감하기(배워서 바로 쓰는 14가지 AWS 구축 패턴) (0) | 2022.03.30 |
PART1. 웹 시스템(배워서 바로 쓰는 14가지 AWS 구축 패턴) (0) | 2022.03.28 |