Célok és képességek az Azure Chaos Studióban
Ahhoz, hogy hibát injektálhasson egy Azure-erőforrásba, az erőforrásnak engedélyeznie kell a megfelelő célokat és képességeket. A célok és képességek szabályozzák, hogy mely erőforrások engedélyezve vannak a hibainjektáláshoz, és mely hibák futhatnak ezeken az erőforrásokon.
A célok és képességek más biztonsági intézkedésekkel együtt történő használatával elkerülheti a véletlen vagy rosszindulatú hibainjektálást az Azure Chaos Studióval. A célokkal és képességekkel például engedélyezheti, hogy a cpu nyomáshibája futhasson az éles virtuális gépeken, miközben megakadályozza, hogy a törlési folyamat hibája fusson ellenük.
Targets
A káoszcél lehetővé teszi, hogy a Chaos Studio egy adott céltípushoz tartozó erőforrással működjön együtt. A céltípus az erőforrás hibáinak injektálásának módszerét jelöli. Az olyan erőforrástípusok, amelyek csak a közvetlen szolgáltatáshibákat támogatják, egyetlen céltípussal rendelkeznek. Ilyen például az Microsoft-CosmosDB
Azure Cosmos DB típusa.
A közvetlen szolgáltatás- és ügynökalapú hibákat támogató erőforrástípusok két céltípussal rendelkeznek. Az egyik céltípus a közvetlen szolgáltatáshibák (például Microsoft-VirtualMachine
). A másik céltípus az ügynökalapú hibák (mindig Microsoft-Agent
).
A cél egy bővítményerőforrás, amely a Chaos Studióba előkészített erőforrás gyermekeként jön létre. Ilyen például egy virtuális gép vagy egy hálózati biztonsági csoport. A cél határozza meg az erőforráson engedélyezett céltípust. Ha például egy Azure Cosmos DB-példányt készít elő ezzel az erőforrás-azonosítóval:
/subscriptions/fd9ccc83-faf6-4121-9aff-2a2d685ca2a2/resourceGroups/chaosstudiodemo/providers/Microsoft.DocumentDB/databaseAccounts/myDB
Az Azure Cosmos DB-erőforrás az alábbi példához hasonlóan formázott gyermekerőforrással rendelkezik:
/subscriptions/fd9ccc83-faf6-4121-9aff-2a2d685ca2a2/resourceGroups/chaosstudiodemo/providers/Microsoft.DocumentDB/databaseAccounts/myDB/providers/Microsoft.Chaos/targets/Microsoft-CosmosDB
A Chaos Studióval csak a célként létrehozott erőforrások használhatók hibainjektáláshoz.
Capabilities
A képesség lehetővé teszi, hogy a Chaos Studio egy adott hibát futtasson egy erőforráson, például egy virtuális gép leállítását. A képességek céltípusonként egyediek. Az általuk engedélyezett hibát jelölik, például CPUPressure-1.0
. Az összes rendelkezésre álló hiba, valamint a hozzájuk tartozó képességnevek és céltípusok megismeréséhez tekintse meg a Chaos Studio hibatárát.
A képesség egy olyan bővítményerőforrás, amely egy cél gyermekeként jön létre. Ha például szolgáltatás-közvetlen célazonosítóval rendelkező virtuális gépen engedélyezi a leállítási hibát:
/subscriptions/fd9ccc83-faf6-4121-9aff-2a2d685ca2a2/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine
A célerőforrás a következő példához hasonlóan formázott gyermekerőforrással rendelkezik:
/subscriptions/fd9ccc83-faf6-4121-9aff-2a2d685ca2a2/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/shutdown-1.0
A kísérletek csak a megfelelő képességekkel rendelkező, előkészített célokon szúrhatnak be hibákat.
Képességnevek és paraméterek listázása
Referenciaként a képességnevek, a hibás URL-címek és a paraméterek listája elérhető a hibatárban. A HTTP-válasz használatával létrehozhat egy képességet, vagy lekérheti a GET-t egy meglévő képességen, hogy igény szerint lekérje ezeket az információkat. Ha például GET-t szeretne végrehajtani egy virtuális gép leállítási funkcióján:
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"
A következő JSON-t adja vissza:
{
"id": "/subscriptions/fd9ccc83-faf6-4121-9aff-2a2d685ca2a2/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"
}
A properties.urn
tulajdonság azt a hibát határozza meg, amelyet egy káoszkísérletben szeretne futtatni. A hiba paramétereinek sémájának megértéséhez kérje le a következővel properties.parametersSchema
hivatkozott sémát:
az rest --method get --url "https://schema-tc.eastus.chaos-prod.azure.com/targetTypes/Microsoft-VirtualMachine/capabilityTypes/Shutdown-1.0/parametersSchema.json"
A következő JSON-t adja vissza:
{
"$schema": "https://json-schema.org/draft-07/schema",
"properties": {
"abruptShutdown": {
"type": "boolean"
},
"restartWhenComplete": {
"type": "boolean"
}
},
"type": "object"
}
Következő lépések
Most, hogy megismerte a célokat és képességeket, készen áll a következőkre: