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.parametersSchemahivatkozott 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: