Cíle a možnosti v nástroji Azure Chaos Studio
Než budete moct vkládat chybu proti prostředku Azure, musí mít prostředek nejprve povolené odpovídající cíle a možnosti. Cíle a možnosti řídí, které prostředky jsou povolené pro injektáž chyb a které chyby se můžou s těmito prostředky spouštět.
Pomocí cílů a možností spolu s dalšími bezpečnostními opatřeními se můžete vyhnout náhodnému nebo škodlivému injektáži chyb pomocí nástroje Azure Chaos Studio. Například s cíli a možnostmi můžete umožnit spuštění chyby tlaku procesoru proti produkčním virtuálním počítačům a zároveň zabránit spuštění chyby procesu ukončení.
Cíle
Cíl chaosu umožňuje aplikaci Chaos Studio pracovat s prostředkem pro konkrétní cílový typ. Cílový typ představuje metodu vkládání chyb do prostředku. Typy prostředků, které podporují pouze chyby přímé služby, mají jeden cílový typ. Příkladem je Microsoft-CosmosDB
typ služby Azure Cosmos DB.
Typy prostředků, které podporují chyby založené na službách a agentech, mají dva cílové typy. Jedním cílovým typem jsou chyby přímé služby (například Microsoft-VirtualMachine
). Druhým cílovým typem jsou chyby založené na agentech (vždy Microsoft-Agent
).
Cílem je prostředek rozšíření vytvořený jako podřízený prostředek prostředku, který je onboardovaný do Chaos Studia. Příkladem je virtuální počítač nebo skupina zabezpečení sítě. Cíl definuje cílový typ, který je u prostředku povolený. Pokud například nasazujete instanci služby Azure Cosmos DB s tímto ID prostředku:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/chaosstudiodemo/providers/Microsoft.DocumentDB/databaseAccounts/myDB
Prostředek Azure Cosmos DB má podřízený prostředek formátovaný jako v tomto příkladu:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/chaosstudiodemo/providers/Microsoft.DocumentDB/databaseAccounts/myDB/providers/Microsoft.Chaos/targets/Microsoft-CosmosDB
Pro injektáž chyb v aplikaci Chaos Studio se dají cílit pouze prostředky s cílem vytvořeným z nich.
Možnosti
Funkce umožňuje nástroji Chaos Studio spouštět konkrétní chybu proti prostředku, jako je například vypnutí virtuálního počítače. Možnosti jsou jedinečné pro každý cílový typ. Představují chybu, kterou umožňují, CPUPressure-1.0
například . Informace o všech dostupných chybách a jejich odpovídajících názvech schopností a cílových typech najdete v knihovně chyb chaos studia.
Schopností je prostředek rozšíření vytvořený jako podřízený cíl. Pokud například povolíte chybu vypnutí na virtuálním počítači s ID cíle s přímým přístupem služby:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine
Cílový prostředek má podřízený prostředek formátovaný jako v tomto příkladu:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/shutdown-1.0
Experiment může do nasazených cílů vkládat pouze chyby s povolenými odpovídajícími možnostmi.
Výpis názvů a parametrů funkcí
Pro referenci je v naší knihovně chyb k dispozici seznam názvů schopností, adres URL selhání a parametrů. Pomocí odpovědi HTTP můžete vytvořit funkci nebo získat tyto informace na vyžádání pomocí funkce GET. Pokud například chcete provést get na funkci vypnutí virtuálního počítače:
az rest --method get --url "https://management.azure.com/subscriptions/fd9ccc83-faf6-4121-9aff-2a2d685ca2a2/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/shutdown-1.0?api-version=2023-11-01"
Vrátí následující kód JSON:
{
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/myRG/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/shutdown-1.0",
"name": "shutdown-1.0",
"properties": {
"description": null,
"name": "shutdown-1.0",
"parametersSchema": "https://schema-tc.eastus.chaos-prod.azure.com/targetTypes/Microsoft-VirtualMachine/capabilityTypes/Shutdown-1.0/parametersSchema.json",
"publisher": "Microsoft",
"targetType": "VirtualMachine",
"type": "shutdown",
"urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0",
"version": "1.0"
},
"resourceGroup": "myRG",
"systemData": {
"createdAt": "2021-09-15T23:00:00.826575+00:00",
"lastModifiedAt": "2021-09-15T23:00:00.826575+00:00"
},
"type": "Microsoft.Chaos/targets/capabilities"
}
Vlastnost properties.urn
slouží k definování chyby, kterou chcete spustit v experimentu chaosu. Pokud chcete porozumět schématu parametrů této chyby, můžete získat schéma, na které properties.parametersSchema
odkazuje:
az rest --method get --url "https://schema-tc.eastus.chaos-prod.azure.com/targetTypes/Microsoft-VirtualMachine/capabilityTypes/Shutdown-1.0/parametersSchema.json"
Vrátí následující kód JSON:
{
"$schema": "https://json-schema.org/draft-07/schema",
"properties": {
"abruptShutdown": {
"type": "boolean"
},
"restartWhenComplete": {
"type": "boolean"
}
},
"type": "object"
}
Další kroky
Teď, když rozumíte cílům a možnostem, jste připraveni: