Computer >> 컴퓨터 >  >> 시스템 >> Windows

Windows Server에서 Amazon S3 백업 자동화하는 방법 (완벽 가이드)

Amazon Simple Storage Service(Amazon S3)는 방대한 클라우드 스토리지를 활용하여 Windows Server의 데이터를 안전하게 백업할 수 있는 서비스입니다. 예기치 못한 장애나 사고로 인한 데이터 손실을 방지하려면 정기적인 백업이 필수적입니다.

이 글에서는 백업 작업을 한 번, 매일, 매주 또는 매월 자동으로 실행되도록 설정하는 방법을 단계별로 소개합니다. 절차 자체는 어렵지 않지만, 문제가 발생하지 않도록 가이드를 순서대로 꼼꼼히 따라 하는 것이 중요합니다.

AWS CLI 설치하기

1. AWS CLI 설치

Amazon AWS 백업을 자동화하는 첫 번째 단계는 AWS CLI(Command Line Interface)를 설치하는 것입니다. AWS 공식 페이지에서 CLI 버전 1과 버전 2의 상세한 설치 방법을 확인할 수 있으니, 자신의 환경에 맞는 버전을 선택해 설치하세요.

2. AWS CLI 기본 설정

설치가 완료되면 기본 사용자 프로필, 액세스 ID, 키를 구성해야 합니다. 아래 명령어를 실행하세요:

aws configure

AWS Access Key ID [None]: <AccessID>
AWS Secret Access Key [None]: secretkey
Default region name [None]: us-east-1
Default output format [None]: json

액세스 키 ID와 시크릿 액세스 키는 AWS IAM 콘솔에서 생성한 사용자의 자격 증명을 입력하면 됩니다.

Amazon S3 명령어 이해하기

S3 관련 명령어를 사용할 때는 반드시 경로(path) 인수를 지정해야 합니다. 경로에는 두 가지 형태를 사용할 수 있습니다.

  • S3 URI: S3 버킷의 URI 주소
  • localpath: 로컬 디렉터리 경로

예를 들어 다음과 같은 형식으로 사용합니다:

localpath - C://Desktop/backups
S3URI - s3://yourbucket/yourkey

따라서 전체 S3 명령어의 기본 구조는 다음과 같습니다:

aws s3 s3command source_file/folder destinationpath

데이터 이동은 localpath → S3URI, S3URI → S3URI, S3URI → localpath 방향 모두 가능합니다.

파일 복사 예제

samplefile.txt라는 파일을 sample-bucket이라는 버킷으로 복사하려면 아래 명령어를 사용합니다:

aws s3 cp "C://Desktop/backups/samplefile.txt" s3://sample-bucket

위 명령어에서 리전(region)을 지정하지 않은 이유는 이미 aws configure 단계에서 설정했기 때문입니다. 필요에 따라 --region 플래그로 버킷의 리전을 직접 지정할 수도 있습니다.

backups 폴더의 모든 내용을 sample-bucket 버킷으로 동기화하려면 다음 명령어를 실행합니다:

aws s3 sync "C://Desktop/backups/" s3://sample-bucket

이 sync 명령어가 실제로 파일을 업로드하는 조건은 다음과 같습니다:

  • 대상 버킷과 프리픽스(prefix)에 동일한 이름의 로컬 파일이 존재하지 않을 것
  • S3 객체의 크기가 로컬 파일의 크기와 다를 것
  • S3 객체의 마지막 수정 시간이 로컬 파일보다 오래되었을 것

S3 명령어의 필터 플래그 활용 팁

S3 명령어에서 사용할 수 있는 대표적인 필터 플래그는 --exclude--include이며, 하나의 명령어에서 여러 번 조합하여 사용할 수 있습니다.

  • --include: S3 작업에 특정 폴더나 파일을 포함시킵니다.
  • --exclude: S3 작업에서 특정 폴더나 파일을 제외시킵니다.

예를 들어, backups 폴더의 모든 파일을 제외하면서 jpg, png, txt 확장자를 가진 파일만 포함하고 싶다면 아래와 같이 작성합니다:

aws s3 sync "C://Desktop/backups/" s3://sample-bucket --exclude "*" --include "*.jpg" --include "*.png" --include "*.txt"

실제 실행 전에 설정이 의도대로 작동하는지 확인하려면 --dryrun 플래그를 추가해 시뮬레이션해 보세요:

aws s3 sync "C://Desktop/backups/" s3://sample-bucket "*" --include "*.jpg" --include "*.png" --include "*.txt" --dryrun

참고: 필터 플래그를 사용하지 않으면 모든 파일이 S3 작업에 포함됩니다. 또한 여러 필터를 사용할 경우 마지막에 적용된 필터가 우선 적용된다는 점을 기억하세요.

배치 파일로 Amazon S3 백업 자동화하기

1단계: 배치 파일 만들기

메모장(Notepad)을 실행하여 빈 .txt 파일을 엽니다.

백업 폴더를 S3 버킷과 동기화하는 다음 명령어를 입력합니다:

aws s3 sync "C://Desktop/backups/" s3://your-bucket

입력 후 파일을 저장할 때 확장자를 .bat으로 지정하면 배치(batch) 파일이 됩니다. 파일 이름은 예를 들어 s3-backup.bat처럼 알아보기 쉽게 지정하는 것이 좋습니다.

2단계: 작업 스케줄러에 새 작업 등록

Windows 키를 누르고 작업 스케줄러(Task Scheduler)를 검색한 뒤, 결과 목록에서 선택하여 실행합니다.

작업 스케줄러 창에서 동작(Actions) 메뉴를 클릭하고 작업 만들기(Create Task)를 선택합니다. 작업 이름을 입력하고 간단한 설명을 추가하세요.

트리거(Trigger) 탭에서 실행 주기를 선택합니다. 한 번만, 매일, 매주 또는 매월 중 원하는 옵션을 고르면 됩니다.

3단계: 동작(Action) 추가

동작(Actions) 탭으로 전환한 후, 드롭다운 메뉴에서 프로그램 시작(Start a program)을 선택합니다.

프로그램/스크립트(Program/script) 입력란에서 앞서 생성한 배치 파일을 찾아 지정합니다.

마지막으로 새로 만든 작업을 저장하면, 설정한 주기에 따라 Windows Server의 데이터가 자동으로 Amazon S3에 백업됩니다.

이 가이드를 통해 Windows Server의 S3 백업 자동화를 손쉽게 구축하실 수 있기를 바랍니다.