Sdílet prostřednictvím


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.0napří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.parametersSchemaodkazuje:

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: