Target dan kemampuan di Azure Chaos Studio

Sebelum Anda dapat menyuntikkan kesalahan terhadap sumber daya Azure, sumber daya harus terlebih dahulu memiliki target dan kemampuan yang sesuai diaktifkan. Target dan kemampuan mengontrol sumber daya mana yang diaktifkan untuk injeksi kesalahan dan kesalahan mana yang dapat bertentangan dengan sumber daya tersebut.

Dengan menggunakan target dan kemampuan bersama dengan langkah-langkah keamanan lainnya, Anda dapat menghindari injeksi kesalahan yang tidak disengaja atau berbahaya dengan Azure Chaos Studio. Misalnya, dengan target dan kemampuan, Anda dapat mengizinkan kesalahan tekanan CPU berjalan terhadap komputer virtual produksi Anda sambil mencegah kesalahan proses pembunuhan berjalan terhadap mereka.

Target

Target chaos memungkinkan Chaos Studio berinteraksi dengan sumber daya untuk jenis target tertentu. Jenis target mewakili metode menyuntikkan kesalahan terhadap sumber daya. Jenis sumber daya yang hanya mendukung kesalahan langsung layanan memiliki satu jenis target. Contohnya Microsoft-CosmosDB adalah jenis untuk Azure Cosmos DB.

Jenis sumber daya yang mendukung kesalahan langsung layanan dan berbasis agen memiliki dua jenis target. Salah satu jenis target adalah untuk kesalahan langsung layanan (misalnya, Microsoft-VirtualMachine). Jenis target lainnya adalah untuk kesalahan berbasis agen (selalu Microsoft-Agent).

Target adalah sumber daya ekstensi yang dibuat sebagai anak dari sumber daya yang sedang di-onboard ke Chaos Studio. Contohnya adalah komputer virtual atau kelompok keamanan jaringan. Target menentukan jenis target yang diaktifkan pada sumber daya. Misalnya, jika Anda melakukan onboarding instans Azure Cosmos DB dengan ID sumber daya ini:

/subscriptions/fd9ccc83-faf6-4121-9aff-2a2d685ca2a2/resourceGroups/chaosstudiodemo/providers/Microsoft.DocumentDB/databaseAccounts/myDB

Sumber daya Azure Cosmos DB memiliki sumber daya anak yang diformat seperti contoh ini:

/subscriptions/fd9ccc83-faf6-4121-9aff-2a2d685ca2a2/resourceGroups/chaosstudiodemo/providers/Microsoft.DocumentDB/databaseAccounts/myDB/providers/Microsoft.Chaos/targets/Microsoft-CosmosDB

Hanya sumber daya dengan target yang dibuat dari mereka yang ditargetkan untuk injeksi kesalahan dengan Chaos Studio.

Kemampuan

Kemampuan memungkinkan Chaos Studio menjalankan kesalahan tertentu terhadap sumber daya, seperti mematikan komputer virtual. Kemampuan unik per jenis target. Mereka mewakili kesalahan yang mereka aktifkan, misalnya, CPUPressure-1.0. Untuk memahami semua kesalahan yang tersedia dan nama kemampuan dan jenis target yang sesuai, lihat pustaka kesalahan Chaos Studio.

Kemampuan adalah sumber daya ekstensi yang dibuat sebagai turunan dari target. Misalnya, jika Anda mengaktifkan kesalahan matikan pada komputer virtual dengan ID target langsung layanan:

/subscriptions/fd9ccc83-faf6-4121-9aff-2a2d685ca2a2/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine

Sumber daya target memiliki sumber daya anak yang diformat seperti contoh ini:

/subscriptions/fd9ccc83-faf6-4121-9aff-2a2d685ca2a2/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/shutdown-1.0

Percobaan hanya dapat menyuntikkan kesalahan pada target onboard dengan kemampuan yang sesuai diaktifkan.

Mencantumkan nama dan parameter kemampuan

Sebagai referensi, daftar nama kemampuan, URL kesalahan, dan parameter tersedia di pustaka kesalahan kami. Anda dapat menggunakan respons HTTP untuk membuat kemampuan atau melakukan GET pada kemampuan yang ada untuk mendapatkan informasi ini sesuai permintaan. Misalnya, untuk melakukan GET pada kemampuan matikan 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"

Mengembalikan JSON berikut:

{
  "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"
}

Properti ini properties.urn digunakan untuk menentukan kesalahan yang ingin Anda jalankan dalam eksperimen chaos. Untuk memahami skema parameter kesalahan ini, Anda dapat MENDAPATKAN skema yang dirujuk oleh properties.parametersSchema:

az rest --method get --url "https://schema-tc.eastus.chaos-prod.azure.com/targetTypes/Microsoft-VirtualMachine/capabilityTypes/Shutdown-1.0/parametersSchema.json"

Mengembalikan JSON berikut:

{
  "$schema": "https://json-schema.org/draft-07/schema",
  "properties": {
    "abruptShutdown": {
      "type": "boolean"
    },
    "restartWhenComplete": {
      "type": "boolean"
    }
  },
  "type": "object"
}

Langkah berikutnya

Sekarang setelah Anda memahami target dan kemampuan apa, Anda siap untuk: