Azure Chaos Studio 오류 및 작업 라이브러리
이 문서에서는 Chaos Studio에서 사용할 수 있는 오류를 해당 리소스 종류별로 정리하여 나열합니다. 각 리소스 종류에 대해 권장되는 역할 할당을 이해하려면 Azure Chaos Studio에 지원되는 리소스 종류 및 역할 할당을 참조하세요.
에이전트 기반 오류
에이전트 기반 오류는 Chaos Studio 에이전트를 설치하여 Azure Virtual Machines 또는 Virtual Machine Scale Set 인스턴스에 삽입됩니다. Virtual Machine 및 Virtual Machine Scale Set 테이블에서 아래의 리소스에 대한 서비스 직접 오류 옵션을 찾습니다.
적용 가능한 OS 유형 | 오류 이름 | 적용 가능한 시나리오 |
---|---|---|
Windows, Linux | CPU 압력 | 컴퓨팅 용량 손실, 리소스 압력 |
Windows, Linux | 프로세스 종료 | 종속성 중단 |
Windows | 일시 중지 프로세스 | 종속성 중단, 서비스 중단 |
Windows1, Linux2 | 네트워크 연결 끊기 | 네트워크 중단 |
Windows1, Linux2 | 네트워크 대기 시간 | 네트워크 성능 저하 |
Windows1, Linux2 | 네트워크 패킷 손실 | 네트워크 안정성 문제 |
Windows, Linux2 | 네트워크 격리 | 네트워크 중단 |
Windows | DNS 오류 | DNS 확인 문제 |
Windows | 방화벽을 통한 네트워크 연결 끊기 | 네트워크 중단 |
Windows, Linux | 실제 메모리 압력 | 메모리 용량 손실, 리소스 압력 |
Windows, Linux | 서비스 중지 | 서비스 중단/다시 시작 |
Windows | 시간 변경 | 시간 동기화 문제 |
Windows | 가상 메모리 압력 | 메모리 용량 손실, 리소스 압력 |
Linux | 임의 stress-ng 스트레스 요인 | 일반 시스템 스트레스 테스트 |
Linux | Linux DiskIO 압력 | 디스크 I/O 성능 저하 |
Windows | DiskIO 압력 | 디스크 I/O 성능 저하 |
1 TCP/UDP 패킷만 해당됩니다. 2 아웃바운드 네트워크 트래픽만 해당됩니다.
App Service
이 섹션은 Microsoft.Web/sites
리소스 종류에 적용됩니다. App Service에 대해 자세히 알아보세요.
오류 이름 | 적용 가능한 시나리오 |
---|---|
App Service 중지 | 서비스 중단 |
자동 크기 조정 설정
이 섹션은 Microsoft.Insights/autoscaleSettings
리소스 종류에 적용됩니다. 자동 크기 조정 설정에 대해 자세히 알아봅니다.
오류 이름 | 적용 가능한 시나리오 |
---|---|
자동 크기 조정 사용 안 함 | 컴퓨팅 용량 손실(Virtual Machine Scale Set 종료와 함께 사용되는 경우) |
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에 대해 자세히 알아봅니다
오류 이름 | 적용 가능한 시나리오 |
---|---|
Virtual Machine 확장 집합 종료 | 컴퓨팅 손실/중단 |
가상 머신 확장 집합 종료(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에 대해 자세히 알아봅니다. |
destinationFilters 및 inboundDestinationFilters 매개 변수는 다음 패킷 필터 배열을 사용합니다.
속성 | 값 |
---|---|
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 패킷에서만 작동합니다.
- Linux에서 실행할 때 이 오류는 인바운드 트래픽이 아닌 아웃바운드 트래픽에만 영향을 미칠 수 있습니다. 이 오류는 Windows 환경의 인바운드 및 아웃바운드 트래픽 모두에 영향을 줄 수 있습니다(
inboundDestinationFilters
및destinationFilters
매개 변수를 통해).
방화벽을 통한 네트워크 연결 끊기
속성 | 값 |
---|---|
기능 이름 | 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에 대해 자세히 알아봅니다. |
destinationFilters 및 inboundDestinationFilters 매개 변수는 다음 패킷 필터 배열을 사용합니다.
속성 | 값 |
---|---|
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 환경의 인바운드 및 아웃바운드 트래픽 모두에 영향을 줄 수 있습니다(
inboundDestinationFilters
및destinationFilters
매개 변수를 통해). - 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 패킷에서만 작동합니다.
- Linux에서 실행할 때 이 오류는 인바운드 트래픽이 아닌 아웃바운드 트래픽에만 영향을 미칠 수 있습니다. 이 오류는 Windows 환경의 인바운드 및 아웃바운드 트래픽 모두에 영향을 줄 수 있습니다(
inboundDestinationFilters
및destinationFilters
매개 변수를 통해). - 이 오류는 현재 새 연결에만 영향을 줍니다. 기존 활성 연결은 영향을 받지 않습니다. 서비스 또는 프로세스를 다시 시작하여 연결을 강제로 끊을 수 있습니다.
네트워크 격리
속성 | 값 |
---|---|
기능 이름 | NetworkIsolation-1.0 |
대상 형식 | Microsoft-Agent |
지원되는 OS 유형 | Windows, Linux(아웃바운드만 해당) |
설명 | 지정된 기간 동안 모든 IP 기반 인바운드(Windows) 및 아웃바운드(Windows 및 Linux) 패킷을 삭제하여 네트워크 연결에서 가상 머신을 완전히 격리합니다. 기간이 끝나면 네트워크 연결이 다시 사용하도록 설정됩니다. 에이전트는 네트워크 트래픽에 따라 달라지므로 이 작업을 취소할 수 없으며 지정된 기간까지 실행됩니다. |
필수 조건 | Windows: 에이전트는 관리자로 실행되어야 하며, VM 확장으로 설치된 경우에는 기본적으로 실행됩니다. |
Linux: tc (트래픽 제어) 패키지는 네트워크 오류에 사용됩니다. 아직 설치되지 않은 경우 에이전트는 자동으로 기본 패키지 관리자에서 설치를 시도합니다. |
|
Urn | urn:csci:microsoft:agent:networkIsolation/1.0 |
오류 유형 | 연속. |
매개 변수(키, 값) | |
virtualMachineScaleSetInstances | 가상 머신 확장 집합에 이 오류를 적용할 때 인스턴스 ID의 배열입니다. 균일한 오케스트레이션 모드의 가상 머신 확장 집합에 필요하고, 그렇지 않으면 선택 사항입니다. 인스턴스 ID에 대해 자세히 알아봅니다. |
JSON 샘플
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:networkIsolation/1.0",
"parameters": [],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
제한 사항
- 에이전트는 네트워크 트래픽 에 따라 달라지므로 이 작업을 취소 할 수 없으며 지정된 기간까지 실행됩니다. 주의해서 사용하세요.
- 이 오류는 현재 새 연결에만 영향을 줍니다. 기존 활성 연결은 영향을 받지 않습니다. 서비스 또는 프로세스를 다시 시작하여 연결을 강제로 끊을 수 있습니다.
- Linux에서 실행할 때 이 오류는 인바운드 트래픽이 아닌 아웃바운드 트래픽에만 영향을 미칠 수 있습니다. 이 결함은 Windows 환경의 인바운드 및 아웃바운드 트래픽 모두에 영향을 미칠 수 있습니다.
DNS 오류
속성 | 값 |
---|---|
기능 이름 | DnsFailure-1.0 |
대상 형식 | Microsoft-Agent |
지원되는 OS 유형 | Windows |
설명 | DNS 조회 요청 응답을 지정된 오류 코드로 대체합니다. 대체될 DNS 조회 요청은 다음을 수행해야 합니다.
|
필수 조건 | 없음. |
Urn | urn:csci:microsoft:agent:dnsFailure/1.0 |
오류 유형 | 연속. |
매개 변수(키, 값) | |
호스트 | DNS 조회 요청에 실패하도록 호스트 이름의 구분된 JSON 배열입니다. 이 속성은 와일드카드( * )를 허용하지만 주소의 첫 번째 하위 도메인에 대해서만 허용되며 지정된 하위 도메인에만 적용됩니다. 예시:
|
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에서 95 사이의 정수입니다. |
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에서 95 사이의 정수입니다. |
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에서 95 사이의 정수입니다. |
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"
}
]
}
프로세스 일시 중지
속성 | 값 |
---|---|
기능 이름 | PauseProcess-1.0 |
대상 형식 | Microsoft-Agent |
지원되는 OS 유형 | Windows |
설명 | 지정된 기간 동안 지정된 프로세스를 일시 중지(일시 중단)합니다. 동일한 이름을 가진 프로세스가 여러 개 있는 경우 이 결함으로 인해 해당 프로세스가 모두 일시 중단됩니다. 오류 기간 동안 프로세스는 지정된 간격으로 반복적으로 일시 중지됩니다. 기간이 종료되거나 실험이 취소되면 프로세스가 다시 시작됩니다. |
필수 조건 | 없음. |
Urn | urn:csci:microsoft:agent:pauseProcess/1.0 |
오류 유형 | 연속. |
매개 변수(키, 값) | |
processNames | 일시 중지할 프로세스를 정의하는 프로세스 이름으로 구분된 JSON 배열입니다. 최대 4개입니다. 프로세스 이름에는 선택적으로 ".exe" 확장명이 포함될 수 있습니다. |
pauseIntervalInMilliseconds | 연속적인 일시 중지 시도 사이에 결함이 대기하는 시간(밀리초)입니다. |
virtualMachineScaleSetInstances | 가상 머신 확장 집합에 이 오류를 적용할 때 인스턴스 ID의 배열입니다. 균일한 오케스트레이션 모드의 가상 머신 확장 집합에 필요합니다. 인스턴스 ID에 대해 자세히 알아봅니다. |
JSON 샘플
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:pauseProcess/1.0",
"parameters": [
{
"key": "processNames",
"value": "[ \"test-0\", \"test-1.exe\" ]"
},
{
"key": "pauseIntervalInMilliseconds",
"value": "1000"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
제한 사항
현재 processNames 매개 변수에는 최대 4개의 프로세스 이름이 나열될 수 있습니다.
시간 변경
속성 | 값 |
---|---|
기능 이름 | 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"
}
]
}
자동 크기 조정 사용 안 함
속성 | 값 |
---|---|
기능 이름 | DisableAutoscale |
대상 형식 | 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.2 |
대상 형식 | Microsoft-AzureKubernetesServiceChaosMesh |
지원되는 노드 풀 OS 유형 | Linux |
설명 | Chaos Mesh를 통해 사용할 수 있는 네트워크 오류가 AKS(Azure Kubernetes Service) 클러스터에 대해 실행되도록 합니다. 네트워크 중단, 지연, 중복, 손실, 손상으로 인해 발생하는 AKS 인시던트 재현에 유용합니다. |
필수 조건 | AKS 클러스터에는 Chaos Mesh가 배포되어 있어야 합니다. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.2 |
매개 변수(키, 값) | |
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.2",
"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.2 |
대상 형식 | Microsoft-AzureKubernetesServiceChaosMesh |
지원되는 노드 풀 OS 유형 | Linux |
설명 | Chaos Mesh를 통해 사용할 수 있는 Pod 오류가 AKS 클러스터에 대해 실행되도록 합니다. Pod 오류 또는 컨테이너 문제의 결과인 AKS 인시던트 재현에 유용합니다. |
필수 조건 | AKS 클러스터에는 Chaos Mesh가 배포되어 있어야 합니다. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:podChaos/2.2 |
매개 변수(키, 값) | |
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.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"action\":\"pod-failure\",\"mode\":\"all\",\"selector\":{\"namespaces\":[\"default\"]}}"
}
],
"selectorid": "myResources"
}
]
}
AKS Chaos Mesh 스트레스 카오스
속성 | 값 |
---|---|
기능 이름 | StressChaos-2.2 |
대상 형식 | Microsoft-AzureKubernetesServiceChaosMesh |
지원되는 노드 풀 OS 유형 | Linux |
설명 | Chaos Mesh를 통해 사용할 수 있는 스트레스 오류가 AKS 클러스터에 대해 실행되도록 합니다. Pod 컬렉션에 대한 스트레스로 인한(예: 높은 CPU 또는 메모리 사용량으로 인해) AKS 인시던트 재현에 유용합니다. |
필수 조건 | AKS 클러스터에는 Chaos Mesh가 배포되어 있어야 합니다. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:stressChaos/2.2 |
매개 변수(키, 값) | |
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.2",
"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.2 |
대상 형식 | Microsoft-AzureKubernetesServiceChaosMesh |
지원되는 노드 풀 OS 유형 | Linux |
설명 | Chaos Mesh를 통해 사용할 수 있는 IO 오류가 AKS 클러스터에 대해 실행되도록 합니다. open , read , write 와 같은 IO 시스템 호출을 사용할 때 IO 지연 및 읽기/쓰기 오류로 인한 AKS 인시던트 재현에 유용합니다. |
필수 조건 | AKS 클러스터에는 Chaos Mesh가 배포되어 있어야 합니다. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:IOChaos/2.2 |
매개 변수(키, 값) | |
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.2",
"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.2 |
대상 형식 | Microsoft-AzureKubernetesServiceChaosMesh |
지원되는 노드 풀 OS 유형 | Linux |
설명 | Chaos Mesh를 사용하여 AKS 클러스터의 시스템 클록을 변경합니다. 분산 시스템이 동기화되지 않음, 누락/잘못된 윤년/윤초 논리 등으로 인해 발생하는 AKS 인시던트 재현에 유용합니다. |
필수 조건 | AKS 클러스터에는 Chaos Mesh가 배포되어 있어야 합니다. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:timeChaos/2.2 |
매개 변수(키, 값) | |
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.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"timeOffset\":\"-10m100ns\"}"
}
],
"selectorid": "myResources"
}
]
}
AKS Chaos Mesh 커널 카오스
속성 | 값 |
---|---|
기능 이름 | KernelChaos-2.2 |
대상 형식 | Microsoft-AzureKubernetesServiceChaosMesh |
지원되는 노드 풀 OS 유형 | Linux |
설명 | Chaos Mesh를 통해 사용할 수 있는 커널 오류가 AKS 클러스터에 대해 실행되도록 합니다. 탑재 실패 또는 메모리가 할당되지 않는 것과 같은 Linux 커널 수준 오류로 인한 AKS 인시던트 재현에 유용합니다. |
필수 조건 | AKS 클러스터에는 Chaos Mesh가 배포되어 있어야 합니다. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:kernelChaos/2.2 |
매개 변수(키, 값) | |
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.2",
"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.2 |
대상 형식 | Microsoft-AzureKubernetesServiceChaosMesh |
지원되는 노드 풀 OS 유형 | Linux |
설명 | Chaos Mesh를 통해 사용할 수 있는 HTTP 오류가 AKS 클러스터에 대해 실행되도록 합니다. HTTP 요청 및 응답 처리 오류(예: 지연되거나 잘못된 응답)로 인한 인시던트 재현에 유용합니다. |
필수 조건 | AKS 클러스터에는 Chaos Mesh가 배포되어 있어야 합니다. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:httpChaos/2.2 |
매개 변수(키, 값) | |
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.2",
"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.2 |
대상 형식 | Microsoft-AzureKubernetesServiceChaosMesh |
지원되는 노드 풀 OS 유형 | Linux |
설명 | Chaos Mesh를 통해 사용할 수 있는 DNS 오류가 AKS 클러스터에 대해 실행되도록 합니다. DNS 오류로 인한 인시던트 재현에 유용합니다. |
필수 조건 | AKS 클러스터에는 Chaos Mesh가 배포되어 있어야 하며 DNS 서비스를 설치해야 합니다. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:dnsChaos/2.2 |
매개 변수(키, 값) | |
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.2",
"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, SecurityRule-1.1 |
대상 형식 | Microsoft-NetworkSecurityGroup |
설명 | 규칙 정의가 보안 그룹 전체에 적용 가능하다고 가정하여 기존 Azure NSG(네트워크 보안 그룹) 또는 Azure NSG 세트에서 조작 또는 규칙 생성을 사용하도록 설정합니다. 유용한 대상:
|
필수 조건 | 없음. |
Urn | urn:csci:microsoft:networkSecurityGroup:securityRule/1.0, urn:csci:microsoft:networkSecurityGroup:securityRule/1.1 |
오류 유형 | 연속. |
매개 변수(키, 값) | |
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에서 고유해야 합니다. 우선 순위 값이 다른 규칙과 동일한 새 규칙을 만들려고 하면 실험이 실패합니다.
- NSG 보안 규칙 버전 1.1 오류는 추가
flushConnection
매개 변수를 지원합니다. 이 기능에는 알려진 활성 문제가 있습니다.flushConnection
이 사용하도록 설정되면 오류로 인해 "FlushingNetworkSecurityGroupConnectionIsNotEnabled" 오류가 발생할 수 있습니다. 이 오류를 일시적으로 방지하려면flushConnection
매개 변수를 사용하지 않도록 설정하거나 NSG 보안 규칙 버전 1.0 오류를 사용합니다.
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시간 동안 기다렸다가 실험을 다시 시도하세요.
Virtual Machine 종료
속성 | 값 |
---|---|
기능 이름 | 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"
}
]
}
Virtual Machine 확장 집합 종료
이 오류에는 버전 1.0 및 버전 2.0의 두 가지 버전을 사용할 수 있습니다. 주된 차이점은 버전 2.0을 사용하면 가용성 영역별로 필터링하고 지정된 영역 내의 인스턴스만 종료할 수 있다는 것입니다.
Virtual Machine Scale Set 종료 버전 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"
}
]
}
Virtual Machine Scale Set 종료 버전 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"
}
]
}