الأهداف والقدرات في Azure Chaos Studio

قبل أن تتمكن من إدخال خطأ مقابل مورد Azure، يجب أن يكون للمورد أولا أهداف وقدرات مقابلة ممكنة. تتحكم الأهداف والقدرات في الموارد التي يتم تمكينها لإدخال الأخطاء وأي أخطاء يمكن تشغيلها مقابل تلك الموارد.

باستخدام الأهداف والقدرات جنبا إلى جنب مع تدابير الأمان الأخرى، يمكنك تجنب إدخال الخطأ العرضي أو الضار باستخدام Azure Chaos Studio. على سبيل المثال، مع الأهداف والقدرات، يمكنك السماح بتشغيل خطأ ضغط وحدة المعالجة المركزية مقابل الأجهزة الظاهرية للإنتاج مع منع تشغيل خطأ عملية الإنهاء عليها.

الأهداف

يمكن هدف الفوضى Chaos Studio من التفاعل مع مورد لنوع هدف معين. يمثل النوع الهدف أسلوب إدخال الأخطاء مقابل مورد. أنواع الموارد التي تدعم الأخطاء المباشرة للخدمة فقط لها نوع هدف واحد. مثال على ذلك هو Microsoft-CosmosDB نوع Azure Cosmos DB.

تحتوي أنواع الموارد التي تدعم الأخطاء المباشرة والمستندة إلى العامل على نوعين مستهدفين. نوع هدف واحد هو للأخطاء المباشرة للخدمة (على سبيل المثال، Microsoft-VirtualMachine). النوع الهدف الآخر هو للأخطاء المستندة إلى العامل (دائما Microsoft-Agent).

الهدف هو مورد ملحق تم إنشاؤه باعتباره تابعا للمورد الذي يتم إلحاقه ب Chaos Studio. ومن الأمثلة على ذلك جهاز ظاهري أو مجموعة أمان شبكة. يحدد الهدف نوع الهدف الذي تم تمكينه على المورد. على سبيل المثال، إذا كنت تقوم بإلحاق مثيل Azure Cosmos DB بمعرف المورد هذا:

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

يحتوي مورد Azure Cosmos DB على مورد تابع منسق مثل هذا المثال:

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

الموارد التي تم إنشاؤها منها بهدف فقط هي التي يمكن استهدافها لإدخال الخطأ باستخدام Chaos Studio.

القدرات

تمكن القدرة Chaos Studio من تشغيل خطأ معين ضد مورد، مثل إيقاف تشغيل جهاز ظاهري. القدرات فريدة لكل نوع هدف. وهي تمثل الخطأ الذي تمكنه، على سبيل المثال، CPUPressure-1.0. لفهم جميع الأخطاء المتوفرة وأسماء الإمكانات المقابلة وأنواع الأهداف الخاصة بها، راجع مكتبة خطأ Chaos Studio.

القدرة هي مورد ملحق تم إنشاؤه باعتباره تابعا لهدف. على سبيل المثال، إذا كنت تقوم بتمكين خطأ إيقاف التشغيل على جهاز ظاهري بمعرف هدف مباشر للخدمة:

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

يحتوي المورد الهدف على مورد تابع منسق مثل هذا المثال:

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

يمكن للتجربة إدخال الأخطاء فقط على الأهداف المدمجة مع تمكين الإمكانات المقابلة.

سرد أسماء القدرات والمعلمات

كمرجع، تتوفر قائمة بأسماء القدرات وعناوين URL الخاصة بالخطأ والمعلمات في مكتبة الأخطاء الخاصة بنا. يمكنك استخدام استجابة HTTP لإنشاء إمكانية أو القيام ب GET على إمكانية موجودة للحصول على هذه المعلومات عند الطلب. على سبيل المثال، للقيام ب GET على إمكانية إيقاف تشغيل الجهاز الظاهري:

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"

إرجاع JSON التالي:

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

properties.urn يتم استخدام الخاصية لتحديد الخطأ الذي تريد تشغيله في تجربة الفوضى. لفهم مخطط معلمات هذا الخطأ، يمكنك الحصول على المخطط المشار إليه بواسطة properties.parametersSchema:

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

إرجاع JSON التالي:

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

الخطوات التالية

الآن بعد أن فهمت ما هي الأهداف والقدرات، فأنت على استعداد لما يلي: