프레임워크 개요 - AWS 권장 가이드

프레임워크 개요

복원력 분석 프레임워크는 워크로드의 원하는 복원력 속성을 식별하여 개발되었습니다. 원하는 속성은 시스템에서 구현하려는 기능 요소입니다. 복원력은 일반적으로 가용성으로 측정됩니다. 따라서 고가용성 분산 시스템에는 중복성, 충분한 용량, 적시 출력, 올바른 출력, 장애 격리의 5가지 속성이 있습니다. 다음 다이어그램에 이러한 속성이 나와 있습니다.

원하는 복원력 속성의 관계
  • 중복성 - 내결함성은 단일 장애점(SPOF)을 없애는 중복성을 통해 달성됩니다. 중복성은 워크로드의 예비 구성 요소부터 전체 애플리케이션 스택의 전체 복제본에 분포할 수 있습니다. 애플리케이션의 중복성을 고려할 때는 사용하는 인프라, 데이터 저장소 및 종속성이 제공하는 중복성 수준을 고려하는 것이 중요합니다. 예를 들어 Amazon DynamoDB 및 Amazon Simple Storage Service(Amazon S3)는 리전의 여러 가용 영역에 데이터를 복제하여 중복성을 제공하고 AWS Lambda는 여러 가용 영역에 있는 여러 워커 노드에서 함수를 실행합니다. 사용하는 각 서비스에 대해 서비스에서 제공하는 기능과 설계해야 하는 기능을 고려합니다.

  • 충분한 용량 - 워크로드가 의도한 대로 작동하려면 충분한 리소스가 필요합니다. 리소스에는 메모리, CPU 주기, 스레드, 스토리지, 처리량, 서비스 할당량 등이 포함됩니다.

  • 적시 출력 - 고객이 워크로드를 사용할 때 적절한 시간 내에 의도한 기능을 수행할 것으로 예상합니다. 서비스가 지연 시간에 대한 서비스 수준 계약(SLA)을 제공하지 않는 한, 예상은 일반적으로 경험적 증거, 즉 자체 경험에 기반합니다. 이 평균 고객 경험은 일반적으로 시스템의 지연 시간 중앙값(P50)으로 간주됩니다. 워크로드가 예상보다 오래 걸리는 경우 이 지연 시간은 고객의 경험에 영향을 미칠 수 있습니다.

  • 올바른 출력 - 의도한 기능을 제공하려면 워크로드 소프트웨어의 올바른 출력이 필요합니다. 잘못되거나 불완전한 성과는 응답이 없는 것보다 더 나쁠 수 있습니다.

  • 장애 격리 - 장애 격리는 장애 발생 시 의도한 장애 컨테이너의 영향 범위를 제한합니다. 이를 통해 워크로드의 특정 구성 요소가 함께 실패하는 동시에 장애가 의도하지 않은 다른 구성 요소로 캐스케이딩되는 것을 방지할 수 있습니다. 또한 워크로드 고객에게 미치는 영향 범위를 제한하는 데도 도움이 됩니다. 장애 격리는 장애가 이미 발생했지만 이를 억제해야 한다는 점을 허용하므로 이전 네 가지 속성과 조금 다릅니다. 인프라, 종속성 및 소프트웨어 기능에서 장애 격리를 생성할 수 있습니다.

원하는 속성이 위반되면 워크로드를 사용할 수 없거나 사용할 수 없는 상태로 인식될 수 있습니다. 이러한 원하는 복원력 속성과 많은 AWS 고객과 협력한 경험을 바탕으로 단일 장애점, 과도한 로드, 과도한 지연 시간, 잘못된 구성 및 버그, SEEMS로 약칭되는 책임 공유라는 다섯 가지 일반적인 장애 범주를 식별했습니다. 이는 잠재적 장애 모드를 분류하기 위한 일관된 방법을 제공하며, 다음 표에 설명되어 있습니다.

장애 범주

위반

정의

단일 장애점(SPOF)

중복성

단일 구성 요소에 장애가 발생하면 구성 요소의 중복성 부족으로 인해 시스템이 중단됩니다.

과도한 로드

충분한 용량

과도한 수요 또는 트래픽을 통해 리소스를 과도하게 사용하면 리소스가 예상되는 기능을 수행하지 못합니다. 여기에는 제한 및 할당량에 도달하는 경우가 포함될 수 있으며, 이 경우 요청 스로틀링 및 거부가 발생할 수 있습니다.

과도한 지연 시간

적시 출력

시스템 처리 또는 네트워크 트래픽 지연 시간이 예상 시간, 서비스 수준 목표(SLO) 또는 서비스 수준 계약(SLA)을 초과합니다.

잘못된 구성 및 버그

올바른 출력

소프트웨어 버그 또는 시스템 구성 오류가 발생하면 잘못된 출력이 생성됩니다.

책임 공유

장애 격리

이전 장애 범주 중 하나로 인해 발생하는 장애는 의도된 장애 격리 경계를 넘어 시스템의 다른 부분 또는 다른 고객에게 캐스케이딩됩니다.