البرنامج التعليمي: إنشاء صورة مخصصة لمجموعات مقياس الجهاز الظاهري واستخدامها باستخدام Azure PowerShell

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

  • إنشاء معرض الحساب في Azure
  • إنشاء تعريف للصورة
  • إنشاء إصدار صورة
  • إنشاء مجموعة مقياس من الصورة
  • مشاركة معرض صور

في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.

إطلاق Azure Cloud Shell

Azure Cloud Shell هو shell تفاعلية مجانية التي يمكنك استخدامها لتشغيل الخطوات في هذه المقالة. يحتوي على أدوات Azure الشائعة المثبتة مسبقًا والمهيئة للاستخدام مع حسابك.

لفتح Cloud Shell، ما عليك سوى تحديد جربه من الزاوية اليمنى العليا من مجموعة التعليمات البرمجية. يمكنك أيضًا تشغيل Cloud Shell في علامة تبويب مستعرض منفصلة بالانتقال إلى https://shell.azure.com/powershell. حدد "Copy" لنسخ كتل التعليمة البرمجية، ولصقها في Cloud Shell، ثم اضغط على "enter" لتشغيلها.

إنشاء جهاز ظاهري مصدر وتكوينه

أولا، أنشئ مجموعة موارد باستخدام New-AzResourceGroup، ثم أنشئ جهازا ظاهريا باستخدام New-AzVM. ثم يتم استخدام هذا الجهاز الظاهري كمصدر للصورة. في المثال التالي، سيتم إنشاء جهاز ظاهري يُسمى myVM في مجموعة الموارد المسماة myResourceGroup:

New-AzResourceGroup -Name 'myResourceGroup' -Location 'EastUS'

New-AzVm `
   -ResourceGroupName 'myResourceGroup' `
   -Name 'myVM' `
   -Location 'East US' `
   -VirtualNetworkName 'myVnet' `
   -SubnetName 'mySubnet' `
   -SecurityGroupName 'myNetworkSecurityGroup' `
   -PublicIpAddressName 'myPublicIpAddress' `
   -OpenPorts 80,3389

تخزين متغير الجهاز الظاهري

يمكنك مشاهدة قائمة بالأجهزة الظاهرية المتوفرة في مجموعة موارد باستخدام Get-AzVM. بمجرد معرفة اسم الجهاز الظاهري ومجموعة الموارد، يمكنك استخدام Get-AzVM مرة أخرى للحصول على كائن الجهاز الظاهري وتخزينه في متغير لاستخدامه لاحقاً. يحصل هذا المثال على جهاز ظاهري يسمى myVM من مجموعة موارد "myResourceGroup" ويعينه إلى المتغير $vm.

$sourceVM = Get-AzVM `
   -Name myVM `
   -ResourceGroupName myResourceGroup

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

إنشاء معرض الصور باستخدام New-AzGallery. ينشئ المثال التالي معرضًا يسمى myGallery في مجموعة موارد myGalleryRG.

$resourceGroup = New-AzResourceGroup `
   -Name 'myGalleryRG' `
   -Location 'EastUS'

$gallery = New-AzGallery `
   -GalleryName 'myGallery' `
   -ResourceGroupName $resourceGroup.ResourceGroupName `
   -Location $resourceGroup.Location `
   -Description 'Azure Compute Gallery for my organization'	

إنشاء تعريف للصورة

تنشئ تعريفات الصور تجميعًا منطقيًا للصور. وهي تستخدم لإدارة المعلومات حول إصدارات الصور التي تم إنشاؤها داخلها. قد تتكون أسماء تعريف الصورة من أحرف كبيرة أو صغيرة، وأرقام، ونقاط، وشرطات، وفترات. لمزيدٍ من المعلومات حول القيم التي يمكنك تحديدها لتعريف صورة، راجع Image definitions.

إنشاء تعريف الصورة باستخدام New-AzGalleryImageDefinition. في هذا المثال، يتم تسمية صورة المعرض myGalleryImage ويتم إنشاؤها لصورة متخصصة.

$galleryImage = New-AzGalleryImageDefinition `
   -GalleryName $gallery.Name `
   -ResourceGroupName $resourceGroup.ResourceGroupName `
   -Location $gallery.Location `
   -Name 'myImageDefinition' `
   -OsState specialized `
   -OsType Windows `
   -Publisher 'myPublisher' `
   -Offer 'myOffer' `
   -Sku 'mySKU'

إنشاء إصدار صورة

إنشاء إصدار صورة من جهاز ظاهري باستخدام New-AzGalleryImageVersion.

الأحرف المسموح بها لإصدار الصورة هي أرقام وفترات. يجب أن تكون الأرقام ضمن نطاق عدد صحيح 32 بت. التنسيق: MajorVersion.MinorVersion.Patch.

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

لإنشاء إصدار صورة من الجهاز الظاهري، استخدم $vm.Id.ToString() لـ -Source.

$region1 = @{Name='South Central US';ReplicaCount=1}
$region2 = @{Name='East US';ReplicaCount=2}
$targetRegions = @($region1,$region2)

New-AzGalleryImageVersion `
   -GalleryImageDefinitionName $galleryImage.Name`
   -GalleryImageVersionName '1.0.0' `
   -GalleryName $gallery.Name `
   -ResourceGroupName $resourceGroup.ResourceGroupName `
   -Location $resourceGroup.Location `
   -TargetRegion $targetRegions  `
   -Source $sourceVM.Id.ToString() `
   -PublishingProfileEndOfLifeDate '2023-12-01'

قد يستغرق الأمر بعض الوقت لنسخ الصورة إلى جميع المناطق المستهدفة.

إنشاء مجموعة مقياس من الصورة

الآن قم بإنشاء مجموعة مقياس باستخدام New-AzVmss الذي يستخدم المعلمة -ImageName لتحديد الصورة المخصصة للجهاز الظاهري التي تم إنشاؤها في الخطوة السابقة. يُنشأ موازن تحميل أيضاً لتوزيع النقل على مثيلات أجهزة ظاهرية متعددة. يتضمن موازن التحميل قواعد لتوزيع النقل على منفذ TCP 80، بالإضافة إلى السماح بنقل سطح المكتب البعيد على منفذ TCP 3389 وPowerShell الاتصال عن بُعد على منفذ TCP 5985. عند المطالبة، قم بتوفير بيانات الاعتماد الإدارية الخاصة بك المطلوبة لمثيلات الجهاز الظاهري في مجموعة المقياس:

هام

بدءا من نوفمبر 2023، سيتم تعيين مجموعات مقياس الجهاز الظاهري التي تم إنشاؤها باستخدام PowerShell وAzure CLI افتراضيا إلى وضع التنسيق المرن إذا لم يتم تحديد وضع التزامن. لمزيد من المعلومات حول هذا التغيير والإجراءات التي يجب اتخاذها، انتقل إلى كسر التغيير لعملاء VMSS PowerShell/CLI - مركز مجتمع Microsoft

# Define variables for the scale set
$resourceGroupName = "myScaleSet"
$scaleSetName = "myScaleSet"
$location = "East US"

# Create a resource group
New-AzResourceGroup -ResourceGroupName $resourceGroupName -Location $location

# Create a configuration 
$vmssConfig = New-AzVmssConfig `
   -Location $location `
   -OrchestrationMode Flexible `
   -SkuCapacity 2 `
   -SkuName "Standard_D2s_v3"

# Reference the image version
Set-AzVmssStorageProfile $vmssConfig `
  -OsDiskCreateOption "FromImage" `
  -ImageReferenceId $galleryImage.Id

# Create the scale set 
New-AzVmss `
  -ResourceGroupName $resourceGroupName `
  -Name $scaleSetName `
  -VirtualMachineScaleSet $vmssConfig

يستغرق الأمر بضع دقائق لإنشاء وتكوين جميع موارد مجموعة المقياس والأجهزة الافتراضية.

نوصي بمشاركة الوصول على مستوى معرض الصور. استخدام عنوان بريد إلكتروني وGet-AzADUser cmdlet للحصول على معرف الكائن للمستخدم، ثم استخدم New-AzRoleAssignment لمنحهم حق الوصول إلى المعرض. استبدل مثال البريد الإلكتروني، alinne_montes@contoso.com في هذا المثال، بمعلوماتك الخاصة.

# Get the object ID for the user
$user = Get-AzADUser -StartsWith alinne_montes@contoso.com
# Grant access to the user for our gallery
New-AzRoleAssignment `
   -ObjectId $user.Id `
   -RoleDefinitionName Reader `
   -ResourceName $gallery.Name `
   -ResourceType Microsoft.Compute/galleries `
   -ResourceGroupName $resourceGroup.ResourceGroupName

تنظيف الموارد

عند انتهاء الحاجة إليها، يمكنك استخدام Remove-AzResourceGroup cmdlet لإزالة مجموعة الموارد وجميع الموارد ذات الصلة:

# Delete the gallery 
Remove-AzResourceGroup -Name myGalleryRG

# Delete the scale set resource group
Remove-AzResourceGroup -Name myResoureceGroup

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

في هذا البرنامج التعليمي، تعلمت كيفية إنشاء واستخدام الصورة المخصصة للجهاز الظاهري لمجموعات المقياس باستخدام Azure PowerShell:

  • إنشاء معرض الحساب في Azure
  • إنشاء تعريف للصورة
  • إنشاء إصدار صورة
  • إنشاء مجموعة مقياس من الصورة
  • مشاركة معرض صور

انتقل إلى البرنامج التعليمي التالي لمعرفة كيفية نشر التطبيقات في مجموعة المقياس الخاصة بك.