Azure Chaos Studio에서 실험을 위한 ARM 템플릿 샘플
이 문서에는 Azure Chaos Studio에서 카오스 실험을 만들기 위한 샘플 ARM 템플릿(Azure Resource Manager 템플릿)이 포함되어 있습니다. 각 샘플에는 템플릿 파일과 템플릿에 제공할 샘플 값이 포함된 매개 변수 파일이 포함되어 있습니다.
실험 만들기(샘플)
이 샘플에서는 단일 대상 리소스와 단일 CPU의 과도한 사용 오류가 있는 카오스 실험을 만듭니다. REST API 및 오류 라이브러리를 참조하여 실험을 수정할 수 있습니다.
템플릿 배포
템플릿과 매개 변수 파일을 검토한 후 ARM 템플릿과 Azure Portal을 사용하여 리소스 배포 문서를 통해 이를 Azure 구독에 배포하는 방법을 알아봅니다.
템플릿 파일
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"experimentName": {
"type": "string",
"defaultValue": "simple-experiment",
"metadata": {
"description": "A name for the experiment."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "A region where the experiment will be deployed."
}
},
"chaosTargetResourceId": {
"type": "string",
"metadata": {
"description": "Resource ID of the chaos target. This is the full resource ID of the resource being targeted plus the target proxy resource."
}
}
},
"functions": [],
"variables": {},
"resources": [
{
"type": "Microsoft.Chaos/experiments",
"apiVersion": "2024-01-01",
"name": "[parameters('experimentName')]",
"location": "[parameters('location')]",
"identity": {
"type": "SystemAssigned"
},
"properties": {
"selectors": [
{
"id": "Selector1",
"type": "List",
"targets": [
{
"type": "ChaosTarget",
"id": "[parameters('chaosTargetResourceId')]"
}
]
}
],
"steps": [
{
"name": "Step1",
"branches": [
{
"name": "Branch1",
"actions": [
{
"duration": "PT10M",
"name": "urn:csci:microsoft:agent:cpuPressure/1.0",
"parameters": [
{
"key": "pressureLevel",
"value": "95"
}
],
"selectorId": "Selector1",
"type": "continuous"
}
]
}
]
}
]
}
}
],
"outputs": {}
}
매개 변수 파일
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"experimentName": {
"value": "my-first-experiment"
},
"location": {
"value": "eastus"
},
"chaosTargetResourceId": {
"value": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.DocumentDB/databaseAccounts/<account-name>/providers/Microsoft.Chaos/targets/microsoft-cosmosdb"
}
}
}