ko ko ko en en fa en en en en ko de ko ko ko ko ko ko ko en ko gu ko ko en ko en en en ceb kn ko ko ko en ko ko ko ko ko en hbs_lat en en en en en en en ko ko en en ko ko ko ko ceb en ko ko ko ko ko ko ko ko ko en ko ko ko ko ja ko ko ko ko ko en ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko zh ko es sv sv en ko
[AWS] Amazon S3에 원격 백업하기 | 누리클라우드 뉴스룸
안녕하세요, 누리클라우드입니다. 이번 글에서는 파일 혹은 데이터의 원격 백업 구성을 Amazon S3를 스토리지로 하여 구성하는 방법에 대해서 알아보겠습니다.
사실 EC2 인스턴스의 경우는 스냅샷이 S3에 저장되기 때문에 스냅샷으로 백업을 하는 것으로도 원격지 백업을 했다라고 할 수 있는데요, 물리서버의 경우는 백업솔루션 혹은 백업서비스를 통해 원격백업을 해야 했습니다. 이 때 원격백업 스토리지를 잘 관리해야 하고 용량, 성능 등 여러가지 운영상 이슈가 발생할 수 있습니다. 이 원격백업의 스토리지로 S3를 이용한다면 S3의 장점을 충분히 활용할 수 있어서 보다 안정적인 원격백업을 관리할 수 있습니다.
S3를 이용한 원격백업을 수행하는 방법은 크게 S3 자체 기능을 이용하는 방법과 S3는 저장소로만 이용하고 백업 기능은 자체 솔루션을 가지고 하는 방법으로 크게 두가지로 나누어 볼 수 있습니다.
S3 기능을 이용한 원격백업 방법
AWS CLI는 AWS 서비스를 command line으로 관리하는 도구입니다. 명령줄에서 서비스를 제어하고 스크립트를 통해 관리를 자동화할 수 있습니다. AWL CLI는 각 서비스의 고유 기능을 CLI 옵션을 통해 사용할 수 있는데 그 중 S3의 sync 커맨드를 활용하면 기본적인 백업을 수행하는 작업을 구현할 수 있습니다.
여기서는 S3 기능을 이용한 원격백업 방법에 대해 소개하고 S3의 보관 옵션 중 Life Cycle 동작에 대해 알아보겠습니다.
먼저 AWS CLI를 백업 대상 서버에 설치합니다. 리눅스의 경우 설치 전에 Python 2.6.5 이상을 설치해야 합니다. 설치 방법은 간단히 'pip install awscli'를 실행하면 됩니다.
AWS CLI로 Amazon 리소스에 접근하기 위해서는 인증수단으로 Access Key와 Secret Access Key를 사용합니다. 인증수단을 AWS 계정에서 생성하고 사용하는 자세한 방법은 아래 링크를 참고하세요.
AWS CLI 접속 인증 설정
AWS Access Key ID:
AWS Secret Access Key:
Default region name은 리전 목록 이곳에서 확인하여 등록합니다.
Default output format형식은 json, text, table을 사용할 수 있습니다.
스크립트 구성 및 동작테스트
Crontab 예약 명령어를 통하여 local에 있는 파일을 자동으로 S3버킷으로 백업하는 과정을 테스트합니다.
1) 백업 소스 파일 생성
테스트를 위해 /usr/local/src/Test 경로 안에 아래와 같은 파일들을 생성해 둡니다.
/usr/sbin/aws s3 sync /usr/local/src/Test s3://sangrok.site/backup_test/ –delete –debug
Test안에 있는 파일을 sync명령어로 s3://sangrok.site/backup_test/ 경로에 동기화합니다.
0 2 * * * root /root/bin/sync-s3.sh >> /tmp/sync-s3.log
실행 후 로그는 /tmp/sync-s3.log 파일로 따로 수집합니다.
매일 02:00 시에 스크립트를 실행하도록 설정합니다.
4) S3버킷 정상 백업 확인
S3 버킷에서 로컬에서 백업이 정상적으로 되었는지 확인합니다.
Sync 세부 옵션: https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html
–delete: 목적지에는 존재하는 파일이지만 출발지에는 없는 파일이라면 싱크 중 삭제
–delete옵션이 없이 명령어 사용 시 소스파일에서 삭제된 파일이 목적 대상이 되는 경로에 삭제가 안됩니다. 완벽한 동기화를 할 때에는 –delete옵션을 주고 사용하여야 됩니다.
–debug: API 호출 시 어떤 API를 호출하는지 확인할 수 있습니다.
S3 백업파일 장기 보관
1) 이름 및 범위
S3 버킷 -> 관리 -> 수명 주기 규칙 추가
규칙 이름을 정하고 범위 및 필터를 설정합니다.
Amazon S3 스토리지 클래스: https://aws.amazon.com/ko/s3/storage-classes/?nc=bc&pg=sc
현재 버전: 현재 객체 버전에 적용되는 전환
이전 버전: 모든 이전 객체에 적용되는 전환
현재는 versioning 기능을 활성화하지 않았기 때문에 현재 버전만 체크합니다.
객체 생성 후 3일후 이전 설정합니다.
Glacier로 이전된 객체는 5일 후에 자동으로 삭제됩니다.
4) 검토 및 저장
지금까지 S3를 활용한 원격백업에 대해서 알아보았습니다. S3는 다양한 기능들을 갖춘 활용도가 매우 높은 AWS 최고의 걸작품인만큼, 대부분의 서비스 아키텍처에 필수 구성요소가 되고 있습니다. 여러분도 자기만의 활용분야를 발견해가시길 바랍니다~
에 배치하는 AWS, HOME태그 backup, ec2, s3
access key Amazon Amazon Lambda API Gateway aurora aws AWS(아마존웹서비스) Azure backup Certification Manager cloudfront CloudTrail Cloud Watch container Data Transfer Docker Dynamo DB ec2 ECR ECS efs ELB Kubernetes MS NAT Gateway NCP Private subnet rds Route53 s3 security best practices serverless SNS 공공 네이버 네이버클라우드플랫폼 누리클라우드 도커 아마존웹서비스(AWS) 어뷰징 컨테이너 쿠버네티스 클라우드 클라우드(Cloud) 해킹
서울특별시 서초구 법원로 1길 6 SK브로드밴드 1층
경기도 성남시 수정구 창업로 42 판교제2테크노밸리 경기기업성장센터 701호
Copyright © 2022 누리클라우드 뉴스룸 – OnePress 테마 제작자 FameThemes