AWS S3로 파일 자동 백업하기 (DB 백업 등) :: 드라마 애니메이션 영화

AWS S3로 파일 자동 백업하기 (DB 백업 등)


회사에서 예전에 IDC만 이용하고 있다가 AWS도 이용하게 되면서 DB 백업 파일을 AWS S3에 보관하던 것을 정리해보았습니다.


이 방법은 IDC -> AWS S3, AWS EC2 -> AWS S3 모두 이용 가능한 방법이고 DB 백업 만이 아니라 중요한 서버 소스나 파일 등도 활용 가능한 방법입니다.


대략적인 절차는 다음과 같고 DB 백업을 사례로 설명하겠습니다.


0. 서버환경

  Windows 2008 R2 Standard

  SQL Server 2008 R2 Standard SP3


  서버나 DB 환경이 달라도 크게 다르지 않습니다.



1. DB 서버에서 백업을 설정합니다.

  1-1: 1일에 1번 DB 풀백업이 되도록 설정합니다.

  1-2: 1시간에 1번 트랜잭션 백업이 되도록 설정합니다.

  1-3: 위 2가지 백업을 설정할 때 백업 파일이 특정 폴더에 저장되도록 설정합니다.


2. AWS S3에 DB가 백업될 버킷을 설정합니다.

  이때는 풀백업과 트랜잭션 백업 파일이 저장될 폴더를 구분합니다.


3. DB 서버에 AWS CLI를 설치합니다.

  (AWS CLI = AWS Command Line Interface)


  3-1: 서버 환경에 맞는 설치 파일을 다운 받습니다. 

      (http://docs.aws.amazon.com/ko_kr/cli/latest/userguide/installing.html)

  3-2: AWS CLI 환경 설정합니다. 커맨드 창에서 aws configure를 입력하면 다음과 같은 입력화면이 차례로 나타납니다.


1
2
3
4
5
$ aws configure
AWS Access Key ID [None]: 
AWS Secret Access Key [None]: 
Default region name [None]: 
Default output format [None]: 
cs


  3-3: 환경설정 입력화면에 값을 입력하여 설정을 완료합니다. (아래는 예시입니다.)


1
2
3
4
5
$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json
cs



4. DB 백업 파일 복사(동기화)를 테스트 합니다.

  커맨드 창에서 다음의 명령을 입력합니다.

  명령: aws s3 sync [DB 백업 파일 폴더] [S3 버킷 경로]

  예시:

1
aws s3 sync E:\DB_BackUp s3://db.backup/DbBackup
cs


  여기서 sync 명령어는 로컬의 파일을 S3쪽으로 동기화 하는 명령어입니다.

  일일이 파일을 지정하지 않아도 되므로 편리하며, 단순 복사용도로는 cp 명령이 있습니다.


  https://aws.amazon.com/ko/cli/




5. 백업 파일 복사를 자동화 하기 위해서 배치 파일로 만듭니다.

  배치파일(bat) 파일을 만들고 위 4번에서 사용했던 명령어를 추가해서 저장합니다.

  예를 들어 db_backup.bat 파일에 aws s3 sync E:\DB_BackUp s3://db.backup/DbBackup 명령어를 추가해서 저장합니다.


6. 작업 스케줄러에 일정을 추가합니다.

  위 5번에서 제작한 bat 파일이 지정된 시간에 실행될 수 있도록   제어판 - 관리도구 - 작업 스케줄러에 설정합니다.


7. S3에서 DB 백업 파일의 삭제 주기를 설정합니다.

  백업 파일을 무한정 보관하게 되면 많이 비싸지는 않겠지만 S3 비용이 추가되기 때문에   보관 기간을 설정해서 일정 기간이 지난 백업 파일은 삭제되도록 S3에서 설정합니다.

  S3는 Life Cycle 설정이 어렵지 않기에 간단하게 적용 가능합니다.



@ 기타

다른 곳에 백업하는 방법도 있겠지만 S3는 100% 완벽하지는 않겠지만 매우 안정적이어서 백업 파일이 사라질 위험도 없고 같은 AWS 내부에 DB 서버가 있는 경우는 백업 파일을 다시 복사하는 것도 어렵지 않아서 매우 편리한 방법입니다.



다음에는 AWS 이용 비용이나 AWS와 Google Cloud, MS Azure 비교 등에 대해서 정리해보도록 하겠습니다.

블로그 이미지

골드라이트

드라마 애니메이션을 중심으로 영화 생활정보 등도 소개합니다.

,