

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

# 에서 카오스 엔지니어링 구현 AWS
<a name="implementation"></a>

카오스 엔지니어링은 다음 다이어그램과 같이 [AWS 복원력 수명](https://docs.aws.amazon.com/prescriptive-guidance/latest/resilience-lifecycle-framework/introduction.html) 주기의 평가 및 테스트 단계의 일부입니다. 분산 애플리케이션은 다른 애플리케이션 또는 클라이언트와 별도로 작동하지 않으므로 전체 복원력 수명 주기를 검토하는 것이 좋습니다. 네트워크가 발전하고, 업스트림 및 다운스트림 애플리케이션이 변화하고, 시간이 지남에 따라 클라이언트 사용량이 변화함에 따라 분산 애플리케이션에서는 변화가 일정합니다.

![복원력 수명 주기의 AWS 5가지 주요 단계입니다.](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/chaos-engineering-on-aws/images/resilience-lifecycle.png)


애플리케이션에 대한 이러한 변경 사항이 복원력에 어떤 영향을 미칠 수 있는지 이해하려면 카오스 엔지니어링을 day-to-day 작업의 일부로 만드세요. 카오스 실험을 다양한 방식으로 구현할 수 있습니다.
+ **임시 **- 카오스 실험을 일회성 실험으로 수행하여 특정 문제나 질문을 해결할 수 있습니다.
+ **카오스 게임 데이** - 애플리케이션의 신뢰성과 복원력을 확인하도록 설계된 구조화되고 반복적인 이벤트입니다. 카오스 게임 데이의 목적은 사람, 프로세스 및 기술 전반의 잠재적 복원력 문제 또는 결함을 식별하고 인시던트를 식별, 완화 및 대응하기 위한 프로세스와 절차를 연습하는 것입니다.
+ **카오스 파이프라인** - 지속적 통합 및 지속적 전달(CI/CD)은 새로운 기능을 구축하고 환경 전체에 안전하게 배포하는 것입니다. 카오스 엔지니어링 실험을 구현하려면 CI/CD 파이프라인과 별도의 카오스 파이프라인을 생성합니다. 이유를 이해하기 위해 다운스트림 구성 요소에 증가하는 패킷 손실을 주입하는 단일 카오스 엔지니어링 실험을 CI/CD 파이프라인에 추가하려고 한다고 가정해 보겠습니다. 이 실험은 3회 실행되며 매번 완료하는 데 5분이 걸립니다. 패킷 손실은 실행마다 10%에서 20%로, 30%로 증가하며, 실험을 완료하는 데 전체적으로 15분이 걸립니다. 병렬 배포가 100개 있는 경우 단일 실험이 완료될 때까지 1500분을 기다려야 합니다. 실험을 10회 실행하면 개발자에게 미치는 영향을 감당할 수 없습니다. 대규모로 카오스 엔지니어링에는 소프트웨어 개발 수명 주기(SDLC) 프로세스와 병렬로 실험을 실행할 수 있는 자체 파이프라인이 필요합니다.
+ **카나리아 배포** - 카나리아는 카나리아 실험을 위한 테스트 환경을 제공합니다. 적은 비율의 트래픽을 카나리아 서비스로 전달하거나 트래픽 미러링 또는 재생과 같은 방법을 사용하여 안정적인 프로덕션 시스템에 영향을 주지 않고 새 인프라 또는 코드 변경을 확인할 수 있습니다. 최종 사용자에게 미치는 영향 범위를 제한할 수 있으므로 카나리아에 대해 실험을 실행하고 필요에 따라 결함을 주입할 수 있습니다.
+ **예약된 실험** - 실험을 예약하여 애플리케이션의 예측 가능한 복구 메커니즘을 확인할 수 있습니다. 예약된 실험을 사용하여 일반적으로 알려진 이벤트를 재생하여 자동 조정 그룹 뒤의 EC2 인스턴스 종료, Kubernetes 포드 제거 또는 Amazon ECS 작업 삭제와 같은 이벤트에서 시스템이 복구되는 방법을 캡처합니다.