카테고리 없음

DR

gam2zer01 2024. 8. 26. 13:58

 

DR (재해 복구)는 자연재해나 인간의 행동 (또는 실수)으로 인한 재해가 발생한 후 조직에서 IT 인프라에 대한 액세스 및 기능을 복원할 수 있는 기능을 말합니다.

 

우선 RTO (복구 시간 목표)와 RPO (복구 지점 목표)를 알아야 합니다.

RTO는 재해가 발생한 후 정상 성능으로 서비스가 되돌아오기까지 걸리는 시간입니다.

RPO는 재해 발생 시점부터 복구할 수 있는 가장 최근의 시간을 얘기합니다 (백업한 시간).

 

저는 아래의 복구 전략 중 Backup & Restore에 집중했습니다.

 

 

저희는 백업 전략을 두 가지로 구성하였습니다.

첫 번째는 스토리지, DB에 대한 백업입니다.  현재 사용하는 리전에서 다른 리전으로 데이터만 복제해놓는 방법을 사용했습니다.


두 번째는 EKS 데이터에 대한 백업입니다. EKS에서 메트릭, 로그 등 데이터를 수집하고, velero를 통해 주기적으로 S3에 저장해서 문제가 발생하면 복원하는 방법입니다. EventBridge로 문제가 발생하는 것을 확인하고, Lambda로 velero 실행을 자동화 했으며, slack을 활용하여 알림을 받을 수 있게 했습니다.

Backup:

EventBridge로 1시간 단위로 Lambda 함수를 실행하는 일정 규칙을 만들고, 이 규칙을 트리거로 하여 velero를 통해 EKS를 백업합니다.


Restore
:CloudWatch Metric Filter를 통해 네임스페이스가 삭제되는 로그를 감지합니다. 그리고 EventBridge를 통해 네임스페이스가 지워지는 이벤트 패턴이 있는 규칙을 만듭니다. 그리고 위 규칙을 트리거하여 Lambda를 통해 Slack 알람을 보내는 것과 velero로 eks를 복원하는 것을 자동화합니다.