Azure Chaos Studio'daki hedefler ve özellikler
Bir Azure kaynağına hata eklemeden önce kaynağın ilgili hedefleri ve özellikleri etkinleştirmiş olması gerekir. Hedefler ve yetenekler, hangi kaynakların hata ekleme için etkinleştirildiğini ve bu kaynaklarda hangi hataların çalışabileceğini denetler.
Diğer güvenlik önlemleriyle birlikte hedefleri ve özellikleri kullanarak Azure Chaos Studio ile yanlışlıkla veya kötü amaçlı hata eklemeyi önleyebilirsiniz. Örneğin, hedefler ve özelliklerle CPU basınç hatasının üretim sanal makinelerinize karşı çalışmasına izin verirken sonlandırma işlemi hatasının bunlara karşı çalışmasını engelleyebilirsiniz.
Hedefler
Kaos hedefi, Chaos Studio'nın belirli bir hedef türü için bir kaynakla etkileşim kurmasını sağlar. Hedef türü, bir kaynağa hata ekleme yöntemini temsil eder. Yalnızca hizmet doğrudan hatalarını destekleyen kaynak türlerinin tek bir hedef türü vardır. Azure Cosmos DB türü örnek olarak verilmiştir Microsoft-CosmosDB
.
Doğrudan hizmet ve aracı tabanlı hataları destekleyen kaynak türlerinin iki hedef türü vardır. Bir hedef türü, hizmet doğrudan hataları içindir (örneğin, Microsoft-VirtualMachine
). Diğer hedef türü aracı tabanlı hatalar içindir (her zaman Microsoft-Agent
).
Hedef, Chaos Studio'ya eklenen kaynağın alt öğesi olarak oluşturulan bir uzantı kaynağıdır. Örnek olarak sanal makine veya ağ güvenlik grubu verilebilir. Hedef, kaynakta etkinleştirilen hedef türünü tanımlar. Örneğin, şu kaynak kimliğine sahip bir Azure Cosmos DB örneği ekliyseniz:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/chaosstudiodemo/providers/Microsoft.DocumentDB/databaseAccounts/myDB
Azure Cosmos DB kaynağının aşağıdaki gibi biçimlendirilmiş bir alt kaynağı vardır:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/chaosstudiodemo/providers/Microsoft.DocumentDB/databaseAccounts/myDB/providers/Microsoft.Chaos/targets/Microsoft-CosmosDB
Yalnızca hedeflerinden oluşturulan kaynaklar Chaos Studio ile hata ekleme için hedeflenebilir.
Özellikler
Bu özellik Chaos Studio'yu bir kaynağa karşı sanal makineyi kapatma gibi belirli bir hatayı çalıştırmaya olanak tanır. Özellikler hedef türü başına benzersizdir. Etkinleştirdikleri hatayı temsil ederler, örneğin, CPUPressure-1.0
. Tüm kullanılabilir hataları ve bunların ilgili yetenek adlarını ve hedef türlerini anlamak için bkz . Chaos Studio hata kitaplığı.
Yetenek, bir hedefin alt öğesi olarak oluşturulan bir uzantı kaynağıdır. Örneğin, hizmet doğrudan hedef kimliğine sahip bir sanal makinede kapatma hatasını etkinleştiriyorsanız:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine
Hedef kaynağın aşağıdaki gibi biçimlendirilmiş bir alt kaynağı vardır:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/shutdown-1.0
Deneme yalnızca ilgili özellikler etkinken eklenen hedeflere hata ekleyebilir.
Özellik adlarını ve parametrelerini listeleme
Başvuru için, hata kitaplığımızda yetenek adlarının, hata URL'lerinin ve parametrelerin listesini bulabilirsiniz. Http yanıtını kullanarak bir özellik oluşturabilir veya bu bilgileri isteğe bağlı olarak almak için mevcut bir özellikte GET yapabilirsiniz. Örneğin, BIR VM kapatma özelliğinde GET yapmak için:
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şağıdaki JSON'yi döndürür:
{
"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"
}
properties.urn
özelliği, bir kaos denemesinde çalıştırmak istediğiniz hatayı tanımlamak için kullanılır. Bu hatanın parametrelerinin şemasını anlamak için tarafından properties.parametersSchema
başvuruda bulunan şemayı ALABILIRSINIZ:
az rest --method get --url "https://schema-tc.eastus.chaos-prod.azure.com/targetTypes/Microsoft-VirtualMachine/capabilityTypes/Shutdown-1.0/parametersSchema.json"
Aşağıdaki JSON'yi döndürür:
{
"$schema": "https://json-schema.org/draft-07/schema",
"properties": {
"abruptShutdown": {
"type": "boolean"
},
"restartWhenComplete": {
"type": "boolean"
}
},
"type": "object"
}
Sonraki adımlar
Artık hedeflerin ve özelliklerin ne olduğunu anladığınıza göre şunları yapmaya hazırsınız: