오래된 콘텐츠입니다. 이 버전의 Well-Architected Framework는 현재 다음 위치에서 찾을 수 있습니다. https://docs.aws.amazon.com/ko_kr/wellarchitected/2022-03-31/framework/reliability.html

REL 11: 구성 요소 장애를 견디도록 워크로드를 설계하려면 어떻게 해야 합니까?

고가용성 및 낮은 MTTR(평균 복구 시간)이 요구되는 워크로드는 복원력을 고려하여 설계되어야 합니다.

리소스

Static stability in AWS: AWS re:Invent 2019: Introducing The Amazon Builders’ Library (DOP328)
AWS OpsWorks: Using Auto Healing to Replace Failed Instances
What Is Amazon EventBridge?
Amazon Route 53: Choosing a Routing Policy
What Is AWS Global Accelerator?
The Amazon Builders' Library: Static stability using Availability Zones
The Amazon Builders' Library: Implementing health checks
Well-Architected lab: Level 300: Implementing Health Checks and Managing Dependencies to Improve Reliability
The Berkeley/Stanford Recovery-Oriented Computing (ROC) Project
Multiple data center HA network connectivity
AWS Marketplace: products that can be used for fault tolerance
APN Partner: partners that can help with automation of your fault tolerance

모범 사례:

개선 계획

워크로드의 모든 구성 요소를 모니터링하여 장애 감지

  • 복구 목표에 따라 구성 요소의 수집 간격을 결정합니다.
  • 구성 요소에 대한 세부 모니터링을 구성합니다.
  • 비즈니스 KPI(핵심 성능 지표)를 측정하는 사용자 지정 지표 생성 : 워크로드는 주요 비즈니스 기능을 구현합니다. 이러한 기능은 간접 문제가 발생하는 시기를 식별하는 데 도움이 되는 KPI로 사용되어야 합니다.
    Publishing Custom Metrics
  • 사용자 Canary를 사용하여 사용자 경험의 장애 모니터링: 가장 중요한 테스트 중 하나는 고객 행동을 실행하고 시뮬레이션할 수 있는 가상 트랜잭션 테스트("Canary 테스트"라고도 하지만 Canary 배포와는 다름)입니다. 다양한 원격 위치에서 워크로드 엔드포인트에 대해 이러한 테스트를 지속적으로 실행하십시오.
    Amazon CloudWatch Synthetics enables you to create user canaries
  • 사용자 경험을 추적하는 사용자 지정 지표 생성: 고객의 경험을 계측할 수 있으면 소비자 경험이 저하되는 시기를 결정할 수 있습니다.
    Publishing Custom Metrics
  • 워크로드의 일부가 제대로 작동하지 않는 시기를 감지하고 리소스를 자동 조정해야 하는 시점을 알려주는 경보를 설정합니다. : 경보를 사용하면 대시보드에 경보를 시각적으로 표시하고, SNS 또는 이메일을 통해 알림을 전송하며, Auto Scaling을 통해 워크로드의 리소스를 확장하거나 축소할 수 있습니다.
    Using Amazon CloudWatch Alarms
  • 지표를 시각화하는 대시보드 생성: 대시보드를 사용하면 추세, 이상값 및 기타 잠재적 문제의 지표를 시각적으로 표시하거나, 조사가 필요할 수 있는 문제를 표시할 수 있습니다.
    Using CloudWatch Dashboards
  • 정상 리소스로 장애 조치

  • 정상 리소스로 장애 조치: 리소스 장애가 발생할 경우 정상 리소스가 계속해서 요청을 처리할 수 있는지 확인합니다. 위치 장애(예: 가용 영역 또는 AWS 리전)의 경우, 손상되지 않은 위치의 정상 리소스로 장애 조치할 수 있는 시스템을 갖추고 있어야 합니다.
  • 모든 계층에서 복구 자동화

  • Auto Scaling 그룹을 사용하여 애플리케이션에 계층 배포: Auto Scaling은 상태 비저장 애플리케이션에서 자가 복구를 수행하고 용량을 추가 및 제거할 수 있습니다.
    How AWS Auto Scaling Works
  • 여러 위치에 배포할 수 없고 장애 발생 시 재부팅이 허용되는 애플리케이션이 배포되어 있는 EC2 인스턴스에 자동 복구를 구현합니다. : 애플리케이션을 여러 위치에 배포할 수 없는 경우 자동 복구를 사용하여 장애가 발생한 하드웨어를 교체하고 인스턴스를 다시 시작할 수 있습니다. 인스턴스 메타데이터 및 관련 IP 주소는 물론 Amazon EBS 볼륨과 Elastic File System 및 Lustre/Windows용 파일 시스템의 탑재 지점도 유지됩니다.
    Amazon EC2 Automatic Recovery
    Amazon Elastic Block Store (Amazon EBS)
    Amazon Elastic File System (Amazon EFS)
    What is Amazon FSx for Lustre?
    What is Amazon FSx for Windows File Server?
  • 자동 조정 또는 자동 복구를 사용할 수 없거나 자동 복구가 실패할 경우 AWS Step Functions 및 AWS Lambda를 사용하여 자동 복구를 구현합니다. : 자동 조정을 사용할 수 없고, 자동 복구를 사용할 수 없거나 자동 복구가 실패하는 경우 AWS Step Functions 및 AWS Lambda를 사용하여 복구를 자동화할 수 있습니다.
    What is AWS Step Functions?
    What is AWS Lambda?
  • 정적 안정성을 사용하여 바이모달 동작 방지

  • 정적 안정성을 사용하여 바이모달 동작 방지: 바이모달 동작은 워크로드가 정상 모드와 장애 모드에서 다른 동작을 보이는 것을 말합니다. 예를 들어 가용 영역에 장애가 발생할 경우 새 인스턴스를 시작하는 방법을 사용할 수 있습니다.
    The Amazon Builders' Library: Static stability using Availability Zones
    Static stability in AWS: AWS re:Invent 2019: Introducing The Amazon Builders’ Library (DOP328)
  • 이벤트가 가용성에 영향을 미치는 경우 알림 전송

  • 비즈니스 KPI(핵심 성능 지표)가 낮은 임계값을 초과할 때 이러한 지표에 대한 경보 전송: 비즈니스 KPI에 대한 임계값 경보를 낮게 설정하면 워크로드를 사용할 수 없거나 작동하지 않는 시기를 파악하는 데 도움이 됩니다.
    Creating a CloudWatch Alarm Based on a Static Threshold
  • 복구 자동화를 호출하는 이벤트에 대한 경보: SNS API를 직접 호출하여 생성한 자동화를 통해 알림을 보낼 수 있습니다.
    What is Amazon Simple Notification Service?