التعرُّف على Azure Automation

مكتمل

تُوفر Azure عدة طرق لأتمتة العمليات. تعد Azure Functions وLogic Apps خدمتين من Azure يُمكنان أحمال العمل بلا خادم. تقوم كلتا الخدمتين بإنشاء تدفقات عمل عبارة عن مجموعة من الخطوات لتنفيذ المهام المعقدة. على سبيل المثال، يمكن إنشاء تطبيق من خدمة Logic App لملء جدول في Azure SQL Database عندما يتم إجراء إدخال في قائمة SharePoint. يتواجد الشرح الكامل لهاتين الخدمتين خارج نطاق هذه الدورة التدريبية.

لمزيد من التحكم الكامل والنقاوة في التنفيذ التلقائي الخاص بك، يسمح Azure Automation بأتمتة العمليات وإدارة التكوين والتكامل الكامل مع خيارات النظام الأساسي ل Azure (مثل التحكم في الوصول المستند إلى الدور ومعرف Microsoft Entra) ويمكنه إدارة Azure والموارد المحلية.

تتمثل إحدى ميزات Azure Automation الفريدة في أنها يمكنها إدارة الموارد داخل Azure أو الأجهزة الظاهرية الداخلية. على سبيل المثال، إذا كان لديك جهاز ظاهري يبقى عادةً في حالة توقف عن التشغيل لتحقيق توفيرات في التكاليف (إلا عندما يتعين استخدامه)، تكون لديك القدرة داخل Azure Automation، باستخدام ميزة تُسمى hybrid runbooks، لتنفيذ نص ما لبدء تشغيل الجهاز الظاهري، ثم بدء إعداد نسخة احتياطية من SQL Server من داخل الجهاز الظاهري، وأخيراً إيقاف تشغيل الجهاز الظاهري.

ثمة سيناريو شائع آخر هو استخدام Azure Automation لعمليات الصيانة الدورية، مثل إزالة البيانات التالفة أو القديمة، أو إعادة تثبيت قاعدة بيانات SQL.

مكونات Azure Automation

تدعم Azure Automation كلاً من أنشطة إدارة التكوين والأتمتة. سوف نركز على مكوّنات الأتمتة، ولكن يُمكن أيضاً استخدام الأتمتة كذلك لإدارة تحديثات الخوادم وتكوين الحالة المطلوبة. ويرد فيما يلي مكوّنات Azure Automation التي سيتعين عليك استخدامها لتنفيذ المهام المؤتمتة:

  • سجلات التشغيل - سجلات التشغيل هي وحدة التنفيذ في Azure Automation. يُمكن تحديد سجلات التشغيل على أنها من أحد الأنواع الثلاثة: سجل تشغيل رسومي يستند إلى PowerShell، أو برنامج نصي لـ PowerShell، أو برنامج نصي لـ Python. يشيع استخدام سجلات تشغيل PowerShell لإدارة موارد Azure SQL.

  • الوحدات النمطية - تحدد Azure Automation سياق تنفيذ للتعليمة البرمجية الخاصة بـ PowerShell أو Python التي تقوم بتنفيذها في سجل التشغيل الخاص بك. ويتعين عليك استيراد الوحدات النمطية الداعمة من أجل تنفيذ التعليمة البرمجية الخاصة بك. على سبيل المثال، إذا كنت بحاجة إلى تشغيل Get-AzSqlDatabase PowerShell cmdlet، سيتعين عليك استيراد الوحدة النمطية Az.SQL PowerShell إلى حساب الأتمتة الخاص بك.

  • بيانات الاعتماد - تُخزن بيانات الاعتماد المعلومات الحساسة التي قد تستخدمها سجلات التشغيل أو التكوينات في وقت التشغيل.

  • الجداول الزمنية - ترتبط الجداول الزمنية بسجلات التشغيل وتشغّل أي سجل تشغيل في وقت محدد.

Azure Policy

لقد استخدم مسؤولو خوادم Windows نُهج المجوعة، أو ما يسمى GPOs، منذ فترة طويلة لإدارة الأمان، وتحقيق الاتساق عبر بيئة Windows Server في مؤسستك. تتمثل بعض أمثلة نُهج المجموعة في فرض تعقيد كلمة المرور، وتعيين محركات أقراص الشبكة المشتركة، وتكوين طابعات على الشبكة.

تتضمن سياسة Azure تعريفات مبادرة للمساعدة في إنشاء والحفاظ على التوافق مع معايير الأمان المختلفة لحساب التنفيذ التلقائي الخاص بك. تتوفر أيضاً ميزات مماثلة في Azure Resource Manager. نهج يوفر مستوى من الإدارة لاشتراكات Azure الخاصة بك. نهج يُمكنه فرض قواعد وعناصر تحكم على موارد Azure الخاصة بك. تتضمن بعض الأمثلة على طريقة استخدامك لذلك تقييد المناطق التي يمكنك نشر مورد فيها، أو فرض معايير التسمية، أو التحكم في أحجام الموارد. توفر Azure العديد من الأمثلة على النُهج التي يمكنك استخدامها أو يمكنك تحديد النُهج المخصصة باستخدام JSON.

يتم تعيين النُهج في نطاق محدد، والتي قد تكون مجموعة إدارة (مجموعة اشتراكات تتم إدارتها معاً)، أو اشتراك، أو مجموعة موارد، أو حتى مورد فردي. سيتم تطبيق النهج الأكثر شيوعاً على مستوى مجموعة الموارد أو الاشتراك. يُمكن تجميع النُهج الفردية باستخدام بنية تُعرف باسم المبادرات، ويُطلق عليها أحياناً مجموعات النُهج. تتضمن النُهج نطاقاً للتعيين يُمكن تحديده في المورد الفردي، أو مجموعة الموارد، أو الاشتراك، أو مجموعة إدارة (مجموعة اشتراكات تتم إدارتها معاً)، أو جميع الاشتراكات في مستأجر معين.

يتجلى أحد أمثلة كيفية تطبيقك لـ Azure Policy في وضع علامة على الموارد. تُخزن علامات Azure -التي سيتم وصفها أدناه- بيانات تعريف عن موارد Azure في أزواج قيم المفاتيح، ويشيع استخدامها لتمييز نوع البيئة (اختبار، أو QA، أو إنتاج) أو مركز التكلفة لمورد معين. نهج يتطلب توفر علامة عن البيئة ومركز التكلفة لدى جميع الموارد، والتي ستتسبب في حدوث خطأ وحظر نشر أي من موارد Azure التي لا تحتوي على العلامات المطلوبة.

اشتراكات Azure وعلاماتها

تستخدم المؤسسات العديد من الاشتراكات لعدّة أسباب، من بينها إدارة الميزانية، أو الأمان، أو عزل الموارد. ومن بين أمثلة ذلك مؤسسة تضم موارد داخلية وموارد مخصصة للعملاء. يُمكن أن تتواجد الموارد الداخلية في اشتراك واحد، وموارد العملاء في اشتراك آخر، من أجل تسهيل فصل الفوترة وعزل الموارد الداخلية. قد تتم إدارة هذين الاشتراكين معاً في مجموعة إدارة ما، ما يسمح لك بإدارة النهج والامتثال فيما بين الاشتراكين.

العلامات هي مجرد بيانات تعريف تُستخدم لتحسين وصف موارد Azure الخاصة بك. يتم تخزين هذه العلامات باعتبارها أزواج key:value وتظهر في مدخل Azure مرتبطة بموارد Azure الخاصة بك. ونظراً لأنها ترتبط بالمورد، يمكنك تصفية أوامرك حسب العلامات، عندما تستخدم أوامر PowerShell أو Azure CLI. وفي هذه الحالة، يُمكن أن تراها مثل عبارة WHERE في استعلام SQL. يرد أدناه مثال أساسي:

$rg=(get-AzResourceGroup)

$rg=($rg|where-object {($_.tags['Use'] -ne 'Internal')}).ResourceGroupName

في السطر الثاني من عينة التعليمة البرمجية هذه، يمكنك ملاحظة أنه تتم تصفية قائمة مجموعات الموارد حسب العلامة التي تُسمى 'Use'، وستقوم بإرجاع مجموعات الموارد هذه التي لا تحتوي العلامات فيها على قيمة 'Internal'. يُمكن تطبيق العلامات في مدخل Azure، أو برمجياً عبر PowerShell، أو Azure CLI، أو باعتبارها جزءاً من عملية النشر الخاصة بك. كما يتم تطبيق العلامات على مستوى الاشتراك، أو مجموعة الموارد، أو المورد الفردي. يُمكن كذلك تعديل العلامات في أي وقت. وتدعم Azure تطبيق ما يصل إلى 15 علامة لكل مورد من موارد Azure.

يتم تضمين العلامات أيضاً في معلومات فوترة Azure، لذا فإن وضع العلامات حسب مركز التكلفة يعني أن تقسيم تكاليف Azure قد يكون أسهل كثيراً بالنسبة للإدارة. توجد العلامات في قسم "overview" للنافذة غير المكتملة لجميع موارد Azure. ولإضافة علامات إلى مورد باستخدام مدخل Azure، حدد "tags"، وأدخل المفتاح والقيمة لعلامتك. حدد "save" بعد تطبيق العلامات على الموارد الخاصة بك.

Screenshot of how to add tags to an Azure SQL Database.

يُمكنك كذلك استخدام PowerShell أو CLI لإضافة العلامات. يرد أدناه مثال على PowerShell:

$tags = @{"Dept"="Finance"; "Status"="Normal"}

$resource = Get-AzResource -Name demoStorage -ResourceGroup demoGroup

New-AzTag -ResourceId $resource.id -Tag $tags

يرد أدناه مثال على Azure CLI:

az resource tag --tags 'Dept=IT' 'Environment=Test' -g examplegroup -n examplevnet `

 --resource-type "Microsoft.Network/virtualNetworks"

تعمل العلامات على تمكين العملاء من تنظيم موارد Azure والتدرج الهرمي للإدارة في تصنيف.

إشعار

يتم تخزين العلامات كنص عادي. لا تضف أبداً قيماً حساسة إلى العلامات. يمكن الكشف عن القيم الحساسة من خلال العديد من الأساليب، بما في ذلك تقارير التكلفة، وتصنيفات العلامات، وسجلات النشر، والقوالب المصدرة، وسجلات المراقبة.