가용성 99% 시나리오 - 안정성 원칙

가용성 99% 시나리오

이러한 워크로드는 비즈니스에 도움이 되지만 문제가 생기는 경우 불편을 느끼게 됩니다. 이러한 유형의 워크로드에는 내부 도구, 내부 지식 관리 또는 프로젝트 추적이 포함될 수 있습니다. 실험적 서비스에서 제공되며 필요한 경우 서비스를 숨길 수 있는 기능 토글이 포함된 고객용 워크로드도 여기에 포함될 수 있습니다.

하나의 리전 및 하나의 가용 영역에서 이러한 워크로드를 배포할 수 있습니다.

리소스 모니터링

그 후에는 서비스 홈 페이지가 HTTP 200 OK 상태를 반환하는지 여부를 확인하는 간단한 모니터링을 수행합니다. 문제가 발생하면 인스턴스의 로깅을 사용하여 근본 원인을 설정한다는 내용이 플레이북에 표시됩니다.

수요 변화에 맞게 구현 조정

런북에서 일반적인 하드웨어 장애, 긴급 소프트웨어 업데이트 및 기타 서비스가 중단되는 변경 관련 설명을 확인할 수 있습니다.

변경 구현

또한 AWS CloudFormation을 사용하여 인프라를 코드로 정의하고 장애 발생 시 재구성 속도를 개선합니다.

그리고 런북을 사용해 서비스를 설치하고 다시 시작하는 데 필요한 가동 중단 시간을 적용하여 소프트웨어 업데이트를 수동으로 수행합니다. 배포 중에 문제가 발생하면 런북의 설명에 따라 이전 버전으로 롤백할 수 있습니다.

오류 수정은 운영 팀과 개발 팀이 로그를 분석하여 수행하며 우선 순위가 지정되고 완료된 후 배포됩니다.

데이터 백업

그리고 공급업체 또는 특별히 구축된 백업 솔루션을 사용하여 런북(Runbook)을 통해 Amazon S3로 암호화된 백업 데이터를 전송합니다. 그런 다음 데이터를 복원하고 런북을 사용하여 정기적으로 데이터를 사용할 수 있는지 확인하는 방식으로 백업이 작동함을 테스트합니다. 그 후에는 Amazon S3 객체에 대해 버전 관리를 구성하고, 백업 삭제 권한을 제거합니다. 그리고 Amazon S3 버킷 수명 주기 정책을 사용해 요구 사항에 따라 백업을 아카이브하거나 영구적으로 삭제합니다.

복원력을 위한 아키텍처 설계

워크로드는 단일 리전 및 단일 가용 영역을 사용하여 배포됩니다. 여기서는 데이터베이스를 포함한 애플리케이션을 단일 인스턴스에 배포합니다.

복원 기능 테스트

그 후에는 새 소프트웨어의 배포 파이프라인을 예약하고 몇 가지 단위 테스트(대개 조립된 워크로드의 화이트 박스/블랙 박스 테스트)를 수행합니다.

DR(재해 복구) 계획

장애 중에는 장애 상황이 종료될 때까지 대기하며, 필요에 따라 런북을 통해 DNS 수정 기능을 사용하여 정적 웹 사이트로 요청을 라우팅합니다. 이 과정을 진행하기 위한 복구 시간은 인프라를 배포하고 데이터베이스를 최신 백업으로 복원할 수 있는 속도에 따라 결정됩니다. 이 배포는 동일한 가용 영역에서 수행할 수도 있고, 가용 영역에서 장애가 발생하는 경우에는 런북을 사용하여 다른 가용 영역에서 수행할 수도 있습니다.

가용성 설계 목표

30분 동안 복구를 파악하고 복구 실행을 결정한 다음 10분 동안 AWS CloudFormation에서 전체 스택을 배포합니다. 이때 스택은 새 가용 영역에 배포하며, 30분 내에 데이터베이스를 복원할 수 있다고 가정합니다. 그러므로 장애 발생부터 복구까지 걸리는 시간은 약 70분입니다. 분기당 장애가 1회 발생한다고 가정하면 연간 예상 영향 시간은 280분(4시간 40분)입니다.

즉, 가용성의 상한은 99.9%입니다. 실제 가용성은 장애의 실제 속도, 장애 지속 시간 및 각 장애가 실제로 복구되는 속도에 따라서도 달라집니다. 이 아키텍처의 경우에는 업데이트를 위해 애플리케이션을 오프라인으로 설정해야 하며(연간 24시간 예상: 변경당 4시간 소요, 연간 6회 변경) 실제 이벤트 시간도 고려해야 합니다. 따라서 이 백서 앞부분에 나왔던 애플리케이션 가용성 표를 참조할 때 가용성 설계 목표 는 99%입니다.

요약

주제 구현
리소스 모니터링 사이트 상태 확인만, 알림 없음
수요 변화에 맞게 구현 조정 재배포를 통한 수직적 확장
변경 구현 배포 및 롤백 런북
데이터 백업 백업 및 복원 런북
복원력을 위한 아키텍처 설계 재구축을 완료하고 백업에서 복원
복원 기능 테스트 재구축을 완료하고 백업에서 복원
DR(재해 복구) 계획 암호화된 백업, 필요한 경우 다른 가용 영역으로 복원