Azure Portal에서 에이전트 기반 오류를 사용하는 카오스 실험 만들기

카오스 실험을 사용하여 제어된 환경에서 이러한 오류를 발생시켜 애플리케이션이 오류에 대해 복원력이 있는지 확인할 수 있습니다. 이 문서에서는 Chaos 실험과 Azure Chaos Studio를 사용하여 Linux VM(가상 머신)에서 높은 CPU 사용률 이벤트를 발생시킵니다. 이 실험을 실행하면 애플리케이션이 리소스가 부족해지는 것을 방지할 수 있습니다.

이러한 동일한 단계를 사용하여 에이전트 기반 오류에 대한 실험을 설정하고 실행할 수 있습니다. 에이전트 기반 오류에는 카오스 에이전트를 설치해야 합니다. 서비스 직접 오류는 계측할 필요 없이 Azure 리소스에 대해 직접 실행됩니다.

필수 구성 요소

  • Azure 구독 Azure를 구독하고 있지 않다면 시작하기 전에 Azure 체험 계정을 만듭니다.
  • 버전 호환성 목록에 있는 운영 체제를 실행하는 Linux VM입니다. VM이 없는 경우 새로 만들 수 있습니다.
  • VM에 SSH를 연결할 수 있는 네트워크 설정입니다.
  • 대상 VM 또는 가상 머신 확장 집합에 할당된 사용자 할당 관리 ID입니다. 사용자 할당 관리 ID가 아직 없는 경우 새로 만들 수 있습니다.

가상 머신에서 Chaos Studio 사용

Chaos Studio는 VM이 Chaos Studio에 먼저 추가되지 않는 한 VM에 오류를 삽입할 수 없습니다. Chaos Studio에 VM을 추가하려면 리소스에 대상 및 기능을 만듭니다. 그런 다음, 카오스 에이전트를 설치합니다.

가상 머신에는 두 가지 대상 유형이 있습니다. 하나의 대상 유형은 서비스 직접 오류를 사용하도록 설정합니다(에이전트가 필요하지 않은 경우). 또 다른 대상 유형은 에이전트 기반 오류를 사용하도록 설정합니다(에이전트 설치가 필요한 경우). 카오스 에이전트는 VM 확장으로 VM에 설치된 애플리케이션입니다. 게스트 운영 체제에 오류를 삽입하는 데 사용합니다.

카오스 대상, 기능 및 에이전트 사용

Important

다음 단계를 완료하기 전에 사용자 할당 관리 ID를 만들어야 합니다. 그런 다음, 대상 VM 또는 가상 머신 확장 집합에 할당합니다.

  1. Azure Portal을 엽니다.

  2. 검색 창에서 Chaos Studio를 검색합니다.

  3. 대상을 선택하고 VM으로 이동합니다.

    Azure Portal의 대상 보기를 보여 주는 스크린샷.

  4. VM 옆의 확인란을 선택하고 대상 사용을 선택합니다. 그런 다음, 드롭다운 메뉴에서 에이전트 기반 대상 사용을 선택합니다.

    Azure Portal에서 대상 사용하도록 설정을 보여 주는 스크린샷.

  5. 카오스 에이전트를 인증하는 데 사용할 관리 ID를 선택하고 필요에 따라 Application Insights에서 실험 이벤트와 에이전트 로그를 볼 수 있도록 설정합니다.

    관리 ID 선택을 보여 주는 스크린샷.

  6. 검토 + 사용>사용을 선택합니다.

    에이전트 기반 대상 사용하도록 설정 검토를 보여 주는 스크린샷.

  7. 몇 분 후에 선택한 리소스가 성공적으로 사용하도록 설정되었음을 나타내는 알림이 나타납니다. Azure Portal은 사용자 할당 ID를 VM에 추가합니다. 포털은 에이전트 대상 및 기능을 사용하도록 설정하고 카오스 에이전트를 VM 확장으로 설치합니다.

    대상이 성공적으로 사용하도록 설정되었음을 나타내는 알림을 보여 주는 스크린샷.

  8. 가상 머신 확장 집합을 사용하도록 설정하는 경우 가상 머신 확장 집합 리소스 창으로 이동하여 인스턴스를 최신 모델로 업그레이드합니다. 인스턴스를 선택한 다음, 모든 인스턴스를 선택합니다. 최신 모델이 아닌 경우 업그레이드를 선택합니다.

이제 Chaos Studio에 Linux VM을 성공적으로 추가했습니다. 대상 보기에서 이 리소스에 대해 사용하도록 설정된 기능을 관리할 수도 있습니다. 리소스 옆에 있는 작업 관리 링크를 선택하여 해당 리소스에 대해 사용하도록 설정된 기능을 표시합니다.

실험 만들기

이제 실험을 만들 수 있습니다. 카오스 실험은 대상 리소스에 대해 수행하려는 작업을 정의합니다. 작업은 순차적 단계로 구성되고 실행됩니다. 카오스 실험은 병렬로 실행되는 분기에 대해 수행하려는 작업도 정의합니다.

  1. Chaos Studio에서 실험 탭을 선택합니다. 이 보기에서는 모든 카오스 실험을 보고 관리할 수 있습니다. 만들기>새 실험을 선택합니다.

    Azure Portal의 실험 보기를 보여 주는 스크린샷.

  2. 카오스 실험을 배포하려는 구독, 리소스 그룹위치를 입력합니다. 실험에 이름을 지정합니다. 다음: 실험 디자이너를 선택합니다.

    기본 실험 세부 정보 추가를 보여 주는 스크린샷.

  3. 이제 Chaos Studio 실험 디자이너에 있습니다. 단계, 분기 및 오류를 추가하여 실험을 빌드할 수 있습니다. 단계분기에 친숙한 이름을 지정합니다. 그런 다음, 작업 추가 > 오류 추가를 선택합니다.

    실험 디자이너를 보여 주는 스크린샷.

  4. 드롭다운 목록에서 CPU 압력을 선택합니다. 압력을 적용할 시간(분)을 기간에 입력합니다. 적용하려는 CPU 사용률 압력(%)으로 pressureLevel을 입력합니다. virtualMachineScaleSetInstances를 비워 둡니다. 다음: 대상 리소스를 선택합니다.

    오류 속성을 보여 주는 스크린샷.

  5. VM을 선택하고 다음을 선택합니다.

    대상 추가를 보여 주는 스크린샷.

  6. 실험이 올바른지 확인합니다. 그런 후 검토 + 만들기>만들기를 차례로 선택합니다.

    실험 검토 및 만들기를 보여 주는 스크린샷.

가상 머신에 실험 권한 부여

카오스 실험을 만들 때 Chaos Studio는 대상 리소스에 대해 오류를 실행하는 시스템이 할당한 관리 ID를 만듭니다. 실험을 성공적으로 실행하려면 이 ID에 대상 리소스에 대한 적절한 권한을 부여해야 합니다.

  1. VM으로 이동하여 액세스 제어(IAM)를 선택합니다.

    가상 머신 개요 페이지를 보여 주는 스크린샷.

  2. 추가>역할 할당 추가를 선택합니다.

    액세스 제어 개요를 보여 주는 스크린샷.

  3. 읽기 권한자를 검색하고 이 역할을 선택합니다. 다음을 선택합니다.

    가상 머신 기여자 역할 할당을 보여 주는 스크린샷.

  4. 멤버 선택을 선택하고 실험 이름을 검색합니다. 실험을 선택하고 선택을 선택합니다. 이름이 같은 여러 실험이 동일한 테넌트에 있는 경우 실험 이름은 임의 문자가 추가되어 잘립니다.

    역할에 실험을 추가하는 것을 보여 주는 스크린샷.

  5. 검토 + 할당>검토 + 할당을 선택합니다.

실험 실행

이제 실험을 실행할 준비가 되었습니다. 영향을 확인하려면 별도의 브라우저 탭에서 VM의 CPU 압력을 사용하여 Azure Monitor 메트릭 차트를 여는 것이 좋습니다.

  1. 실험 보기에서 실험을 선택합니다. 시작>확인을 선택합니다.

    실험 시작을 보여 주는 스크린샷.

  2. 상태실행 중으로 변경된 후 기록 아래에서 최신 실행에 대한 세부 정보를 선택하여 실행 중인 실험에 대한 세부 정보를 확인합니다.

다음 단계

에이전트 기반 실험을 실행했으므로 다음을 수행할 준비가 되었습니다.