قم بوصف الخيارات المتاحة لإنشاء «Azure Virtual Machine» وإدارته

مكتمل

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

لنبحث في بعض الطرق الأخرى لإنشاء الموارد وإدارتها في Azure:

  • قوالب Azure Resource Manager
  • Azure PowerShell
  • Azure CLI
  • Azure REST API
  • Azure Client SDK
  • Azure VM Extensions
  • Azure Automation Services

قوالب Azure Resource Manager

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

قوالب Resource Manager هي ملفات JSON التي تحدد الموارد التي تحتاج إلى نشرها للحل الخاص بك.

يمكنك إنشاء قالب مورد للجهاز الظاهري. من قائمة VM ضمن Automation اختر Export template.

Screenshot showing Export template option for a VM.

إشعار

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

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

لمزيد من المعلومات حول استخدام القوالب، اطلع على التشغيل السريع: إنشاء جهاز ظاهري Ubuntu Linux باستخدام قالب ARM.

Azure CLI

يعد Azure CLI أحد خيارات البرمجة النصية والتفاعل مع سطر أوامر Azure.

CLI Azure هو أداة سطر أوامر عبر النظام الأساسي من Microsoft لإدارة موارد Azure مثل الأجهزة الظاهرية والأقراص من سطر الأوامر. ويتوفر لنظام التشغيل Linux أو macOS أو Windows أو في مستعرض يستخدم Cloud Shell.

على سبيل المثال، من CLI يمكنك إنشاء جهاز الظاهري لـ Azure مع الأمر az vm create.

az vm create \
    --resource-group TestResourceGroup \
    --name test-wp1-eus-vm \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --generate-ssh-keys

يمكن استخدام Azure CLI مع لغات البرمجة النصية الأخرى، مثل Ruby وPython.

تعرف على المزيد حول إنشاء الأجهزة الظاهرية وإدارتها في الوحدة النمطية إدارة الأجهزة الظاهرية باستخدام أداة Azure CLI.

لمزيد من المعلومات حول استخدام Azure CLI لإنشاء الأجهزة الظاهرية، اطلع على التشغيل السريع: إنشاء جهاز ظاهري Linux باستخدام CLI.

Azure PowerShell

يعد Azure PowerShell مثاليا للمهام التفاعلية لمرة واحدة و/أو أتمتة المهام المتكررة.

إشعار

PowerShell هو غلاف عبر النظام الأساسي يوفر خدمات مثل نافذة للغلاف وتحليل الأوامر. Azure PowerShell هي حزمة إضافية اختيارية تضيف الأوامر الخاصة ب Azure (يشار إليها باسم cmdlets). يمكنك معرفة المزيد حول تثبيت واستخدام Azure PowerShell في وحدة تدريبية منفصلة.

على سبيل المثال، يمكنك استخدام New-AzVM cmdlet لإنشاء جهاز Azure ظاهري جديد يستند إلى Debian.

New-AzVm `
    -ResourceGroupName "TestResourceGroup" `
    -Name "test-wp1-eus-vm" `
    -Location "East US" `
    -Image Debian11 `
    -VirtualNetworkName "test-wp1-eus-network" `
    -SubnetName "default" `
    -SecurityGroupName "test-wp1-eus-nsg" `
    -PublicIpAddressName "test-wp1-eus-pubip" `
    -GenerateSshKey `
    -SshKeyName myPSKey
    -OpenPorts 22

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

لمزيد من المعلومات حول استخدام PowerShell لإنشاء الأجهزة الظاهرية، اطلع على التشغيل السريع: إنشاء جهاز ظاهري على Linux باستخدام PowerShell.

Terraform

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

لمزيد من المعلومات، اطلع على موفر Azure Terraform والتشغيل السريع: استخدام Terraform لإنشاء الأجهزة الظاهرية.

برمجية (واجهات برمجة التطبيقات)

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

يمكنك التفاعل مع كل نوع من الموارد في Azure برمجيًا.

Azure REST API

توفر Azure REST API للمطورين عمليات مصنفة حسب المورد والقدرة على إنشاء الأجهزة الظاهرية وإدارتها. يتم عرض العمليات كعناوين URL مع أساليب HTTP المقابلة (GETو DELETEPUTPOSTو و وPATCH) واستجابة مقابلة.

توفر Azure Compute APIs لك وصولاً برمجيًا إلى الأجهزة الظاهرية والموارد التي تدعمها.

لمزيد من المعلومات، اطلع على مرجع واجهة برمجة تطبيقات REST للأجهزة الظاهرية.

Azure Client SDK

على الرغم من أن واجهة برمجة تطبيقات REST هي نظام أساسي ولغة غير محددة، فإن المطورين غالبا ما يتطلعون إلى مستوى أعلى من التجريد. تقوم Azure Client SDK بتغليف واجهة برمجة تطبيقات REST لـ Azure، ما يسهل على المطورين التفاعل مع Azure.

تتوفر حزم SDK لعميل Azure للغات وأطر العمل المختلفة، بما في ذلك . اللغات المستندة إلى NET مثل C# وJava وNode.js وPHP وPython وRupy وGo.

فيما يلي مثال على القصاصة البرمجية ل C# لإنشاء جهاز Azure ظاهري باستخدام حزمة Microsoft.Azure.Management.Fluent NuGet.

var azure = Azure
    .Configure()
    .WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
    .Authenticate(credentials)
    .WithDefaultSubscription();
// ...
var vmName = "test-wp1-eus-vm";

azure.VirtualMachines.Define(vmName)
    .WithRegion(Region.USEast)
    .WithExistingResourceGroup("TestResourceGroup")
    .WithExistingPrimaryNetworkInterface(networkInterface)
    .WithLatestWindowsImage("MicrosoftWindowsServer", "WindowsServer", "2012-R2-Datacenter")
    .WithAdminUsername("jonc")
    .WithAdminPassword("aReallyGoodPasswordHere")
    .WithComputerName(vmName)
    .WithSize(VirtualMachineSizeTypes.StandardDS1)
    .Create();

إليك نفس القصاصة البرمجية في Java باستخدام Azure Java SDK.

String vmName = "test-wp1-eus-vm";
// ...
VirtualMachine virtualMachine = azure.virtualMachines()
    .define(vmName)
    .withRegion(Region.US_EAST)
    .withExistingResourceGroup("TestResourceGroup")
    .withExistingPrimaryNetworkInterface(networkInterface)
    .withLatestWindowsImage("MicrosoftWindowsServer", "WindowsServer", "2012-R2-Datacenter")
    .withAdminUsername("jonc")
    .withAdminPassword("aReallyGoodPasswordHere")
    .withComputerName(vmName)
    .withSize("Standard_DS1")
    .create();

Azure VM extensions

لنفترض أنك تريد تكوين المزيد من البرامج وتثبيتها على جهازك الظاهري بعد التوزيع الأولي. تريد هذه المهمة أن تستخدم تكوينًا معينًا، وتتم مراقبتها وتنفيذها تلقائيًا.

ملحقات Azure VM هي تطبيقات صغيرة تمكنك من تكوين المهام وأتمتتها على أجهزة Azure الظاهرية بعد النشر الأولي.

لمزيد من المعلومات، اطلع على ميزات أجهزة Azure الظاهرية وملحقاتها.

Azure Automation services

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

تمكنك Azure Automation من دمج الخدمات التي تسمح لك بأتمتة مهام الإدارة المتكررة والمستهلكة للوقت والمعرضة للخطأ بسهولة. تتضمن هذه الخدمات أتمتة العمليات وإدارة التكوين وإدارة التحديث.

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

  • إدارة التكوين. ربما تريد تعقب تحديثات البرامج التي تصبح متوفرة لنظام التشغيل الذي يتم تشغيله على الجهاز الظاهري لديك. هناك تحديثات محددة قد ترغب في تضمينها أو استبعادها. تمكنك إدارة التكوين من تعقب هذه التحديثات واتخاذ الإجراء المطلوب. يمكنك استخدام Microsoft Endpoint Configuration Manager لإدارة الكمبيوتر الشخصي والخوادم والأجهزة المحمولة الخاصة بالشركة. يمكنك توسيع هذا الدعم لأجهزة ظاهرية من Azure مع «Configuration Manager».

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

إيقاف التشغيل التلقائي

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

للانتقال إلى ميزة إيقاف التشغيل التلقائي في جهاز ظاهري في مدخل Microsoft Azure، انتقل إلى شفرة الجهاز الظاهري في المدخل، وانقر فوق "إيقاف التشغيل التلقائي" ضمن قسم "العمليات"، ثم قم بتكوين إعدادات إيقاف التشغيل التلقائي وفقا لتفضيلاتك.

Screenshot showing Auto-shutdown option for a VM.

لمزيد من المعلومات، راجع إيقاف التشغيل التلقائي.

كما ترى، يوفر Azure أدوات مختلفة لإنشاء الموارد وإدارتها بحيث يمكنك دمج عمليات الإدارة في عملية تناسبك. دعنا نفحص بعض خدمات Azure الأخرى للتأكد من أن موارد البنية الأساسية لديك تعمل بسلاسة.