AWS 데이터 백업, 보관(2)

Joshua_s·2021년 11월 27일
0
post-thumbnail

AWS의 백업 환경으로서의 사용

데이터의 손실을 방지하려면 적절한 백업 환경이 중요하다. 하지만 온프레미스에 백업환경을 구축하면 상당한 시간과 비용이 소모된다. AWS 기능과 서드파티 솔루션을 잘 조합하여 설계하면 저렴한 비용으로 유연한 백업환경을 구축할 수 있다.

서드파티 제품 활용

AWS를 활용하여 백업을 실현하는 장비와 소프트웨어를 서드파티에서도 제공한다. 서드파티(third party)는 하드웨어나 소프트웨어 등의 제품을 제조하고 있는 주요 기업이나 그 계열 회사 또는 기술 제휴를 하고 있는 기업이 아닌 제3자 기업을 부르는 말이다. 간략히 제3자 또는 3차 협력사라고도 한다. 이러한 서드파티 제품들 중에서는 스토리지 게이트웨이와 비슷한 기능을 가지면서 더 간단한 설치가 가능한 것들이 있다.

넷앱, 버팔로와 같은 스토리지 벤더가 제공하는 제품들을 AWS와 연결할 수 있는 네트워크 환경에 설치한 후 S3에 정보를 입력하는 것 만으로 이용이 가능하다. 따라서 마땅한 엔지니어가 없다면 이러한 제품을 활용하는 것도 좋다.

소프트웨어는 DB등의 미들웨어와 연계한 백업을 할 수 있는 것이 특징이다. 아크서브, 시큐어백업, 넷백업은 백업 보관소로 S3를 선택할 수 있다. 대안으로 적절할 수 있으니 생각해보자.

백업 파일 장기 보관

로그나 DB파일과 같은 일부 백업 데이터를 장기보관하기 위해 데이터양 대비 비용이 저렴한 Glacier을 이용하는 것이 좋다. Glacier는 AWS에서 가장 저렴한 저장소이다. S3와 비교하면 1/5~1/6 정도의 수준이다. 대신 파일에 액세스에 시간이 걸린다는 점이 있다. 하지만 무료로 꺼낼 수 있는 데이터양에 제한이 있다. 이를 넘을 시 시간당 비용이 발생한다. 따라서 사용 빈도가 대단히 낮은 데이터를 대상으로 하는 것이 효과적이다. 기본 Glacier이외에 S3에는 글에이셔 딥 아카이브, 인젤리전트 티어링, 스탠다드-IA, 원존-IA등이 있다.

글레이셔 딥 아카이브
AWS에서 가장 저렴한 저장소. 1년에 1~2회 액세스하는 데이터의 장기 보관을 목적으로 만들어 졌으며 복원시 최대 12시간 소요되고 저장된 데이터는 최소 180일치 비용이 발생된다.

인텔리전트 티어링
데이터 액세스 패턴에 따라 자동으로 저장 클래스르 최적화해 운영에 번거로움 없이 비용을 최적화 해주는 서비스

스탠다드-IA
S3스탠다드와 같은 읽기 성능을 제공하면서 저장비용은 30~40% 저렴하다. 읽기에 발생하는 비용은 좀 더 비싸다. 필요시 빠른 응답 속도로 데이터를 제공해야하는 재해복구용 백업 데이터 저장소로 사용된다.

원존-IA
가용 영역 하나만을 사용하여 비용은 스탠다드-IA보다 20%정도 저렴. 단일 가용영역에 장애가 발생할 경우 데이터를 사용하지 못하거나 유실될 수 있다.

중요 데이터 백업에 전용선 사용

온프레미스 환경의 데이터를 AWS에 백업하려면 온프레미스 환경과 AWS를 연결하는 네트워크가 필요하다. 온프레미스 환경에 인터넷 접속과 VPN 라우터가 있다면 바로 사용할 수 있다. 하지만 네트워크 품질 보증이 되지 않고 보안 규정상 금지하는 기업도 있다. 이러할 경우 AWS 다이렉트 커넥트 서비스를 이용한다. AWS가 마련한 다이렉트 커넥트 위치에 물리적으로 회선을 연결하는 것이다. 다이렉트 커넥트 위치는 리전내 모든 AZ와 전용선으로 연결되어 있다.

AWS에 구축한 시스템 백업

웹서버로는 EC2, DB 서버로는 RDS, 콘텐츠 저장 S3를 이용한다. EC2, RDS는 초기 구축과 설정 변경시의 시스템 백업 용도로, S3는 사용자의 실수에 의한 데이터 망실 복구 용도로 백업을 실시한다.

우선 모든 리소스에 대하여 초기 구축시 백업을 실시한다. EC2, RDS는 스냅샷을 취득하여 S3 버킷에 저장한다. S3는 CLI를 이용하여 S3버킷으로부터 다른 S3 버킷으로 백업해둔다. DB는 서비스 운영중에 백업을 해야한다. 따라서 RDS 인스턴스 복제 기능을 사용하여 자동적으로 동기화된 데이터 백업을 할 수 있다. 서버 설정을 변경하는 경우 EC2, RDS 인스턴스의 스냅셧을 작성한다. 이것은 온프레미스 환경에서의 시스템 백업과 동일한 백업으로써 이용할 수 있다.

정기적으로 백업하려면 운영관리용 EC2 인스턴스를 준비해둡니다. CLI 명령어를 사용하여 백업 스크립트를 정기적으로 실행한다.

profile
devops engineer가 되기 위해

0개의 댓글