Amazon Web Services 한국 블로그

AWS Fault Injection Simulator 정식 출시 – 제어된 장애 주입 실험을 통한 복원력 향상 (서울 리전 포함)

AWS는 리전 (가용 영역 포함 ), Amazon CloudWatch (지표, 모니터링 및 경보), Auto Scaling , 로드 밸런싱 및 여러 형태의 교차 리전 복제 등 매우 안정적인 시스템을 구축하는 데 필요한 구성 요소를 제공합니다. Well-Architected Framework 시스템에서 제공하는 지침에 따라 이들을 조합하면, 개별 구성 요소가 실패하더라도 계속 작동 할 수 있어야합니다.

그러나, 올바른 테스트를 수행 할 때까지 실제 사실이라는 것을 알 수 없습니다. 비교적 새로운 Chaos Engineering 분야는 새로운 영역의 애플리케이션 테스트에 중점을 둡니다. (Jesse Robbins Amazon.com 기반으로 “Master of Disaster”라는 선구적인 작업을 수행한 이후, Netflix에서 Chaos Monkey 활용). 현실적인 장애를 주입하고, 시스템이 어떻게 반응하는지 관찰하고, 개선 사항을 구현하는 방법론입니다.

Chaos Engineering은 개선 영역을 발견함과 동시에 추가 모니터링 및 경보가 필요한 사각 지대를 발견하고, 한때 숨겨졌던 구현 문제를 발견하고, 복구 시간 개선을 목표로 운영 기술을 향상시킬 수 있는 기회를 제공합니다. 이 주제에 대해 더 자세히 알아 보려면 부터 Chaos Engineering – Part 1 에서 시작해 보세요.

AWS Fault Injection Simulator (FIS)  소개
오늘 AWS Fault Injection Simulator (FIS)를 정식 출시합니다. 이 새로운 서비스는 장애를 주입하고 어떤 일이 발생하는지 볼 수 있도록 하여 AWS 워크로드에 대한 통제 된 실험을 수행하는 데 도움이 됩니다.

이를 통해 시스템이 다양한 유형의 오류에 어떻게 반응하는지 배우고, 오류 모드를 더 잘 이해할 수 있습니다. 사전 프로덕션 환경에서 실험을 실행하여 시작한 다음 CI / CD 워크 플로의 일부로 그리고 궁극적으로 프로덕션 환경에서 실험을 실행할 수 있습니다.

AWS Fault Injection Simulator (FIS) 실험은 특정 AWS 리소스 세트를 대상으로 하여 일련의 작업을 수행합니다. 초기에 Amazon EC2, Amazon ECS, Amazon EKS, 그리고 Amazon RDS 를 지원하며, 추가 자원과 유형, 태그, ARN 또는 특정 속성을 쿼리하여 대상 리소스를 선택할 수 있습니다.

또한, 하나 이상의 중지 조건 (CloudWatch 경보에 정의 가능)이 충족되는 경우 실험을 중지 할 수 있습니다. 이를 통해 중요한 비즈니스 또는 운영 메트릭에 예상치 못한 영향이 있는 경우 실험을 신속하게 종료 할 수 있습니다.

AWS FIS 시작하기
이제 실험 템플릿을 만들고 실험을 실행해 봅니다! 모두 Test 태그가 지정된 4 개의 EC2 인스턴스를 사용하겠습니다.

4 개의 EC2 인스턴스

FIS 콘솔을 열고 클릭 실험 템플릿 만들기를 시작합니다.

설명을 입력하고 IAM 역할을 선택합니다. 이 역할은 FIS가 실험을 수행 할 수 있도록 선택한 리소스에 대해 작업을 수행하는 데 필요한 권한을 부여합니다.

설명 및 IAM 역할 설정

다음으로 실험을 구성하는 작업을 정의합니다. 작업 추가를 시작합니다.

작업을 추가 할 준비가되었습니다.

그런 다음 첫 번째 작업을 정의합니다. 일부 EC2 인스턴스를 5 분 후 시스템이 다시 실행되도록 합니다. 저장을 선택하고 클릭합니다.

다음으로 실험 대상 리소스 ( EC2 인스턴스)를 선택합니다. 추가 대상을 클릭하여 이름을 지정하고, 현재 리전 내 EC2 인스턴스의 모든 구성을 선택합니다. 임의의 인스턴스를 선택하거나 태그 또는 리소스 필터와 일치하는 모든 인스턴스의 비율을 선택할 수 있습니다. 다시 저장을 선택하고 클릭합니다.

목표 설정

하나 이상의 중지 조건 (CloudWatch 경보 실험)을 선택할 수 있습니다. 알람이 발생하면 실험이 중지됩니다. 이것은 로컬 장애가 본격적인 전체 장애로 이어지지 않도록 하는 안전 메커니즘입니다.

정지 조건 설정

마지막으로 실험에 태그를 지정하고 실험 템플릿 만들기를 클릭합니다.

태그 추가 및 실험 생성

이제 실험 템플릿을 재 사용할 준비가 되었습니다.

실험 템플릿

실험을 실행하려면 실험 템플릿을 선택하고, 실험 시작 합니다.

그런 다음 실험 시작을 클릭합니다. (태그도 추가하기로 결정했습니다.)

여러분의 AWS 리소스에 영향을 미칠 수 있으므로 관련 부분을 잘 확인합니다.

AWS 리소스에 대한 영향 확인

이제 실험이 시작되고 작업을 볼 수 있습니다.

실험이 실행 중입니다.

예상대로 대상 인스턴스가 중지됩니다.

실험이 완료되어, 이제 해당 인스턴스가 중지되면 현재 시스템이 계속 진행될 수 있습니다.

AWS FIS API 및 FIS CLI를 사용하여 실험을 생성, 실행 및 검토 할 수도 있습니다. 예를 들어 동일한 타겟에 대해 다른 실험을 실행하거나 다른 타겟에 대해 동일한 실험을 실행할 수 있습니다.

정식 출시
AWS Fault Injection Simulator (FIS) 를 지금 사용할 수 있으며, 다양한 제어 환경의 장애 주입 실험을 실행할 수 있습니다. 아시아 태평양 (오사카) 과 중국의 두 리전을 제외한 모든 상용 AWS 리전에서 사용할 수 있습니다. 서울 리전에서도 사용 가능합니다. 가격은 두 개 이상의 작업이 병렬로 실행될 때 추가 비용 없이 작업이 실행되는 시간 (분)을 기준으로합니다.

2021 년 내내 추가 서비스 및 추가 조치에 대한 지원을 추가 할 예정 이니 계속 지켜봐 주시기 바랍니다!

Jeff ;