Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Voordat u een fout kunt injecteren tegen een Azure-resource, moeten de bijbehorende doelen en mogelijkheden zijn ingeschakeld. Doelen en mogelijkheden bepalen welke resources geconfigureerd zijn voor foutinjectie en welke fouten op deze resources kunnen worden uitgevoerd.
Door doelen en mogelijkheden samen met andere beveiligingsmaatregelen te gebruiken, kunt u onbedoelde of schadelijke foutinjectie voorkomen met Azure Chaos Studio. ** Met doelen en mogelijkheden kunt u bijvoorbeeld toestaan dat de CPU-drukfoutmelding op uw virtuele machines in de productieomgeving draait, terwijl u voorkomt dat de kill-procesfout daartegen wordt uitgevoerd.
Doelen
Met een chaosdoel kan Chaos Studio communiceren met een resource voor een bepaald doeltype. Een doeltype vertegenwoordigt de methode voor het injecteren van fouten op een resource. Resourcetypen die alleen service-directe fouten ondersteunen, hebben één doeltype. Een voorbeeld is het Microsoft-CosmosDB
type voor Azure Cosmos DB.
Resourcetypen die service-directe en op agents gebaseerde fouten ondersteunen, hebben twee doeltypen. Eén doeltype is voor service-directe fouten (bijvoorbeeld Microsoft-VirtualMachine
). Het andere doeltype is voor agentgebaseerde fouten (altijd Microsoft-Agent
).
Een doelwit is een extensieresource die is gemaakt als een kind van de resource die wordt aangemeld in Chaos Studio. Voorbeelden zijn een virtuele machine of een netwerkbeveiligingsgroep. Een doel definieert het doeltype dat is ingeschakeld voor de resource. Als u bijvoorbeeld een Azure Cosmos DB-exemplaar onboardt met deze resource-id:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/chaosstudiodemo/providers/Microsoft.DocumentDB/databaseAccounts/myDB
De Azure Cosmos DB-resource heeft een onderliggende resource waarvan de opmaak vergelijkbaar is met dit voorbeeld:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/chaosstudiodemo/providers/Microsoft.DocumentDB/databaseAccounts/myDB/providers/Microsoft.Chaos/targets/Microsoft-CosmosDB
Alleen resources met een doel dat uit hen is voortgekomen, kunnen worden gebruikt voor foutinjectie met Chaos Studio.
Mogelijkheden
Met een mogelijkheid kan Chaos Studio een bepaalde fout uitvoeren op een resource, zoals het afsluiten van een virtuele machine. Mogelijkheden zijn uniek per doeltype. Ze vertegenwoordigen de fout die ze mogelijk maken, bijvoorbeeld CPUPressure-1.0
. Zie de Chaos Studio-foutbibliotheek voor informatie over alle beschikbare fouten en de bijbehorende mogelijkheidsnamen en doeltypen.
Een functie is een extensieresource die is gemaakt als een onderliggend element van een doelobject. Als u bijvoorbeeld de afsluitfout inschakelt op een virtuele machine met een service-direct doel-id:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine
De doelresource heeft een onderliggende resource die is opgemaakt zoals in dit voorbeeld:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/shutdown-1.0
Een experiment kan alleen fouten op onboarded doelen injecteren met de bijbehorende mogelijkheden ingeschakeld.
Lijst met capaciteitsnamen en parameters
Als referentie is er een lijst beschikbaar van functienamen, fout-URN's en parameters in onze foutbibliotheek. U kunt het HTTP-antwoord gebruiken om een mogelijkheid te maken of een GET uitvoeren op een bestaande mogelijkheid om deze informatie op aanvraag op te halen. Om een GET-verzoek uit te voeren op de uitschakelmogelijkheid van een VM:
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"
Retourneert de volgende 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"
}
De properties.urn
eigenschap wordt gebruikt om de fout te definiëren die u wilt uitvoeren in een chaos-experiment. Als u het schema voor de parameters van deze fout wilt begrijpen, kunt u het schema ophalen waarnaar wordt verwezen door properties.parametersSchema
:
az rest --method get --url "https://schema-tc.eastus.chaos-prod.azure.com/targetTypes/Microsoft-VirtualMachine/capabilityTypes/Shutdown-1.0/parametersSchema.json"
Retourneert de volgende JSON:
{
"$schema": "https://json-schema.org/draft-07/schema",
"properties": {
"abruptShutdown": {
"type": "boolean"
},
"restartWhenComplete": {
"type": "boolean"
}
},
"type": "object"
}
Volgende stappen
Nu u begrijpt wat doelen en mogelijkheden zijn, kunt u het volgende doen: