Azure Chaos Studio 오류 및 작업 라이브러리

이 문서에서는 Chaos Studio에서 사용할 수 있는 오류를 해당 리소스 종류별로 정리하여 나열합니다. 각 리소스 종류에 대해 권장되는 역할 할당을 이해하려면 Azure Chaos Studio에 지원되는 리소스 종류 및 역할 할당을 참조하세요.

에이전트 기반 오류

에이전트 기반 오류는 Chaos Studio 에이전트를 설치하여 Azure Virtual Machines 또는 Virtual Machine Scale Set 인스턴스에 삽입됩니다. Virtual MachineVirtual Machine Scale Set 테이블에서 아래의 리소스에 대한 서비스 직접 오류 옵션을 찾습니다.

적용 가능한 OS 유형 오류 이름 적용 가능한 시나리오
Windows, Linux CPU 압력 컴퓨팅 용량 손실, 리소스 압력
Windows, Linux 프로세스 종료 종속성 중단
Windows, Linux 네트워크 연결 끊기 네트워크 중단
Windows, Linux 네트워크 대기 시간 네트워크 성능 저하
Windows, Linux 네트워크 패킷 손실 네트워크 안정성 문제
Windows, Linux 실제 메모리 압력 메모리 용량 손실, 리소스 압력
Windows, Linux 서비스 중지 서비스 중단/다시 시작
Windows, Linux 시간 변경 시간 동기화 문제
Windows, Linux 가상 메모리 압력 메모리 용량 손실, 리소스 압력
Linux 임의 stress-ng 스트레스 요인 일반 시스템 스트레스 테스트
Linux Linux DiskIO 압력 디스크 I/O 성능 저하
Windows DiskIO 압력 디스크 I/O 성능 저하
Windows DNS 오류 DNS 확인 문제
Windows 방화벽을 통한 네트워크 연결 끊기 네트워크 중단

App Service

이 섹션은 Microsoft.Web/sites 리소스 종류에 적용됩니다. App Service에 대해 자세히 알아보세요.

오류 이름 적용 가능한 시나리오
App Service 중지 서비스 중단

자동 크기 조정 설정

이 섹션은 Microsoft.Insights/autoscaleSettings 리소스 종류에 적용됩니다. 자동 크기 조정 설정에 대해 자세히 알아봅니다.

오류 이름 적용 가능한 시나리오
자동 크기 조정 사용 안 함 컴퓨팅 용량 손실(VMSS 종료와 함께 사용되는 경우)

Azure Kubernetes Service

이 섹션은 Microsoft.ContainerService/managedClusters 리소스 종류에 적용됩니다. Azure Kubernetes Service에 대해 자세히 알아봅니다.

오류 이름 적용 가능한 시나리오
AKS Chaos Mesh DNS 카오스 DNS 확인 문제
AKS Chaos Mesh HTTP 카오스 네트워크 중단
AKS Chaos Mesh IO 카오스 디스크 성능 저하/압력
AKS Chaos Mesh 커널 카오스 커널 중단
AKS Chaos Mesh 네트워크 카오스 네트워크 중단
AKS Chaos Mesh Pod 카오스 컨테이너 중단
AKS Chaos Mesh 스트레스 카오스 시스템 스트레스 테스트
AKS Chaos Mesh 시간 카오스 시간 동기화 문제

Cloud Services(클래식)

이 섹션은 Microsoft.ClassicCompute/domainNames 리소스 종류에 적용됩니다. Cloud Services(클래식)에 대해 자세히 알아봅니다.

오류 이름 적용 가능한 시나리오
클라우드 서비스 종료 컴퓨팅 손실

클러스터형 Cache for Redis

이 섹션은 Microsoft.Cache/redis 리소스 종류에 적용됩니다. Azure Cache for Redis에 대해 자세히 알아봅니다.

오류 이름 적용 가능한 시나리오
Azure Cache for Redis(재부팅) 종속성 중단(캐시)

Cosmos DB

이 섹션은 Microsoft.DocumentDB/databaseAccounts 리소스 종류에 적용됩니다. Cosmos DB에 대해 자세히 알아봅니다.

오류 이름 적용 가능한 시나리오
Cosmos DB 장애 조치(failover) 데이터베이스 장애 조치(failover)

Event Hubs

이 섹션은 Microsoft.EventHub/namespaces 리소스 종류에 적용됩니다. Event Hubs에 대해 자세히 알아봅니다.

오류 이름 적용 가능한 시나리오
Event Hub 상태 변경 메시징 인프라 구성 오류/중단

Key Vault

이 섹션은 Microsoft.KeyVault/vaults 리소스 종류에 적용됩니다. Key Vault에 대해 자세히 알아보세요.

오류 이름 적용 가능한 시나리오
Key Vault: 액세스 거부 인증서 거부
Key Vault: 인증서 사용 안 함 인증서 중단
Key Vault: 인증서 버전 증분 인증서 버전 증분
Key Vault: 인증서 정책 업데이트 인증서 정책 변경/구성 오류

네트워크 보안 그룹

이 섹션은 Microsoft.Network/networkSecurityGroups 리소스 종류에 적용됩니다. 네트워크 보안 그룹에 대해 자세히 알아봅니다.

오류 이름 적용 가능한 시나리오
NSG 보안 규칙 네트워크 중단(많은 Azure 서비스의 경우)

Service Bus

이 섹션은 Microsoft.ServiceBus/namespaces 리소스 종류에 적용됩니다. Service Bus에 대해 자세히 알아봅니다.

오류 이름 적용 가능한 시나리오
큐 상태 변경 메시징 인프라 구성 오류/중단
구독 상태 변경 메시징 인프라 구성 오류/중단
토픽 상태 변경 메시징 인프라 구성 오류/중단

Virtual Machines(서비스 직접)

이 섹션은 Microsoft.Compute/virtualMachines 리소스 종류에 적용됩니다. Virtual Machines에 대해 자세히 알아봅니다.

오류 이름 적용 가능한 시나리오
VM 재배포 컴퓨팅 중단, 유지 관리 이벤트
VM 종료 컴퓨팅 손실/중단

Virtual Machine Scale Set

이 섹션은 Microsoft.Compute/virtualMachineScaleSets 리소스 종류에 적용됩니다. Virtual Machine Scale Sets에 대해 자세히 알아봅니다

오류 이름 적용 가능한 시나리오
VMSS 종료 컴퓨팅 손실/중단
VMSS 종료(2.0) 컴퓨팅 손실/중단(가용성 영역별)

오케스트레이션 작업

이러한 작업은 효과적인 실험을 생성하기 위한 구성 요소입니다. 영역에서 컴퓨팅 인스턴스를 병렬로 종료하는 동안 부하 테스트 실행과 같은 다른 오류와 함께 사용합니다.

작업 범주 오류 이름
로드 부하 테스트 시작(Azure Load Testing)
로드 부하 테스트 중지(Azure Load Testing)
시간 지연 Delay

세부 정보: 에이전트 기반 오류

네트워크 연결 끊기

속성
기능 이름 NetworkDisconnect-1.1
대상 형식 Microsoft-Agent
지원되는 OS 유형 Windows, Linux.
설명 지정된 포트 범위 및 네트워크 블록에 대한 아웃바운드 네트워크 트래픽을 차단합니다. 하나 이상의 destinationFilter 또는 inboundDestinationFilter 배열을 제공해야 합니다.
필수 조건 Windows: 에이전트는 관리자로 실행되어야 하며, VM 확장으로 설치된 경우에는 기본적으로 실행됩니다.
Linux:tc(트래픽 제어) 패키지는 네트워크 오류에 사용됩니다. 아직 설치되지 않은 경우 에이전트는 자동으로 기본 패키지 관리자에서 설치를 시도합니다.
Urn urn:csci:microsoft:agent:networkDisconnect/1.1
매개 변수(키, 값)
destinationFilters 대상으로 지정할 아웃바운드 패킷을 정의하는 패킷 필터의 구분된 JSON 배열입니다. 최대 16개입니다.
inboundDestinationFilters 대상으로 지정할 인바운드 패킷을 정의하는 패킷 필터의 구분된 JSON 배열입니다. 최대 16개입니다.
virtualMachineScaleSetInstances 가상 머신 확장 집합에 이 오류를 적용할 때 인스턴스 ID의 배열입니다. 균일한 오케스트레이션 모드의 가상 머신 확장 집합에 필요합니다. 인스턴스 ID에 대해 자세히 알아봅니다.

destinationFiltersinboundDestinationFilters 매개 변수는 다음 패킷 필터 배열을 사용합니다.

속성
address IP 범위의 시작을 나타내는 IP 주소입니다.
subnetMask IP 주소 범위에 대한 서브넷 마스크입니다.
portLow (선택 사항) 포트 범위가 시작되는 포트 번호입니다.
portHigh (선택 사항) 포트 범위가 끝나는 포트 번호입니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:networkDisconnect/1.1",
      "parameters": [
        {
          "key": "destinationFilters",
          "value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
        },
        {
          "key": "inboundDestinationFilters",
          "value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

제한 사항

  • 에이전트 기반 네트워크 오류는 현재 IPv4 주소만 지원합니다.
  • 네트워크 연결 끊김 오류는 새 연결에만 영향을 줍니다. 기존 활성 연결은 계속 유지됩니다. 서비스 또는 프로세스를 다시 시작하여 연결을 강제로 끊을 수 있습니다.
  • Windows에서 실행할 때 네트워크 연결 끊기 오류는 현재 TCP 또는 UDP 패킷에서만 작동합니다.

방화벽을 통한 네트워크 연결 끊기

속성
기능 이름 NetworkDisconnectViaFirewall-1.0
대상 형식 Microsoft-Agent
지원되는 OS 유형 Windows
설명 Windows 방화벽 규칙을 적용하여 지정된 포트 범위 및 네트워크 블록에 대한 아웃바운드 트래픽을 차단합니다.
필수 조건 에이전트는 관리자 권한으로 실행해야 합니다. 에이전트가 VM 확장으로 설치된 경우 기본적으로 관리자 권한으로 실행됩니다.
Urn urn:csci:microsoft:agent:networkDisconnectViaFirewall/1.0
매개 변수(키, 값)
destinationFilters 오류 삽입을 대상으로 지정할 아웃바운드 패킷을 정의하는 패킷 필터의 구분된 JSON 배열입니다.
address IP 범위의 시작을 나타내는 IP 주소입니다.
subnetMask IP 주소 범위에 대한 서브넷 마스크입니다.
portLow (선택 사항) 포트 범위가 시작되는 포트 번호입니다.
portHigh (선택 사항) 포트 범위가 끝나는 포트 번호입니다.
virtualMachineScaleSetInstances 가상 머신 확장 집합에 이 오류를 적용할 때 인스턴스 ID의 배열입니다. 균일한 오케스트레이션 모드의 가상 머신 확장 집합에 필요합니다. 인스턴스 ID에 대해 자세히 알아봅니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:networkDisconnectViaFirewall/1.0",
      "parameters": [
        {
          "key": "destinationFilters",
          "value": "[ { \"Address\": \"23.45.229.97\", \"SubnetMask\": \"255.255.255.224\", \"PortLow\": \"5000\", \"PortHigh\": \"5200\" } ]"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

제한 사항

  • 에이전트 기반 네트워크 오류는 현재 IPv4 주소만 지원합니다.

네트워크 대기 시간

속성
기능 이름 NetworkLatency-1.1
대상 형식 Microsoft-Agent
지원되는 OS 유형 Windows, Linux(아웃바운드 트래픽만 해당)
설명 지정된 포트 범위 및 네트워크 블록에 대한 네트워크 대기 시간을 늘립니다. 하나 이상의 destinationFilter 또는 inboundDestinationFilter 배열을 제공해야 합니다.
필수 조건 Windows: 에이전트는 관리자로 실행되어야 하며, VM 확장으로 설치된 경우에는 기본적으로 실행됩니다.
Linux:tc(트래픽 제어) 패키지는 네트워크 오류에 사용됩니다. 아직 설치되지 않은 경우 에이전트는 자동으로 기본 패키지 관리자에서 설치를 시도합니다.
Urn urn:csci:microsoft:agent:networkLatency/1.1
매개 변수(키, 값)
latencyInMilliseconds 적용할 대기 시간(밀리초)입니다.
destinationFilters 대상으로 지정할 아웃바운드 패킷을 정의하는 패킷 필터의 구분된 JSON 배열입니다. 최대 16개입니다.
inboundDestinationFilters 대상으로 지정할 인바운드 패킷을 정의하는 패킷 필터의 구분된 JSON 배열입니다. 최대 16개입니다.
virtualMachineScaleSetInstances 가상 머신 확장 집합에 이 오류를 적용할 때 인스턴스 ID의 배열입니다. 균일한 오케스트레이션 모드의 가상 머신 확장 집합에 필요합니다. 인스턴스 ID에 대해 자세히 알아봅니다.

destinationFiltersinboundDestinationFilters 매개 변수는 다음 패킷 필터 배열을 사용합니다.

속성
address IP 범위의 시작을 나타내는 IP 주소입니다.
subnetMask IP 주소 범위에 대한 서브넷 마스크입니다.
portLow (선택 사항) 포트 범위가 시작되는 포트 번호입니다.
portHigh (선택 사항) 포트 범위가 끝나는 포트 번호입니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:networkLatency/1.1",
      "parameters": [
        {
          "key": "destinationFilters",
          "value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
        },
        {
          "key": "inboundDestinationFilters",
          "value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
        },
        {
          "key": "latencyInMilliseconds",
          "value": "100",
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

제한 사항

  • 에이전트 기반 네트워크 오류는 현재 IPv4 주소만 지원합니다.
  • Linux에서 실행할 때 네트워크 대기 시간 오류는 인바운드 트래픽이 아닌 아웃바운드 트래픽에만 영향을 미칠 수 있습니다. 이 오류는 Windows 환경의 인바운드 및 아웃바운드 트래픽 모두에 영향을 줄 수 있습니다(inboundDestinationFiltersdestinationFilters 매개 변수를 통해).
  • Windows에서 실행할 때 네트워크 대기 시간 오류는 현재 TCP 또는 UDP 패킷에서만 작동합니다.

네트워크 패킷 손실

속성
기능 이름 NetworkPacketLoss-1.0
대상 형식 Microsoft-Agent
지원되는 OS 유형 Windows, Linux
설명 0.0(손실된 패킷 없음)에서 1.0(모든 패킷 손실) 사이의 지정된 속도로 아웃바운드 트래픽에 대한 패킷 손실을 도입합니다. 이 작업은 네트워크 정체 또는 네트워크 하드웨어 문제와 같은 시나리오를 시뮬레이션하는 데 도움이 될 수 있습니다.
필수 조건 Windows: 에이전트는 관리자로 실행되어야 하며, VM 확장으로 설치된 경우에는 기본적으로 실행됩니다.
Linux:tc(트래픽 제어) 패키지는 네트워크 오류에 사용됩니다. 아직 설치되지 않은 경우 에이전트는 자동으로 기본 패키지 관리자에서 설치를 시도합니다.
Urn urn:csci:microsoft:agent:networkPacketLoss/1.0
매개 변수(키, 값)
packetLossRate 대상 필터와 일치하는 패킷이 손실되는 비율(0.0에서 1.0까지)입니다.
virtualMachineScaleSetInstances 가상 머신 확장 집합에 이 오류를 적용할 때 인스턴스 ID의 배열입니다. 균일한 오케스트레이션 모드의 가상 머신 확장 집합에 필요합니다. 인스턴스 ID에 대해 자세히 알아봅니다.
destinationFilters 오류 삽입을 대상으로 지정할 아웃바운드 패킷을 정의하는 패킷 필터(아래 매개 변수)의 구분된 JSON 배열입니다. 최대 3개입니다.
address IP 범위의 시작을 나타내는 IP 주소입니다.
subnetMask IP 주소 범위에 대한 서브넷 마스크입니다.
portLow (선택 사항) 포트 범위가 시작되는 포트 번호입니다.
portHigh (선택 사항) 포트 범위가 끝나는 포트 번호입니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:networkPacketLoss/1.0",
      "parameters": [
            {
                "key": "destinationFilters",
                "value": "[{\"address\":\"23.45.229.97\",\"subnetMask\":\"255.255.255.224\",\"portLow\":5000,\"portHigh\":5200}]"
            },
            {
                "key": "packetLossRate",
                "value": "0.5"
            },
            {
                "key": "virtualMachineScaleSetInstances",
                "value": "[0,1,2]"
            }
        ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

제한 사항

  • 에이전트 기반 네트워크 오류는 현재 IPv4 주소만 지원합니다.
  • Windows에서 실행할 때 네트워크 패킷 손실 오류는 현재 TCP 또는 UDP 패킷에서만 작동합니다.

DNS 오류

속성
기능 이름 DnsFailure-1.0
대상 형식 Microsoft-Agent
지원되는 OS 유형 Windows
설명 DNS 조회 요청 응답을 지정된 오류 코드로 대체합니다. 대체될 DNS 조회 요청은 다음을 수행해야 합니다.
  • VM에서 시작됩니다.
  • 정의된 오류 매개 변수와 일치합니다.
Windows DNS 클라이언트에서 수행되지 않은 DNS 조회는 이 결함의 영향을 받지 않습니다.
필수 조건 없음.
Urn urn:csci:microsoft:agent:dnsFailure/1.0
매개 변수(키, 값)
호스트 DNS 조회 요청에 실패하도록 호스트 이름의 구분된 JSON 배열입니다.

이 속성은 와일드카드(*)를 허용하지만 주소의 첫 번째 하위 도메인에 대해서만 허용되며 지정된 하위 도메인에만 적용됩니다. 예시:
  • *.microsoft.com이 지원됩니다.
  • subdomain.*.microsoft는 지원되지 않습니다.
  • *.microsoft.com은 subdomain1.subdomain2.microsoft.com과 같은 주소의 여러 하위 도메인에 작동하지 않습니다.
dnsFailureReturnCode 조회 실패에 대해 클라이언트에 반환되는 DNS 오류 코드(FormErr, ServFail, NXDomain, NotImp, Refused, XDomain, YXRRSet, NXRRSet, NotAuth, NotZone)입니다. DNS 반환 코드에 대한 자세한 내용은 IANA 웹 사이트를 참조하세요.
virtualMachineScaleSetInstances 가상 머신 확장 집합에 이 오류를 적용할 때 인스턴스 ID의 배열입니다. 균일한 오케스트레이션 모드의 가상 머신 확장 집합에 필요합니다. 인스턴스 ID에 대해 자세히 알아봅니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:dnsFailure/1.0",
      "parameters": [
        {
          "key": "hosts",
          "value": "[ \"www.bing.com\", \"msdn.microsoft.com\" ]"
        },
        {
          "key": "dnsFailureReturnCode",
          "value": "ServFail"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

제한 사항

  • DNS 오류에는 Windows 2019 RS5 이상이 필요합니다.
  • DNS 캐시는 오류에 정의된 호스트 이름에 대한 오류 기간 동안 무시됩니다.

CPU 압력

속성
기능 이름 CPUPressure-1.0
대상 형식 Microsoft-Agent
지원되는 OS 유형 Windows, Linux.
설명 오류 작업 중에 이 오류가 삽입되는 VM에서 지정된 값까지 CPU 압력을 추가합니다. 인공 CPU 압력은 기간이 끝날 때 또는 실험이 취소될 때 제거됩니다. Windows에서 % Processor Utility 성능 카운터는 오류 시작 시 현재 CPU 백분율을 결정하는 데 사용되며, 이 백분율은 % 프로세서 유틸리티가 오류 매개 변수에 정의된 pressureLevel을 대략적으로 적중하도록 오류에 정의된 pressureLevel에서 뺀 것입니다.
필수 조건 Linux: stress-ng 유틸리티를 설치해야 합니다. Debian 기반(예: Ubuntu), Red Hat Enterprise Linux 및 OpenSUSE를 포함한 여러 운영 체제에서 기본 패키지 관리자를 사용하여 에이전트 설치의 일부로 자동으로 설치됩니다. Azure Linux를 포함한 다른 배포판의 경우 stress-ng를 수동으로 설치해야 합니다. 자세한 내용은 업스트림 프로젝트 리포지토리를 참조하세요.
Windows: 없음
Urn urn:csci:microsoft:agent:cpuPressure/1.0
매개 변수(키, 값)
pressureLevel % CPU 사용량 측면에서 VM에 적용되는 CPU 압력(%)을 나타내는 1에서 99 사이의 정수
virtualMachineScaleSetInstances 가상 머신 확장 집합에 이 오류를 적용할 때 인스턴스 ID의 배열입니다. 균일한 오케스트레이션 모드의 가상 머신 확장 집합에 필요합니다. 인스턴스 ID에 대해 자세히 알아봅니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:cpuPressure/1.0",
      "parameters": [
        {
          "key": "pressureLevel",
          "value": "95"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

제한 사항

Linux의 알려진 문제:

  • AzureChaosAgent가 예기치 않게 종료하는 경우 스트레스 효과가 올바르게 종료되지 않을 수 있습니다.

실제 메모리 압력

속성
기능 이름 PhysicalMemoryPressure-1.0
대상 형식 Microsoft-Agent
지원되는 OS 유형 Windows, Linux.
설명 오류 작업 중에 이 오류가 삽입되는 VM의 지정된 값까지 실제 메모리 압력을 추가합니다. 인공 물리적 메모리 압력은 기간이 끝날 때 또는 실험이 취소될 때 제거됩니다.
필수 조건 Linux: stress-ng 유틸리티를 설치해야 합니다. Debian 기반(예: Ubuntu), Red Hat Enterprise Linux 및 OpenSUSE를 포함한 여러 운영 체제에서 기본 패키지 관리자를 사용하여 에이전트 설치의 일부로 자동으로 설치됩니다. Azure Linux를 포함한 다른 배포판의 경우 stress-ng를 수동으로 설치해야 합니다. 자세한 내용은 업스트림 프로젝트 리포지토리를 참조하세요.
Windows: 없음
Urn urn:csci:microsoft:agent:physicalMemoryPressure/1.0
매개 변수(키, 값)
pressureLevel VM에 적용되는 실제 메모리 압력(%)을 나타내는 1~99 사이의 정수입니다.
virtualMachineScaleSetInstances 가상 머신 확장 집합에 이 오류를 적용할 때 인스턴스 ID의 배열입니다. 균일한 오케스트레이션 모드의 가상 머신 확장 집합에 필요합니다. 인스턴스 ID에 대해 자세히 알아봅니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:physicalMemoryPressure/1.0",
      "parameters": [
        {
          "key": "pressureLevel",
          "value": "95"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

제한 사항

현재 Windows 에이전트는 다른 애플리케이션에서 메모리 사용량을 늘릴 때 메모리 압력을 줄이지 않습니다. 전체 메모리 사용량이 100%를 초과하면 Windows 에이전트가 충돌할 수 있습니다.

가상 메모리 압력

속성
기능 이름 VirtualMemoryPressure-1.0
대상 형식 Microsoft-Agent
지원되는 OS 유형 Windows
설명 오류 작업 중에 이 오류가 삽입되는 VM의 지정된 값까지 가상 메모리 압력을 추가합니다. 인공 가상 메모리 압력은 기간이 끝날 때 또는 실험이 취소될 때 제거됩니다.
필수 조건 없음.
Urn urn:csci:microsoft:agent:virtualMemoryPressure/1.0
매개 변수(키, 값)
pressureLevel VM에 적용되는 실제 메모리 압력(%)을 나타내는 1~99 사이의 정수입니다.
virtualMachineScaleSetInstances 가상 머신 확장 집합에 이 오류를 적용할 때 인스턴스 ID의 배열입니다. 균일한 오케스트레이션 모드의 가상 머신 확장 집합에 필요합니다. 인스턴스 ID에 대해 자세히 알아봅니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:virtualMemoryPressure/1.0",
      "parameters": [
        {
          "key": "pressureLevel",
          "value": "95"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

디스크 IO 압력

속성
기능 이름 DiskIOPressure-1.1
대상 형식 Microsoft-Agent
지원되는 OS 유형 Windows
설명 diskspd 유틸리티를 사용하여 Virtual Machine에 디스크 압력을 추가합니다. 압력은 기본적으로 주 디스크 또는 targetTempDirectory 매개 변수로 지정된 디스크에 추가됩니다. 이 오류에는 다섯 가지 실행 모드가 있습니다. 인공 디스크 압력은 기간이 끝날 때 또는 실험이 취소될 때 제거됩니다.
필수 조건 없음.
Urn urn:csci:microsoft:agent:diskIOPressure/1.1
매개 변수(키, 값)
pressureMode VM의 기본 스토리지에 추가할 디스크 압력의 미리 설정된 모드입니다. 다음 표의 PressureModes 중 하나여야 합니다.
targetTempDirectory (선택 사항) 디스크 압력을 적용하는 데 사용할 디렉터리입니다. 예들 들어 D:/Temp입니다. 매개 변수가 포함되지 않으면 주 디스크에 압력이 추가됩니다.
virtualMachineScaleSetInstances 가상 머신 확장 집합에 이 오류를 적용할 때 인스턴스 ID의 배열입니다. 균일한 오케스트레이션 모드의 가상 머신 확장 집합에 필요합니다. 인스턴스 ID에 대해 자세히 알아봅니다.

압력 모드

PressureMode 설명
PremiumStorageP10IOPS numberOfThreads = 1
randomBlockSizeInKB = 64
randomSeed = 10
numberOfIOperThread = 25
sizeOfBlocksInKB = 8
sizeOfWriteBufferInKB = 64
fileSizeInGB = 2
percentOfWriteActions = 50
PremiumStorageP10Throttling
numberOfThreads = 2
randomBlockSizeInKB = 64
randomSeed = 10
numberOfIOperThread = 25
sizeOfBlocksInKB = 64
sizeOfWriteBufferInKB = 64
fileSizeInGB = 1
percentOfWriteActions = 50
PremiumStorageP50IOPS numberOfThreads = 32
randomBlockSizeInKB = 64
randomSeed = 10
numberOfIOperThread = 32
sizeOfBlocksInKB = 8
sizeOfWriteBufferInKB = 64
fileSizeInGB = 1
percentOfWriteActions = 50
PremiumStorageP50Throttling numberOfThreads = 2
randomBlockSizeInKB = 1024
randomSeed = 10
numberOfIOperThread = 2
sizeOfBlocksInKB = 1024
sizeOfWriteBufferInKB = 1024
fileSizeInGB = 20
percentOfWriteActions = 50
기본값 numberOfThreads = 2
randomBlockSizeInKB = 64
randomSeed = 10
numberOfIOperThread = 2
sizeOfBlocksInKB = 64
sizeOfWriteBufferInKB = 64
fileSizeInGB = 1
percentOfWriteActions = 50

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:diskIOPressure/1.1",
      "parameters": [
        {
          "key": "pressureMode",
          "value": "PremiumStorageP10IOPS"
        },
        {
          "key": "targetTempDirectory",
          "value": "C:/temp/"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Linux 디스크 IO 압력

속성
기능 이름 LinuxDiskIOPressure-1.1
대상 형식 Microsoft-Agent
지원되는 OS 유형 Linux
설명 stress-ng를 사용하여 디스크에 압력을 가합니다. 임시 파일을 사용하여 I/O 프로세스를 수행하는 하나 이상의 작업자 프로세스가 생성됩니다. 압력은 기본적으로 주 디스크 또는 targetTempDirectory 매개 변수로 지정된 디스크에 추가됩니다. 압력이 적용되는 방법에 대한 자세한 내용은 stress-ng 문서를 참조하세요.
필수 조건 Linux: stress-ng 유틸리티를 설치해야 합니다. Debian 기반(예: Ubuntu), Red Hat Enterprise Linux 및 OpenSUSE를 포함한 여러 운영 체제에서 기본 패키지 관리자를 사용하여 에이전트 설치의 일부로 자동으로 설치됩니다. Azure Linux를 포함한 다른 배포판의 경우 stress-ng를 수동으로 설치해야 합니다. 자세한 내용은 업스트림 프로젝트 리포지토리를 참조하세요.
Urn urn:csci:microsoft:agent:linuxDiskIOPressure/1.1
매개 변수(키, 값)
workerCount 실행할 작업자 프로세스의 수입니다. workerCount를 0으로 설정하면 프로세서 수만큼 작업자 프로세스가 생성됩니다.
fileSizePerWorker 작업자가 I/O 작업을 수행하는 임시 파일의 크기입니다. 정수와 단위(b), 킬로바이트(k), 메가바이트(m) 또는 기가바이트(g)(예: 4메가바이트의 경우 4m, 256기가바이트의 경우 256g).
blockSize 디스크 I/O 작업에 사용할 블록 크기로, 1바이트보다 크고 4MB보다 작습니다(최대값: 4095k). 정수와 단위(킬로바이트 또는 메가바이트)(예: 512킬로바이트의 경우 512k).
targetTempDirectory (선택 사항) 디스크 압력을 적용하는 데 사용할 디렉터리입니다. 예들 들어 /tmp/입니다. 매개 변수가 포함되지 않으면 주 디스크에 압력이 추가됩니다.
virtualMachineScaleSetInstances 가상 머신 확장 집합에 이 오류를 적용할 때 인스턴스 ID의 배열입니다. 균일한 오케스트레이션 모드의 가상 머신 확장 집합에 필요합니다. 인스턴스 ID에 대해 자세히 알아봅니다.

JSON 샘플

이러한 샘플 값은 프리미엄 SSD LRS를 사용하여 Standard_D2s_v3 가상 머신에서 테스트할 때 최대 100%의 디스크 압력을 생성했습니다. fileSizePerWorker가 크고 blockSize가 작으면 디스크에 충분한 스트레스를 줄 수 있습니다.

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:linuxDiskIOPressure/1.1",
      "parameters": [
        {
          "key": "workerCount",
          "value": "4"
        },
        {
          "key": "fileSizePerWorker",
          "value": "2g"
        },
        {
          "key": "blockSize",
          "value": "64k"
        },
        {
          "key": "targetTempDirectory",
          "value": "/tmp/"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

서비스 중지

속성
기능 이름 StopService-1.0
대상 형식 Microsoft-Agent
지원되는 OS 유형 Windows, Linux.
설명 오류 발생 시 Windows 서비스 또는 Linux 시스템 서비스를 중지합니다. 기간이 끝날 때 또는 실험이 취소된 경우 다시 시작합니다.
필수 조건 없음.
Urn urn:csci:microsoft:agent:stopService/1.0
매개 변수(키, 값)
serviceName 중지하려는 Windows 서비스 또는 Linux 시스템 서비스의 이름입니다.
virtualMachineScaleSetInstances 가상 머신 확장 집합에 이 오류를 적용할 때 인스턴스 ID의 배열입니다. 균일한 오케스트레이션 모드의 가상 머신 확장 집합에 필요합니다. 인스턴스 ID에 대해 자세히 알아봅니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:stopService/1.0",
      "parameters": [
        {
          "key": "serviceName",
          "value": "nvagent"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

제한 사항

  • Windows: 서비스의 표시 이름은 지원되지 않습니다. 명령 프롬프트에서 sc.exe query를 사용하여 서비스 이름을 탐색합니다.
  • Linux: sysvinit과 같은 시스템 외에 다른 서비스 유형은 지원되지 않습니다.

프로세스 종료

속성
기능 이름 KillProcess-1.0
대상 형식 Microsoft-Agent
지원되는 OS 유형 Windows, Linux.
설명 오류 매개 변수에서 보낸 프로세스 이름과 일치하는 프로세스의 실행 중인 모든 인스턴스를 종료합니다. 오류 동작에 대해 설정된 기간 내에 지정된 종료 간격의 값에 따라 프로세스가 반복적으로 종료됩니다. 이 오류는 시스템 관리자가 자체 복구가 구성된 경우 프로세스를 수동으로 복구해야 하는 파괴적인 오류입니다.
필수 조건 없음.
Urn urn:csci:microsoft:agent:killProcess/1.0
매개 변수(키, 값)
processName 연속적으로 종료할 프로세스의 이름입니다(.exe 제외). 오류가 실행되기 시작할 때 프로세스가 실행 중일 필요는 없습니다.
killIntervalInMilliseconds 오류가 연속 종료 시도 사이에 대기하는 시간(밀리초)입니다.
virtualMachineScaleSetInstances 가상 머신 확장 집합에 이 오류를 적용할 때 인스턴스 ID의 배열입니다. 균일한 오케스트레이션 모드의 가상 머신 확장 집합에 필요합니다. 인스턴스 ID에 대해 자세히 알아봅니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:killProcess/1.0",
      "parameters": [
        {
          "key": "processName",
          "value": "myapp"
        },
        {
          "key": "killIntervalInMilliseconds",
          "value": "1000"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

시간 변경

속성
기능 이름 TimeChange-1.0
대상 형식 Microsoft-Agent
지원되는 OS 유형 Windows
설명 가상 머신의 시스템 시간을 변경하고 실험이 종료되거나 실험이 취소된 경우 시간을 다시 설정합니다.
필수 조건 없음.
Urn urn:csci:microsoft:agent:timeChange/1.0
매개 변수(키, 값)
dateTime ISO8601 형식의 DateTime 문자열입니다. YYYY-MM-DD 값이 누락된 경우 실험이 실행되는 현재 날짜로 기본값이 설정됩니다. Thh:mm:ss 값이 누락된 경우 기본값은 오전 12:00:00입니다. 2자리 연도(YY)가 제공되면 현재 세기를 기준으로 4자리 연도(YYYY)로 변환됩니다. 시간대 <Z>가 누락된 경우 기본 오프셋은 로컬 시간대입니다. <Z>는 항상 부호 기호(음수 또는 양수)를 포함해야 합니다.
virtualMachineScaleSetInstances 가상 머신 확장 집합에 이 오류를 적용할 때 인스턴스 ID의 배열입니다. 균일한 오케스트레이션 모드의 가상 머신 확장 집합에 필요합니다. 인스턴스 ID에 대해 자세히 알아봅니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:timeChange/1.0",
      "parameters": [
        {
          "key": "dateTime",
          "value": "2038-01-01T03:14:07"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

임의 stress-ng 스트레스 요인

속성
기능 이름 StressNg-1.0
대상 형식 Microsoft-Agent
지원되는 OS 유형 Linux
설명 인수를 stress-ng에 직접 전달하여 stress-ng 명령을 실행합니다. stress-ng에 대해 미리 정의된 오류 중 하나가 요구 사항을 충족하지 않는 경우에 유용합니다.
필수 조건 Linux: stress-ng 유틸리티를 설치해야 합니다. Debian 기반(예: Ubuntu), Red Hat Enterprise Linux 및 OpenSUSE를 포함한 여러 운영 체제에서 기본 패키지 관리자를 사용하여 에이전트 설치의 일부로 자동으로 설치됩니다. Azure Linux를 포함한 다른 배포판의 경우 stress-ng를 수동으로 설치해야 합니다. 자세한 내용은 업스트림 프로젝트 리포지토리를 참조하세요.
Urn urn:csci:microsoft:agent:stressNg/1.0
매개 변수(키, 값)
stressNgArguments stress-ng 프로세스에 전달할 하나 이상의 인수입니다. 가능한 stress-ng 인수에 대한 자세한 내용은 stress-ng 문서를 참조하세요. 참고: 오류가 발생하므로 "-t" 인수를 포함하지 마세요. 실험 길이는 stressNgArguments가 아니라 Azure Chaos 실험 UI에서 직접 정의됩니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:agent:stressNg/1.0",
      "parameters": [
        {
          "key": "stressNgArguments",
          "value": "--random 64"
        },
        {
          "key": "virtualMachineScaleSetInstances",
          "value": "[0,1,2]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

세부 정보: 서비스 직접 오류

App Service 중지

속성
기능 이름 Stop-1.0
대상 형식 Microsoft-AppService
설명 대상 App Service 애플리케이션을 중지한 다음, 오류 기간이 끝나면 다시 시작합니다. 이 작업은 App Service, API Apps, Mobile Apps 및 Azure Functions를 비롯한 "Microsoft.Web/sites" 유형의 리소스에 적용됩니다.
필수 조건 없음.
Urn urn:csci:microsoft:appService:stop/1.0
오류 유형 연속.
매개 변수(키, 값) 없음.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:appService:stop/1.0",
      "duration": "PT10M",
      "parameters":[],
      "selectorid": "myResources"
    }
  ]
}

자동 크기 조정 사용 안 함

속성
기능 이름 DisaleAutoscale
대상 형식 Microsoft-AutoscaleSettings
설명 자동 크기 조정 서비스를 사용하지 않도록 설정합니다. 자동 크기 조정을 사용하지 않도록 설정하면 가상 머신 확장 집합, 웹앱, 서비스 버스 과 같은 리소스는 애플리케이션의 로드에 따라 자동으로 추가되거나 제거되지 않습니다.
필수 조건 리소스에서 사용하도록 설정된 autoScalesetting 리소스는 Chaos Studio에 온보딩되어야 합니다.
Urn urn:csci:microsoft:autoscalesettings:disableAutoscale/1.0
오류 유형 연속.
매개 변수(키, 값)
enableOnComplete 부울입니다. 작업이 완료된 후 자동 크기 조정을 다시 설정할지 여부를 구성합니다. 기본값은 true입니다.

JSON 샘플

{
  "name": "BranchOne", 
  "actions": [ 
    { 
    "type": "continuous", 
    "name": "urn:csci:microsoft:autoscaleSetting:disableAutoscale/1.0", 
    "parameters": [ 
     { 
      "key": "enableOnComplete", 
      "value": "true" 
      }                 
  ],                                 
   "duration": "PT2M", 
   "selectorId": "Selector1",           
  } 
 ] 
} 

AKS Chaos Mesh 네트워크 카오스

속성
기능 이름 NetworkChaos-2.1
대상 형식 Microsoft-AzureKubernetesServiceChaosMesh
지원되는 노드 풀 OS 유형 Linux
설명 Chaos Mesh를 통해 사용할 수 있는 네트워크 오류가 AKS(Azure Kubernetes Service) 클러스터에 대해 실행되도록 합니다. 네트워크 중단, 지연, 중복, 손실, 손상으로 인해 발생하는 AKS 인시던트 재현에 유용합니다.
필수 조건 AKS 클러스터에는 Chaos Mesh가 배포되어 있어야 합니다.
Urn urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.1
매개 변수(키, 값)
jsonSpec NetworkChaos 종류를 사용하는 JSON 형식의 Chaos Mesh 사양입니다. YAML을 JSON으로 변환과 같은 YAML-JSON 변환기를 사용하여 Chaos Mesh YAML을 JSON으로 변환하고 축소할 수 있습니다. JSON 내에서 작은따옴표를 사용하거나 백슬래시 문자로 따옴표를 이스케이프합니다. jsonSpec 속성 아래에 YAML만 포함합니다. 메타데이터 및 종류와 같은 정보는 포함하지 마세요. jsonSpec 내에서 기간을 지정할 필요는 없지만 가능한 경우 사용됩니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.1",
      "parameters": [
        {
            "key": "jsonSpec",
            "value": "{\"action\":\"delay\",\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"delay\":{\"latency\":\"200ms\",\"correlation\":\"100\",\"jitter\":\"0ms\"}}}"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

AKS Chaos Mesh Pod 카오스

속성
기능 이름 PodChaos-2.1
대상 형식 Microsoft-AzureKubernetesServiceChaosMesh
지원되는 노드 풀 OS 유형 Linux
설명 Chaos Mesh를 통해 사용할 수 있는 Pod 오류가 AKS 클러스터에 대해 실행되도록 합니다. Pod 오류 또는 컨테이너 문제의 결과인 AKS 인시던트 재현에 유용합니다.
필수 조건 AKS 클러스터에는 Chaos Mesh가 배포되어 있어야 합니다.
Urn urn:csci:microsoft:azureKubernetesServiceChaosMesh:podChaos/2.1
매개 변수(키, 값)
jsonSpec PodChaos 종류를 사용하는 JSON 형식의 Chaos Mesh 사양입니다. YAML을 JSON으로 변환과 같은 YAML-JSON 변환기를 사용하여 Chaos Mesh YAML을 JSON으로 변환하고 축소할 수 있습니다. JSON 내에서 작은따옴표를 사용하거나 백슬래시 문자로 따옴표를 이스케이프합니다. jsonSpec 속성 아래에 YAML만 포함합니다. 메타데이터 및 종류와 같은 정보는 포함하지 마세요. jsonSpec 내에서 기간을 지정할 필요는 없지만 가능한 경우 사용됩니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:podChaos/2.1",
      "parameters": [
        {
            "key": "jsonSpec",
            "value": "{\"action\":\"pod-failure\",\"mode\":\"all\",\"selector\":{\"namespaces\":[\"default\"]}}"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

AKS Chaos Mesh 스트레스 카오스

속성
기능 이름 StressChaos-2.1
대상 형식 Microsoft-AzureKubernetesServiceChaosMesh
지원되는 노드 풀 OS 유형 Linux
설명 Chaos Mesh를 통해 사용할 수 있는 스트레스 오류가 AKS 클러스터에 대해 실행되도록 합니다. Pod 컬렉션에 대한 스트레스로 인한(예: 높은 CPU 또는 메모리 사용량으로 인해) AKS 인시던트 재현에 유용합니다.
필수 조건 AKS 클러스터에는 Chaos Mesh가 배포되어 있어야 합니다.
Urn urn:csci:microsoft:azureKubernetesServiceChaosMesh:stressChaos/2.1
매개 변수(키, 값)
jsonSpec StressChaos 종류를 사용하는 JSON 형식의 Chaos Mesh 사양입니다. YAML을 JSON으로 변환과 같은 YAML-JSON 변환기를 사용하여 Chaos Mesh YAML을 JSON으로 변환하고 축소할 수 있습니다. JSON 내에서 작은따옴표를 사용하거나 백슬래시 문자로 따옴표를 이스케이프합니다. jsonSpec 속성 아래에 YAML만 포함합니다. 메타데이터 및 종류와 같은 정보는 포함하지 마세요. jsonSpec 내에서 기간을 지정할 필요는 없지만 가능한 경우 사용됩니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:stressChaos/2.1",
      "parameters": [
        {
            "key": "jsonSpec",
            "value": "{\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"stressors\":{\"cpu\":{\"workers\":1,\"load\":50},\"memory\":{\"workers\":4,\"size\":\"256MB\"}}"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

AKS Chaos Mesh IO 카오스

속성
기능 이름 IOChaos-2.1
대상 형식 Microsoft-AzureKubernetesServiceChaosMesh
지원되는 노드 풀 OS 유형 Linux
설명 Chaos Mesh를 통해 사용할 수 있는 IO 오류가 AKS 클러스터에 대해 실행되도록 합니다. open, read, write와 같은 IO 시스템 호출을 사용할 때 IO 지연 및 읽기/쓰기 오류로 인한 AKS 인시던트 재현에 유용합니다.
필수 조건 AKS 클러스터에는 Chaos Mesh가 배포되어 있어야 합니다.
Urn urn:csci:microsoft:azureKubernetesServiceChaosMesh:IOChaos/2.1
매개 변수(키, 값)
jsonSpec IOChaos 종류를 사용하는 JSON 형식의 Chaos Mesh 사양입니다. YAML을 JSON으로 변환과 같은 YAML-JSON 변환기를 사용하여 Chaos Mesh YAML을 JSON으로 변환하고 축소할 수 있습니다. JSON 내에서 작은따옴표를 사용하거나 백슬래시 문자로 따옴표를 이스케이프합니다. jsonSpec 속성 아래에 YAML만 포함합니다. 메타데이터 및 종류와 같은 정보는 포함하지 마세요. jsonSpec 내에서 기간을 지정할 필요는 없지만 가능한 경우 사용됩니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:IOChaos/2.1",
      "parameters": [
        {
            "key": "jsonSpec",
            "value": "{\"action\":\"latency\",\"mode\":\"one\",\"selector\":{\"app\":\"etcd\"},\"volumePath\":\"\/var\/run\/etcd\",\"path\":\"\/var\/run\/etcd\/**\/*\",\"delay\":\"100ms\",\"percent\":50}"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

AKS Chaos Mesh 시간 카오스

속성
기능 이름 TimeChaos-2.1
대상 형식 Microsoft-AzureKubernetesServiceChaosMesh
지원되는 노드 풀 OS 유형 Linux
설명 Chaos Mesh를 사용하여 AKS 클러스터의 시스템 클록을 변경합니다. 분산 시스템이 동기화되지 않음, 누락/잘못된 윤년/윤초 논리 등으로 인해 발생하는 AKS 인시던트 재현에 유용합니다.
필수 조건 AKS 클러스터에는 Chaos Mesh가 배포되어 있어야 합니다.
Urn urn:csci:microsoft:azureKubernetesServiceChaosMesh:timeChaos/2.1
매개 변수(키, 값)
jsonSpec TimeChaos 종류를 사용하는 JSON 형식의 Chaos Mesh 사양입니다. YAML을 JSON으로 변환과 같은 YAML-JSON 변환기를 사용하여 Chaos Mesh YAML을 JSON으로 변환하고 축소할 수 있습니다. JSON 내에서 작은따옴표를 사용하거나 백슬래시 문자로 따옴표를 이스케이프합니다. jsonSpec 속성 아래에 YAML만 포함합니다. 메타데이터 및 종류와 같은 정보는 포함하지 마세요. jsonSpec 내에서 기간을 지정할 필요는 없지만 가능한 경우 사용됩니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:timeChaos/2.1",
      "parameters": [
        {
            "key": "jsonSpec",
            "value": "{\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"timeOffset\":\"-10m100ns\"}"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

AKS Chaos Mesh 커널 카오스

속성
기능 이름 KernelChaos-2.1
대상 형식 Microsoft-AzureKubernetesServiceChaosMesh
지원되는 노드 풀 OS 유형 Linux
설명 Chaos Mesh를 통해 사용할 수 있는 커널 오류가 AKS 클러스터에 대해 실행되도록 합니다. 탑재 실패 또는 메모리가 할당되지 않는 것과 같은 Linux 커널 수준 오류로 인한 AKS 인시던트 재현에 유용합니다.
필수 조건 AKS 클러스터에는 Chaos Mesh가 배포되어 있어야 합니다.
Urn urn:csci:microsoft:azureKubernetesServiceChaosMesh:kernelChaos/2.1
매개 변수(키, 값)
jsonSpec KernelChaos 종류를 사용하는 JSON 형식의 Chaos Mesh 사양입니다. YAML을 JSON으로 변환과 같은 YAML-JSON 변환기를 사용하여 Chaos Mesh YAML을 JSON으로 변환하고 축소할 수 있습니다. JSON 내에서 작은따옴표를 사용하거나 백슬래시 문자로 따옴표를 이스케이프합니다. jsonSpec 속성 아래에 YAML만 포함합니다. 메타데이터 및 종류와 같은 정보는 포함하지 마세요. jsonSpec 내에서 기간을 지정할 필요는 없지만 가능한 경우 사용됩니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:kernelChaos/2.1",
      "parameters": [
        {
            "key": "jsonSpec",
            "value": "{\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"failKernRequest\":{\"callchain\":[{\"funcname\":\"__x64_sys_mount\"}],\"failtype\":0}}"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

AKS Chaos Mesh HTTP 카오스

속성
기능 이름 HTTPChaos-2.1
대상 형식 Microsoft-AzureKubernetesServiceChaosMesh
지원되는 노드 풀 OS 유형 Linux
설명 Chaos Mesh를 통해 사용할 수 있는 HTTP 오류가 AKS 클러스터에 대해 실행되도록 합니다. HTTP 요청 및 응답 처리 오류(예: 지연되거나 잘못된 응답)로 인한 인시던트 재현에 유용합니다.
필수 조건 AKS 클러스터에는 Chaos Mesh가 배포되어 있어야 합니다.
Urn urn:csci:microsoft:azureKubernetesServiceChaosMesh:httpChaos/2.1
매개 변수(키, 값)
jsonSpec HTTPChaos 종류를 사용하는 JSON 형식의 Chaos Mesh 사양입니다. YAML을 JSON으로 변환과 같은 YAML-JSON 변환기를 사용하여 Chaos Mesh YAML을 JSON으로 변환하고 축소할 수 있습니다. JSON 내에서 작은따옴표를 사용하거나 백슬래시 문자로 따옴표를 이스케이프합니다. jsonSpec 속성 아래에 YAML만 포함합니다. 메타데이터 및 종류와 같은 정보는 포함하지 마세요. jsonSpec 내에서 기간을 지정할 필요는 없지만 가능한 경우 사용됩니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:httpChaos/2.1",
      "parameters": [
        {
            "key": "jsonSpec",
            "value": "{\"mode\":\"all\",\"selector\":{\"namespaces\":[\"default\"]},\"target\":\"Request\",\"port\":80,\"method\":\"GET\",\"path\":\"/api\",\"abort\":true}"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

AKS Chaos Mesh DNS 카오스

속성
기능 이름 DNSChaos-2.1
대상 형식 Microsoft-AzureKubernetesServiceChaosMesh
지원되는 노드 풀 OS 유형 Linux
설명 Chaos Mesh를 통해 사용할 수 있는 DNS 오류가 AKS 클러스터에 대해 실행되도록 합니다. DNS 오류로 인한 인시던트 재현에 유용합니다.
필수 조건 AKS 클러스터에는 Chaos Mesh가 배포되어 있어야 하며 DNS 서비스를 설치해야 합니다.
Urn urn:csci:microsoft:azureKubernetesServiceChaosMesh:dnsChaos/2.1
매개 변수(키, 값)
jsonSpec DNSChaos 종류를 사용하는 JSON 형식의 Chaos Mesh 사양입니다. YAML을 JSON으로 변환과 같은 YAML-JSON 변환기를 사용하여 Chaos Mesh YAML을 JSON으로 변환하고 축소할 수 있습니다. JSON 내에서 작은따옴표를 사용하거나 백슬래시 문자로 따옴표를 이스케이프합니다. jsonSpec 속성 아래에 YAML만 포함합니다. 메타데이터 및 종류와 같은 정보는 포함하지 마세요. jsonSpec 내에서 기간을 지정할 필요는 없지만 가능한 경우 사용됩니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:dnsChaos/2.1",
      "parameters": [
        {
            "key": "jsonSpec",
            "value": "{\"action\":\"random\",\"mode\":\"all\",\"patterns\":[\"google.com\",\"chaos-mesh.*\",\"github.?om\"],\"selector\":{\"namespaces\":[\"default\"]}}"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

Cloud Services(클래식) 종료

속성
기능 이름 Shutdown-1.0
대상 형식 Microsoft-DomainName
설명 오류 중에 배포를 중지합니다. 오류 기간이 끝날 때 또는 실험이 취소된 경우 배포를 다시 시작합니다.
필수 조건 없음.
Urn urn:csci:microsoft:domainName:shutdown/1.0
오류 유형 연속.
매개 변수 없음.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:domainName:shutdown/1.0",
      "parameters": [],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Azure Cache for Redis(재부팅)

속성
기능 이름 Reboot-1.0
대상 형식 Microsoft-AzureClusteredCacheForRedis
설명 대상에서 강제 재부팅 작업이 발생하여 짧은 중단을 시뮬레이션합니다.
필수 조건 해당 없음
Urn urn:csci:microsoft:azureClusteredCacheForRedis:reboot/1.0
오류 유형 불연속.
매개 변수(키, 값)
rebootType 재부팅 작업을 수행할 노드 형식으로, PrimaryNode, SecondaryNode 또는 AllNodes로 지정할 수 있습니다.
shardId 재부팅할 분할의 ID입니다. 프리미엄 계층 캐시에만 관련됩니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:azureClusteredCacheForRedis:reboot/1.0",
      "parameters": [
        {
          "key": "RebootType",
          "value": "AllNodes"
        },
        {
          "key": "ShardId",
          "value": "0"
        }
      ],
      "selectorid": "myResources"
    }
  ]
}

제한 사항

  • 재부팅 오류로 인해 강제 재부팅 시 중단 이벤트가 더 잘 시뮬레이션됩니다. 즉, 데이터 손실이 발생할 가능성이 있습니다.
  • 재부팅 오류는 불연속 오류 유형입니다. 연속 오류와 달리 일회성 작업이며 기간이 없습니다.

Cosmos DB 장애 조치(failover)

속성
기능 이름 Failover-1.0
대상 형식 Microsoft-CosmosDB
설명 단일 쓰기 지역이 있는 Azure Cosmos DB 계정이 지정된 읽기 지역으로 장애 조치(failover)하여 쓰기 지역 중단을 시뮬레이션하도록 합니다.
필수 조건 없음.
Urn urn:csci:microsoft:cosmosDB:failover/1.0
매개 변수(키, 값)
readRegion 장애 조치(failover) 중에 쓰기 지역으로 승격해야 하는 읽기 지역(예: East US 2)입니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:cosmosDB:failover/1.0",
      "parameters": [
        {
          "key": "readRegion",
          "value": "West US 2"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Event Hub 상태 변경

속성
기능 이름 ChangeEventHubState-1.0
대상 형식 Microsoft-EventHub
설명 Azure Event Hubs 네임스페이스 내에서 개별 Event Hubs를 원하는 상태로 설정합니다. 특정 이벤트 허브 이름에 영향을 주거나 "*"를 사용하여 네임스페이스 내의 모든 이름에 영향을 미칠 수 있습니다. 이 작업은 유지 관리 또는 오류 시나리오에 대해 메시징 인프라를 테스트하는 데 도움이 될 수 있습니다. 이 오류는 불연속 오류이므로 엔터티가 자동으로 시작 상태로 돌아가지 않습니다.
필수 조건 하나 이상의 이벤트 허브 엔터티가 포함된 Azure Event Hubs 네임스페이스.
Urn urn:csci:microsoft:eventHub:changeEventHubState/1.0
오류 유형 불연속.
매개 변수(키, 값)
desiredState 대상 이벤트 허브에 대한 원하는 상태입니다. 가능한 상태는 활성, 사용하지 않도록 설정 및 SendDisabled입니다.
eventHubs 대상 네임스페이스 내 이벤트 허브 이름의 쉼표로 구분된 목록입니다. 네임스페이스 내의 모든 엔터티에 영향을 주려면 "*"를 사용합니다.

JSON 샘플

{
  "name": "Branch1",
    "actions": [
        {
            "selectorId": "Selector1",
            "type": "discrete",
            "parameters": [
                {
                    "key": "eventhubs",
                    "value": "[\"*\"]"
                },
                {
                    "key": "desiredState",
                    "value": "Disabled"
                }
            ],
            "name": "urn:csci:microsoft:eventHub:changeEventHubState/1.0"
        }
    ]
}

Key Vault: 액세스 거부

속성
기능 이름 DenyAccess-1.0
대상 형식 Microsoft-KeyVault
설명 키 자격 증명 모음 네트워크 규칙을 일시적으로 수정하여 키 자격 증명 모음에 대한 모든 네트워크 액세스를 차단합니다. 이 작업을 수행하면 키 자격 증명 모음에 종속된 애플리케이션이 비밀, 키 및/또는 인증서에 액세스할 수 없습니다. 키 자격 증명 모음에서 모든 네트워크에 대한 액세스를 허용하는 경우 이 설정은 선택한 네트워크에서만 액세스를 허용하도록 변경됩니다. 오류 시작 시 허용되는 목록에 가상 네트워크가 없습니다. 모든 네트워크는 오류 기간이 끝날 때 액세스할 수 있습니다. 키 자격 증명 모음이 선택한 네트워크에서만 액세스를 허용하도록 설정된 경우 허용된 목록의 모든 가상 네트워크는 오류 시작 시 제거됩니다. 오류 기간이 끝나면 복원됩니다.
필수 조건 대상 키 자격 증명 모음에는 방화벽 규칙이 있을 수 없으며 Azure 서비스가 방화벽을 바이패스하도록 설정해서는 안 됩니다. 대상 키 자격 증명 모음이 선택한 네트워크의 액세스만 허용하도록 설정된 경우 하나 이상의 가상 네트워크 규칙이 있어야 합니다. 키 자격 증명 모음이 복구 모드이면 안 됩니다.
Urn urn:csci:microsoft:keyVault:denyAccess/1.0
오류 유형 연속.
매개 변수(키, 값) 없음.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:keyvault:denyAccess/1.0",
      "parameters": [],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Key Vault: 인증서 사용 안 함

속성
기능 이름 DisableCertificate-1.0
대상 형식 Microsoft-KeyVault
설명 인증서 속성을 사용하면 오류로 인해 특정 기간(사용자가 제공함) 동안 인증서가 비활성화됩니다. 이 오류 기간 후에 인증서를 사용하도록 설정합니다.
필수 조건 없음.
Urn urn:csci:microsoft:keyvault:disableCertificate/1.0
오류 유형 연속.
매개 변수(키, 값)
certificateName 오류가 실행되는 Azure Key Vault 인증서의 이름입니다.
version 사용하지 않도록 설정해야 하는 인증서 버전입니다. 지정하지 않으면 최신 버전을 사용할 수 없습니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:keyvault:disableCertificate/1.0",
      "parameters": [
        {
            "key": "certificateName",
            "value": "<name of AKV certificate>"
        },
        {
            "key": "version",
            "value": "<certificate version>"
        }

],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Key Vault: 인증서 버전 증분

속성
기능 이름 IncrementCertificateVersion-1.0
대상 형식 Microsoft-KeyVault
설명 Key Vault 인증서 클라이언트 라이브러리를 사용하여 새 인증서 버전 및 지문을 생성합니다. 현재 작업 중인 인증서가 이 버전으로 업그레이드됩니다. 오류 기간 이후에는 인증서 버전이 되돌려지지 않습니다.
필수 조건 없음.
Urn urn:csci:microsoft:keyvault:incrementCertificateVersion/1.0
오류 유형 불연속.
매개 변수(키, 값)
certificateName 오류가 실행되는 Azure Key Vault 인증서의 이름입니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:keyvault:incrementCertificateVersion/1.0",
      "parameters": [
        {
            "key": "certificateName",
            "value": "<name of AKV certificate>"
        }
    ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

Key Vault: 인증서 정책 업데이트

속성
기능 이름 UpdateCertificatePolicy-1.0
대상 형식 Microsoft-KeyVault
설명 인증서 정책(예: 인증서 유효 기간, 인증서 유형, 키 크기 또는 키 유형)은 사용자 입력에 따라 업데이트되고 오류 기간 후에 되돌려집니다.
필수 조건 없음.
Urn urn:csci:microsoft:keyvault:updateCertificatePolicy/1.0
오류 유형 연속.
매개 변수(키, 값)
certificateName 오류가 실행되는 Azure Key Vault 인증서의 이름입니다.
version 업데이트해야 하는 인증서 버전입니다. 지정하지 않으면 최신 버전이 업데이트됩니다.
사용 부울입니다. 새 인증서 버전을 사용할 수 있는지 여부를 나타내는 값입니다.
validityInMonths 인증서의 유효 기간(월)입니다.
certificateTransparency 인증서를 만들 때 인증서 투명도 목록에 게시해야 하는지 여부를 나타냅니다.
certificateType 인증서 유형입니다.
contentType 인증서의 콘텐츠 형식입니다. 예를 들어 인증서에 원시 PFX 바이트가 포함되어 있으면 Pkcs12이고, ASCII PEM 인코딩 바이트가 포함되어 있으면 Pem입니다. Pkcs12는 기본값으로 가정됩니다.
keySize RSA 키의 크기: 2048, 3072 또는 4096.
내보내기 가능 부울입니다. 자격 증명 모음 또는 보안 인증서 저장소에서 인증서 키를 내보낼 수 있는지 여부를 나타내는 값입니다.
reuseKey 부울입니다. 인증서를 회전할 때 인증서 키를 다시 사용해야 하는지 여부를 나타내는 값입니다.
keyType RSA 또는 EC와 같은 새 인증서가 발급될 때 생성되는 백업 키의 유형입니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:keyvault:updateCertificatePolicy/1.0",
      "parameters": [
        {
            "key": "certificateName",
            "value": "<name of AKV certificate>"
        },
        {
            "key": "version",
            "value": "<certificate version>"
        },
        {
            "key": "enabled",
            "value": "True"
        },
        {
            "key": "validityInMonths",
            "value": "12"
        },
        {
            "key": "certificateTransparency",
            "value": "True"
        },
        {
            "key": "certificateType",
            "value": "<certificate type>"
        },
        {
            "key": "contentType",
            "value": "Pem"
        },
        {
            "key": "keySize",
            "value": "4096"
        },
                {
            "key": "exportable",
            "value": "True"
        },
        {
            "key": "reuseKey",
            "value": "False"
        },
        {
            "key": "keyType",
            "value": "RSA"
        }

     ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

NSG 보안 규칙

속성
기능 이름 SecurityRule-1.0
대상 형식 Microsoft-NetworkSecurityGroup
설명 규칙 정의가 보안 그룹 전체에 적용 가능하다고 가정하여 기존 Azure NSG(네트워크 보안 그룹) 또는 Azure NSG 세트에서 조작 또는 규칙 생성을 사용하도록 설정합니다. 유용한 대상:
  • 다운스트림 또는 지역 간 종속성/비종속의 중단을 시뮬레이션합니다.
  • 서비스 장애 조치(failover)를 강제하는 논리를 트리거해야 하는 이벤트를 시뮬레이션합니다.
  • 모니터링 또는 상태 관리 서비스에서 작업을 트리거해야 하는 이벤트를 시뮬레이션합니다.
  • Chaos Agent를 배포할 수 없는 네트워크 트래픽을 차단하거나 허용하기 위한 대안으로 사용합니다.
필수 조건 없음.
Urn urn:csci:microsoft:networkSecurityGroup:securityRule/1.0
매개 변수(키, 값)
name 생성된 보안 규칙의 고유한 이름입니다. 이름이 같은 NSG에 다른 규칙이 이미 있는 경우 오류가 실패합니다. 문자 또는 숫자로 시작해야 합니다. 문자, 숫자 또는 밑줄로 끝나야 합니다. 문자, 숫자, 밑줄, 마침표 또는 하이픈만 포함할 수 있습니다.
프로토콜 보안 규칙에 대한 프로토콜입니다. Any, TCP, UDP 또는 ICMP여야 합니다.
sourceAddresses CIDR 형식 IP 주소의 JSON으로 구분된 배열을 나타내는 문자열입니다. 인바운드 규칙의 서비스 태그 이름(예: AppService)일 수도 있습니다. 모든 원본 IP가 일치하도록 별표 *를 사용할 수도 있습니다.
destinationAddresses CIDR 형식 IP 주소의 JSON으로 구분된 배열을 나타내는 문자열입니다. 아웃바운드 규칙의 서비스 태그 이름(예: AppService)일 수도 있습니다. 모든 대상 IP가 일치하도록 별표 *를 사용할 수도 있습니다.
작업 보안 그룹 액세스 유형입니다. 허용 또는 거부여야 합니다.
destinationPortRanges 80 또는 1024-65535와 같은 단일 포트 및/또는 포트 범위의 JSON으로 구분된 배열을 나타내는 문자열입니다.
sourcePortRanges 80 또는 1024-65535와 같은 단일 포트 및/또는 포트 범위의 JSON으로 구분된 배열을 나타내는 문자열입니다.
우선순위 NSG 내의 모든 보안 규칙에 대해 100-4096 사이의 고유한 값입니다. 우선 순위가 동일한 NSG에 다른 규칙이 이미 있는 경우 오류가 실패합니다.
direction 보안 규칙의 영향을 받는 트래픽의 방향입니다. 인바운드 또는 아웃바운드여야 합니다.

JSON 샘플

{ 
  "name": "branchOne", 
  "actions": [ 
    { 
      "type": "continuous", 
      "name": "urn:csci:microsoft:networkSecurityGroup:securityRule/1.0", 
      "parameters": [ 
          { 
              "key": "name", 
              "value": "Block_SingleHost_to_Networks" 

          }, 
          { 
              "key": "protocol", 
              "value": "Any" 
          }, 
          { 
              "key": "sourceAddresses", 
              "value": "[\"10.1.1.128/32\"]"
          }, 
          { 
              "key": "destinationAddresses", 
              "value": "[\"10.20.0.0/16\",\"10.30.0.0/16\"]"
          }, 
          { 
              "key": "access", 
              "value": "Deny" 
          }, 
          { 
              "key": "destinationPortRanges", 
              "value": "[\"80-8080\"]"
          }, 
          { 
              "key": "sourcePortRanges", 
              "value": "[\"*\"]"
          }, 
          { 
              "key": "priority", 
              "value": "100" 
          }, 
          { 
              "key": "direction", 
              "value": "Outbound" 
          } 
      ], 
      "duration": "PT10M", 
      "selectorid": "myResources" 
    } 
  ] 
} 

제한 사항

  • 오류는 기존 NSG에만 적용할 수 있습니다.
  • 트래픽을 거부하려는 NSG 규칙이 적용되는 경우 4분 동안 유휴 상태가 될 때까지 기존 연결이 끊어지지 않습니다. 한 가지 해결 방법은 NSG 오류가 적용될 때 기존 연결이 끊어지는 오류를 사용하는 동일한 단계에서 다른 분기를 추가하는 것입니다. 예를 들어 프로세스를 종료하거나, 서비스를 일시적으로 중지하거나, VM을 다시 시작하면 연결이 다시 설정됩니다.
  • 규칙은 작업의 시작 부분에 적용됩니다. 작업 기간 동안 규칙에 대한 외부 변경으로 인해 실험이 실패합니다.
  • 애플리케이션 보안 그룹 규칙을 만들거나 수정하는 것은 지원되지 않습니다.
  • 우선 순위 값은 대상으로 지정된 각 NSG에서 고유해야 합니다. 우선 순위 값이 다른 규칙과 동일한 새 규칙을 만들려고 하면 실험이 실패합니다.

Service Bus: 큐 상태 변경

속성
기능 이름 ChangeQueueState-1.0
대상 형식 Microsoft-ServiceBus
설명 Service Bus 네임스페이스 내의 큐 엔터티를 원하는 상태로 설정합니다. 특정 엔터티 이름에 영향을 주거나 “*”를 사용하여 모두에 영향을 줄 수 있습니다. 이 작업은 유지 관리 또는 오류 시나리오에 대해 메시징 인프라를 테스트하는 데 도움이 될 수 있습니다. 이 오류는 불연속 오류이므로 엔터티가 자동으로 시작 상태로 돌아가지 않습니다.
필수 조건 하나 이상의 큐 엔터티가 있는 Service Bus 네임스페이스입니다.
Urn urn:csci:microsoft:serviceBus:changeQueueState/1.0
오류 유형 불연속.
매개 변수(키, 값)
desiredState 대상 큐에 대해 원하는 상태입니다. 가능한 상태는 활성, 사용 안 함, SendDisabled 및 ReceiveDisabled입니다.
queues 대상 네임스페이스 내 큐 이름의 쉼표로 구분된 목록입니다. "*"를 사용하여 네임스페이스 내의 모든 큐에 영향을 줍니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:serviceBus:changeQueueState/1.0",
      "parameters":[
          {
            "key": "desiredState",
            "value": "Disabled"
          },
          {
            "key": "queues",
            "value": "samplequeue1,samplequeue2"
          }
      ],
      "selectorid": "myServiceBusSelector"
    }
  ]
}

제한 사항

  • 최대 1,000개의 큐 엔터티를 이 오류에 전달할 수 있습니다.

Service Bus: 구독 상태 변경

속성
기능 이름 ChangeSubscriptionState-1.0
대상 형식 Microsoft-ServiceBus
설명 Service Bus 네임스페이스 및 토픽 내의 구독 엔터티를 원하는 상태로 설정합니다. 특정 엔터티 이름에 영향을 주거나 “*”를 사용하여 모두에 영향을 줄 수 있습니다. 이 작업은 유지 관리 또는 오류 시나리오에 대해 메시징 인프라를 테스트하는 데 도움이 될 수 있습니다. 이 오류는 불연속 오류이므로 엔터티가 자동으로 시작 상태로 돌아가지 않습니다.
필수 조건 하나 이상의 구독 엔터티가 있는 Service Bus 네임스페이스입니다.
Urn urn:csci:microsoft:serviceBus:changeSubscriptionState/1.0
오류 유형 불연속.
매개 변수(키, 값)
desiredState 대상 구독에 대해 원하는 상태입니다. 가능한 상태는 활성 및 사용 안 함입니다.
토픽 영향을 미칠 하나 이상의 구독이 포함된 부모 항목입니다.
구독 대상 네임스페이스 내 구독 이름의 쉼표로 구분된 목록입니다. "*"를 사용하여 네임스페이스 내의 모든 구독에 영향을 줍니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:serviceBus:changeSubscriptionState/1.0",
      "parameters":[
          {
            "key": "desiredState",
            "value": "Disabled"
          },
          {
            "key": "topic",
            "value": "topic01"
          },
          {
            "key": "subscriptions",
            "value": "*"
          }
      ],
      "selectorid": "myServiceBusSelector"
    }
  ]
}

제한 사항

  • 최대 1,000개의 구독 엔터티를 이 오류에 전달할 수 있습니다.

Service Bus: 토픽 상태 변경

속성
기능 이름 ChangeTopicState-1.0
대상 형식 Microsoft-ServiceBus
설명 Service Bus 네임스페이스 내에서 지정한 토픽 엔터티를 원하는 상태로 설정합니다. 특정 엔터티 이름에 영향을 주거나 “*”를 사용하여 모두에 영향을 줄 수 있습니다. 이 작업은 유지 관리 또는 오류 시나리오에 대해 메시징 인프라를 테스트하는 데 도움이 될 수 있습니다. 이 오류는 불연속 오류이므로 엔터티가 자동으로 시작 상태로 돌아가지 않습니다.
필수 조건 하나 이상의 토픽 엔터티가 있는 Service Bus 네임스페이스입니다.
Urn urn:csci:microsoft:serviceBus:changeTopicState/1.0
오류 유형 불연속.
매개 변수(키, 값)
desiredState 대상 토픽에 대해 원하는 상태입니다. 가능한 상태는 활성 및 사용 안 함입니다.
topics 대상 네임스페이스 내 토픽 이름의 쉼표로 구분된 목록입니다. "*"를 사용하여 네임스페이스 내의 모든 토픽에 영향을 줍니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:serviceBus:changeTopicState/1.0",
      "parameters":[
          {
            "key": "desiredState",
            "value": "Disabled"
          },
          {
            "key": "topics",
            "value": "*"
          }
      ],
      "selectorid": "myServiceBusSelector"
    }
  ]
}

제한 사항

  • 최대 1,000개의 토픽 엔터티를 이 오류에 전달할 수 있습니다.

VM 재배포

속성
기능 이름 Redeploy-1.0
대상 형식 Microsoft-VirtualMachine
설명 VM을 종료하고, Azure 인프라의 새 노드로 이동하고, 전원을 다시 켜서 VM을 다시 배포합니다. 이렇게 하면 유지 관리 이벤트에 대한 워크로드의 복원력의 유효성을 검사할 수 있습니다.
필수 조건 없음.
Urn urn:csci:microsoft:virtualMachine:redeploy/1.0
오류 유형 불연속.
매개 변수(키, 값) 없음.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:virtualMachine:redeploy/1.0",
      "parameters":[],
      "selectorid": "myResources"
    }
  ]
}

제한 사항

  • Virtual Machine 재배포 작업은 10시간 간격 내로 제한됩니다. "너무 많은 재배포 요청" 오류로 인해 실험이 실패하는 경우 10시간 동안 기다렸다가 실험을 다시 시도하세요.

VM 종료

속성
기능 이름 Shutdown-1.0
대상 형식 Microsoft-VirtualMachine
지원되는 OS 유형 Windows, Linux.
설명 오류 기간 동안 VM을 종료합니다. 실험이 끝날 때 또는 실험이 취소된 경우 다시 시작합니다. Azure Resource Manager VM만 지원됩니다.
필수 조건 없음.
Urn urn:csci:microsoft:virtualMachine:shutdown/1.0
매개 변수(키, 값)
abruptShutdown (선택 사항) VM을 정상적으로 종료해야 하는지 또는 갑자기 종료(파괴적)해야 하는지를 나타내는 부울입니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:virtualMachine:shutdown/1.0",
      "parameters": [
        {
          "key": "abruptShutdown",
          "value": "false"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

VMSS 종료

이 오류에는 버전 1.0 및 버전 2.0의 두 가지 버전을 사용할 수 있습니다. 주된 차이점은 버전 2.0을 사용하면 가용성 영역별로 필터링하고 지정된 영역 내의 인스턴스만 종료할 수 있다는 것입니다.

VMSS 종료 버전 1.0

속성
기능 이름 버전 1.0
대상 형식 Microsoft-VirtualMachineScaleSet
지원되는 OS 유형 Windows, Linux.
설명 오류 중에 가상 머신 확장 집합 인스턴스를 종료하거나 끝내고, 오류 기간이 끝나거나 실험이 취소된 경우 VM을 다시 시작합니다.
필수 조건 없음.
Urn urn:csci:microsoft:virtualMachineScaleSet:shutdown/1.0
매개 변수(키, 값)
abruptShutdown (선택 사항) 가상 머신 확장 집합 인스턴스를 정상적으로 또는 갑자기 종료해야 하는지(파괴적) 여부를 나타내는 부울입니다.
인스턴스 오류가 적용되는 가상 머신 확장 집합 인스턴스 ID의 구분된 배열인 문자열입니다.
버전 1.0 샘플 JSON
{
  "name": "branchOne",
  "actions": [
    {
      "type": "continuous",
      "name": "urn:csci:microsoft:virtualMachineScaleSet:shutdown/1.0",
      "parameters": [
        {
          "key": "abruptShutdown",
          "value": "true"
        },
        {
          "key": "instances",
          "value": "[\"1\",\"3\"]"
        }
      ],
      "duration": "PT10M",
      "selectorid": "myResources"
    }
  ]
}

VMSS 종료 버전 2.0

속성
기능 이름 Shutdown-2.0
대상 형식 Microsoft-VirtualMachineScaleSet
지원되는 OS 유형 Windows, Linux.
설명 오류가 발생하는 동안 가상 머신 확장 집합 인스턴스를 종료하거나 끝냅니다. 오류 기간이 끝날 때 또는 실험이 취소된 경우 VM을 다시 시작합니다. 동적 대상 지정을 지원합니다.
필수 조건 없음.
Urn urn:csci:microsoft:virtualMachineScaleSet:shutdown/2.0
filter (선택 사항) 버전 2.0부터 사용할 수 있습니다. 선택기에서 대상 목록을 필터링하는 데 사용됩니다. 현재 영역 목록에서 필터링을 지원합니다. 필터는 영역 내의 가상 머신 확장 집합 리소스에만 적용됩니다.
  • 필터를 지정하지 않으면 이 오류로 인해 가상 머신 확장 집합의 모든 인스턴스가 종료됩니다.
  • 실험은 지정된 영역의 모든 가상 머신 확장 집합 인스턴스를 대상으로 합니다.
  • 필터로 인해 대상이 없으면 실험이 실패합니다.
매개 변수(키, 값)
abruptShutdown (선택 사항) 가상 머신 확장 집합 인스턴스를 정상적으로 또는 갑자기 종료해야 하는지(파괴적) 여부를 나타내는 부울입니다.
버전 2.0 샘플 JSON 코드 조각

다음 코드 조각에서는 동적 필터링과 종료 2.0 오류를 모두 구성하는 방법을 보여 줍니다.

동적 대상 지정을 위한 필터를 구성합니다.

{
  "type": "List",
  "id": "myResources",
  "targets": [
    {
      "id": "<targetResourceId>",
      "type": "ChaosTarget"
    }
  ],
  "filter": {
    "type": "Simple",
    "parameters": {
      "zones": [
        "1"
      ]
    }
  }
}

종료 오류를 구성합니다.

{
  "name": "branchOne",
  "actions": [
    {
      "name": "urn:csci:microsoft:virtualMachineScaleSet:shutdown/2.0",
      "type": "continuous",
      "selectorId": "myResources",
      "duration": "PT10M",
      "parameters": [
        {
          "key": "abruptShutdown",
          "value": "false"
        }
      ]
    }
  ]
}

제한 사항

현재 Uniform 오케스트레이션 모드로 구성된 가상 머신 확장 집합만 지원됩니다. 가상 머신 확장 집합이 유연한 오케스트레이션을 사용하는 경우 Azure Resource Manager 가상 머신 종료 오류를 사용하여 선택한 인스턴스를 종료할 수 있습니다.

세부 정보: 오케스트레이션 작업

Delay

속성
오류 공급자 해당 없음
지원되는 OS 유형 해당 없음
설명 다른 실험 작업 전, 사이 또는 이후의 시간 지연을 추가합니다. 이 작업은 오류가 아니며 실험 내에서 작업을 동기화하는 데 사용됩니다. 이 작업을 사용하여 오류의 영향이 서비스에 나타날 때까지 기다리거나 실험 외부의 활동이 완료되기를 기다립니다. 예를 들어, 실험에서는 다른 결함을 삽입하기 전에 자동 복구가 발생할 때까지 기다릴 수 있습니다.
필수 조건 해당 없음
Urn urn:csci:microsoft:chaosStudio:timedDelay/1.0
기간 ISO 8601 형식의 지연 기간(예: PT10M).

JSON 샘플

{
  "name": "branchOne",
  "actions": [ 
    {
      "type": "delay",
      "name": "urn:csci:microsoft:chaosStudio:timedDelay/1.0",
      "duration": "PT10M"
    }
  ] 
}

부하 테스트 시작(Azure Load Testing)

속성
기능 이름 Start-1.0
대상 형식 Microsoft-AzureLoadTest
설명 제공된 부하 테스트 ID를 기반으로 부하 테스트(Azure Load Testing에서)를 시작합니다.
필수 조건 유효한 부하 테스트 ID가 있는 부하 테스트는 Azure Load Testing 서비스에서 만들어야 합니다.
Urn urn:csci:microsoft:azureLoadTest:start/1.0
오류 유형 불연속.
매개 변수(키, 값)
testID Azure Load Testing 서비스에서 만든 특정 부하 테스트의 ID입니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:azureLoadTest:start/1.0",
      "parameters": [
        {
            "key": "testID",
            "value": "0"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}

부하 테스트 중지(Azure Load Testing)

속성
기능 이름 Stop-1.0
대상 형식 Microsoft-AzureLoadTest
설명 제공된 부하 테스트 ID를 기반으로 부하 테스트(Azure Load Testing에서)를 중지합니다.
필수 조건 유효한 부하 테스트 ID가 있는 부하 테스트는 Azure Load Testing 서비스에서 만들어야 합니다.
Urn urn:csci:microsoft:azureLoadTest:stop/1.0
오류 유형 불연속.
매개 변수(키, 값)
testID Azure Load Testing 서비스에서 만든 특정 부하 테스트의 ID입니다.

JSON 샘플

{
  "name": "branchOne",
  "actions": [
    {
      "type": "discrete",
      "name": "urn:csci:microsoft:azureLoadTest:stop/1.0",
      "parameters": [
        {
            "key": "testID",
            "value": "0"
        }
    ],
      "selectorid": "myResources"
    }
  ]
}