AWS FIS 실험 계획 세우기 - AWS 장애 주입 서비스

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS FIS 실험 계획 세우기

오류 주입은 서버 중단이나 API 제한과 같은 운영 중단 이벤트를 발생시켜 테스트 또는 프로덕션 환경에서 애플리케이션에 스트레스를 주는 프로세스입니다. 시스템이 어떻게 반응하는지 관찰한 다음 개선을 구현할 수 있습니다. 시스템에서 실험을 실행하면 시스템에 의존하는 고객에게 영향을 미치기 전에 통제된 방식으로 시스템상의 약점을 식별하는 데 도움이 될 수 있습니다. 그러면 문제를 사전에 해결하여 예측할 수 없는 결과를 예방할 수 있습니다.

AWS FIS를 사용하여 오류 주입 실험을 실행하기 전에 다음 원칙과 지침을 숙지하는 것이 좋습니다.

중요

AWS FIS는 시스템의 실제 AWS 리소스에 대해 실제 조치를 취합니다. 따라서 AWS FIS를 사용하여 실험을 시작하기 전에 먼저 계획 단계를 완료하고 사전 프로덕션 또는 테스트 환경에서 테스트하는 것이 좋습니다.

기본 원칙 및 지침

AWS FIS 실험을 시작하기 전에 다음 단계를 수행합니다.

  1. 실험 대상 배포 식별 - 먼저 대상 배포를 식별하세요. 실험이 처음인 경우 사전 프로덕션 또는 테스트 환경에서 시작하는 것이 좋습니다.

  2. 애플리케이션 아키텍처 검토 - 각 구성 요소의 애플리케이션 구성 요소, 종속성 및 복구 절차를 모두 식별했는지 확인해야 합니다. 먼저 애플리케이션 아키텍처를 검토하세요. 애플리케이션에 따라 AWSWell-Architected Framework를 참조하세요.

  3. 정상 상태 동작 정의 - 지연 시간, CPU 부하, 분당 로그인 실패, 재시도 횟수, 페이지 로드 속도 등 중요한 기술 및 비즈니스 지표를 기준으로 시스템의 정상 상태 동작을 정의합니다.

  4. 가설 세우기 - 실험 중에 시스템 동작이 어떻게 변할 것으로 예상하는지에 대한 가설을 세우세요. 가설 정의는 다음과 같은 형식을 따릅니다.

    오류 주입 동작이 수행되는 경우 비즈니스 또는 기술 지표에 미치는 영향을 초과해서는 안 됩니다.

    예를 들어 인증 서비스에 대한 가설은 다음과 같을 수 있습니다. “네트워크 지연 시간이 10% 증가할 경우 로그인 실패 증가는 1% 미만입니다.” 실험이 완료된 후 애플리케이션 복원력이 비즈니스 및 기술 기대치에 부합하는지 평가합니다.

또한 AWS FIS를 사용할 때는 다음 지침을 따르는 것이 좋습니다.

  • 항상 테스트 환경에서 AWS FIS 실험을 시작하세요. 프로덕션 환경에서는 절대 시작하지 마세요. 오류 주입 실험이 진행됨에 따라 테스트 환경 이외의 다른 통제된 환경에서도 실험할 수 있습니다.

  • 하나의 대상에서 aws:ec2:stop-instances 작업을 실행하는 것과 같이 작고 간단한 실험부터 시작하여 애플리케이션 복원력에 대한 팀의 신뢰를 구축하세요.

  • 오류 주입으로 인해 실제 문제가 발생할 수 있습니다. 주의를 기울여 진행하고 고객이 영향을 받지 않도록 테스트 인스턴스에 첫 번째 오류 주입이 이루어지도록 하세요.

  • 테스트를 거듭하고 몇 가지 더 테스트해 보세요. 오류 주입은 잘 계획된 실험이 포함된 통제된 환경에서 구현되어야 합니다. 이를 통해 난류 조건을 견딜 수 있는 애플리케이션 및 도구의 성능에 대한 확신을 구축할 수 있습니다.

  • 시작하기 전에 우수한 모니터링 및 경고 프로그램을 마련해 두는 것이 좋습니다. 이 기능이 없으면 실험의 영향을 이해하거나 측정할 수 없는데, 이는 지속 가능한 오류 주입 관행에 매우 중요한 요소입니다.

실험 계획 지침

AWS FIS를 사용하면 AWS 리소스에 대한 실험을 실행하여 오류 조건에서 애플리케이션 또는 시스템이 어떻게 작동하는지에 대한 이론을 테스트할 수 있습니다.

다음은 AWS FIS 실험 계획을 위한 권장 지침입니다.

  • 정전 기록 검토 - 시스템의 과거 정전 및 이벤트를 검토하세요. 이를 통해 시스템의 전반적인 상태와 복원력을 파악할 수 있습니다. 시스템에서 실험을 시작하기 전에 시스템의 알려진 문제와 약점을 해결해야 합니다.

  • 가장 큰 영향을 미치는 서비스 식별 - 서비스를 검토하고 서비스가 중단되거나 제대로 작동하지 않을 경우 최종 사용자나 고객에게 가장 큰 영향을 미치는 서비스를 식별하세요.

  • 대상 시스템 식별 - 대상 시스템은 실험을 실행할 시스템입니다. AWS FIS를 처음 사용하거나 오류 주입 실험을 한 번도 해본 적이 없는 경우에는 사전 프로덕션 또는 테스트 시스템에서 실험을 실행하는 것으로 시작하는 것이 좋습니다.

  • 팀원들과 논의 - 어떤 걱정을 하고 있는지 물어보세요. 고객의 우려를 입증하거나 반증하기 위한 가설을 세울 수 있습니다. 팀원들이 걱정하지 않는 것은 무엇인지 물어볼 수도 있습니다. 이 질문을 통해 두 가지 일반적인 오류, 즉 매몰 비용 오류와 확증 편향 오류가 드러날 수 있습니다. 팀원들의 답변을 기반으로 가설을 세우면 시스템 상태의 현실에 대한 자세한 정보를 제공하는 데 도움이 될 수 있습니다.

  • 애플리케이션 아키텍처 검토 - 시스템 또는 애플리케이션을 검토하고 애플리케이션의 모든 구성 요소, 종속성 및 각 구성 요소의 복구 절차를 모두 식별했는지 확인하세요.

    AWS Well-Architected Framework를 검토하는 것이 좋습니다. 이 프레임워크는 애플리케이션과 워크로드를 위한 안전하고 성능 및 복원력이 뛰어나며 효율적인 인프라를 구축할 수 있도록 지원합니다. 자세한 내용은 AWS Well-Architected를 참조하세요.

  • 적용 가능한 지표 식별 — Amazon CloudWatch 지표를 사용하여 실험이 AWS 리소스에 미치는 영향을 모니터링할 수 있습니다. 이러한 지표를 사용하여 애플리케이션이 최적의 성능을 발휘할 때 기준선 또는 “안정 상태”를 판단할 수 있습니다. 그런 다음 실험 중 또는 실험 후에 이러한 지표를 모니터링하여 영향을 확인할 수 있습니다. 자세한 설명은 Amazon CloudWatch를 사용한 AWS FIS 사용량 지표 모니터링 섹션을 참조하세요.

  • 시스템에 적합한 성능 임계값 정의 - 시스템에 허용 가능한 안정 상태를 나타내는 지표를 식별하세요. 이 지표를 사용하여 실험 중지 조건을 나타내는 하나 이상의 CloudWatch 경보를 생성할 수 있습니다. 경보가 트리거되면 실험이 자동으로 중지됩니다. 자세한 내용은 AWS FIS의 정지 조건을(를) 참조하세요.