

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

# AWS FIS 실험 계획
<a name="getting-started-planning"></a>

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

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

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

**Topics**
+ [기본 원칙 및 지침](#planning-basic-principles)
+ [실험 계획 지침](#planning-experiment-guidelines)

## 기본 원칙 및 지침
<a name="planning-basic-principles"></a>

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

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

1. **애플리케이션 아키텍처 검토** - 각 구성 요소의 애플리케이션 구성 요소, 종속성 및 복구 절차를 모두 식별했는지 확인해야 합니다. 먼저 애플리케이션 아키텍처를 검토하세요. 애플리케이션에 따라 [AWS Well-Architected Framework](https://docs.aws.amazon.com/wellarchitected/latest/framework/)를 참조하세요.

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

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

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

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

또한 AWS FIS로 작업할 때는 다음 지침을 따르는 것이 좋습니다.
+ 항상 테스트 환경에서 AWS FIS 실험을 시작합니다. 프로덕션 환경에서는 절대 시작하지 마세요. 오류 주입 실험이 진행됨에 따라 테스트 환경 이외의 다른 통제된 환경에서도 실험할 수 있습니다.
+ 하나의 대상에서 **aws:ec2:stop-instances** 작업을 실행하는 것과 같이 작고 간단한 실험부터 시작하여 애플리케이션 복원력에 대한 팀의 신뢰를 구축하세요.
+ 오류 주입으로 인해 실제 문제가 발생할 수 있습니다. 주의를 기울여 진행하고 고객이 영향을 받지 않도록 테스트 인스턴스에 첫 번째 오류 주입이 이루어지도록 하세요.
+ 테스트를 거듭하고 몇 가지 더 테스트해 보세요. 오류 주입은 잘 계획된 실험이 포함된 통제된 환경에서 구현되어야 합니다. 이를 통해 난류 조건을 견딜 수 있는 애플리케이션 및 도구의 성능에 대한 확신을 구축할 수 있습니다.
+ 시작하기 전에 우수한 모니터링 및 경고 프로그램을 마련해 두는 것이 좋습니다. 이 기능이 없으면 실험의 영향을 이해하거나 측정할 수 없는데, 이는 지속 가능한 오류 주입 관행에 매우 중요한 요소입니다.

## 실험 계획 지침
<a name="planning-experiment-guidelines"></a>

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

다음은 AWS FIS 실험을 계획하기 위한 권장 지침입니다.
+ **정전 기록 검토** - 시스템의 과거 정전 및 이벤트를 검토하세요. 이를 통해 시스템의 전반적인 상태와 복원력을 파악할 수 있습니다. 시스템에서 실험을 시작하기 전에 시스템의 알려진 문제와 약점을 해결해야 합니다.
+ **가장 큰 영향을 미치는 서비스 식별** - 서비스를 검토하고 서비스가 중단되거나 제대로 작동하지 않을 경우 최종 사용자나 고객에게 가장 큰 영향을 미치는 서비스를 식별하세요.
+ **대상 시스템 식별** - 대상 시스템은 실험을 실행할 시스템입니다. AWS FIS를 처음 사용하거나 이전에 오류 주입 실험을 실행한 적이 없는 경우 사전 프로덕션 또는 테스트 시스템에서 실험을 실행하는 것으로 시작하는 것이 좋습니다.
+ **팀원들과 논의** - 어떤 걱정을 하고 있는지 물어보세요. 고객의 우려를 입증하거나 반증하기 위한 가설을 세울 수 있습니다. 팀원들이 걱정하지 않는 것은 무엇인지 물어볼 수도 있습니다. 이 질문을 통해 두 가지 일반적인 오류, 즉 매몰 비용 오류와 확증 편향 오류가 드러날 수 있습니다. 팀원들의 답변을 기반으로 가설을 세우면 시스템 상태의 현실에 대한 자세한 정보를 제공하는 데 도움이 될 수 있습니다.
+ **애플리케이션 아키텍처 검토** - 시스템 또는 애플리케이션을 검토하고 애플리케이션의 모든 구성 요소, 종속성 및 각 구성 요소의 복구 절차를 모두 식별했는지 확인하세요.

   AWS Well-Architected 프레임워크를 검토하는 것이 좋습니다. 이 프레임워크는 애플리케이션과 워크로드를 위한 안전하고 성능 및 복원력이 뛰어나며 효율적인 인프라를 구축할 수 있도록 지원합니다. 자세한 내용은 [AWS Well-Architected](https://aws.amazon.com/architecture/well-architected/)를 참조하세요.
+ **해당 지표 식별** - Amazon CloudWatch 지표를 사용하여 실험이 AWS 리소스에 미치는 영향을 모니터링할 수 있습니다. 이러한 지표를 사용하여 애플리케이션이 최적의 성능을 발휘할 때 기준선 또는 ‘안정 상태’를 판단할 수 있습니다. 그런 다음 실험 중 또는 실험 후에 이러한 지표를 모니터링하여 영향을 확인할 수 있습니다. 자세한 내용은 [Amazon CloudWatch를 사용하여 AWS FIS 사용량 지표 모니터링](monitoring-cloudwatch.md) 단원을 참조하십시오.
+ **시스템에 적합한 성능 임곗값 정의** - 시스템에 허용 가능한 안정 상태를 나타내는 지표를 식별하세요. 이 지표를 사용하여 실험 중지 조건을 나타내는 CloudWatch 경보를 하나 이상 생성합니다. 경보가 트리거되면 실험이 자동으로 중지됩니다. 자세한 내용은 [AWS FIS에 대한 중지 조건](stop-conditions.md) 단원을 참조하십시오.