ترقية عناوين IP العامة المرفقة بالجهاز الظاهري من أساسي إلى قياسي

هام

في 30 سبتمبر 2025، سيتم إيقاف عناوين IP العامة الأساسية SKU. لمزيد من المعلومات، راجع الإعلان الرسمي. إذا كنت تستخدم حاليا عناوين IP العامة ل SKU الأساسية، فتأكد من الترقية إلى عناوين IP العامة ل SKU القياسية قبل تاريخ الإيقاف. ستساعدك هذه المقالة في إرشادك خلال عملية الترقية.

لمزيد من المعلومات حول إيقاف عناوين IP العامة الأساسية ل SKU وفوائد عناوين IP العامة ل SKU القياسية، راجع هنا

نظرة عامة على الترقية

يقوم هذا البرنامج النصي بترقية أي عناوين IP عامة مرفقة بالجهاز الظاهري من Basic إلى Standard SKU. لإجراء الترقية، يتم تعيين أسلوب تخصيص عنوان IP العام إلى ثابت قبل فصله عن الجهاز الظاهري. بمجرد إلغاء الارتباط، تتم ترقية وحدة SKU IP العامة إلى قياسي، ثم تتم إعادة ربط IP بالجهاز الظاهري.

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

تسجل الوحدة النمطية جميع نشاط الترقية إلى ملف يسمى PublicIPUpgrade.log، تم إنشاؤه في نفس الموقع حيث تم تنفيذ الوحدة النمطية (بشكل افتراضي).

القيود/ السيناريوهات غير المدعومة

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

  • الأجهزة الظاهرية بدون مجموعة أمان الشبكة: يجب أن يكون لدى الأجهزة الظاهرية ذات عناوين IP المراد ترقيتها مجموعة أمان شبكة (NSG) مقترنة إما بالشبكة الفرعية لكل تكوين IP مع IP عام، أو مع NIC مباشرة. وذلك لأن عناوين IP العامة ل SKU القياسية "آمنة بشكل افتراضي"، ما يعني أنه يجب السماح صراحة لأي حركة مرور إلى IP العام في NSG بالوصول إلى الجهاز الظاهري. تسمح عناوين IP العامة الأساسية ل SKU بأي حركة مرور بشكل افتراضي. ستؤدي ترقية وحدات SKU IP العامة بدون NSG إلى حركة مرور الإنترنت الواردة إلى IP العام المسموح به مسبقا مع حظر SKU الأساسي بعد الترحيل. راجع: وحدات SKU IP العامة

  • مجموعات مقياس الجهاز الظاهري مع تكوينات IP العامة: إذا كان لديك مجموعة مقياس جهاز ظاهري (نموذج موحد) مع تكوينات IP العامة لكل مثيل، لاحظ أن هذه التكوينات ليست موارد IP عامة، وعلى هذا النحو لا يمكن ترقيتها. بدلا من ذلك، يمكنك إزالة تكوين IP الأساسي واستخدام خاصية SKU لتحديد أن تكوينات IP القياسية مطلوبة لكل مثيل مجموعة مقياس الجهاز الظاهري كما هو موضح هنا.

المتطلبات الأساسية

  • تثبيت أحدث إصدار من PowerShell
  • تأكد مما إذا كان لديك أحدث وحدة Az PowerShell مثبتة (وقم بتثبيت أحدث وحدة نمطية Az PowerShell إذا لم يكن الأمر كما هو)

تنزيل البرنامج النصي

قم بتنزيل البرنامج النصي للترحيل من معرض PowerShell.

PS C:\> Install-Module -Name AzureVMPublicIPUpgrade -Scope CurrentUser -Repository PSGallery -Force

استخدام الوحدة النمطية

  1. استخدم Connect-AzAccount للاتصال بمستأجر Microsoft Entra المطلوب واشتراك Azure

    PS C:\> Connect-AzAccount -Tenant <TenantId> -Subscription <SubscriptionId>
    
  2. حدد موقع الجهاز الظاهري مع عناوين IP العامة الأساسية المرفقة التي ترغب في ترقيتها. سجل اسمه واسم مجموعة الموارد الخاصة به.

  3. فحص معلمات الوحدة النمطية:

    • VMName [string] مطلوبة - هذه المعلمة هي اسم الجهاز الظاهري الخاص بك.
    • ResourceGroupName [string] مطلوبة - هذه المعلمة هي مجموعة الموارد للجهاز الظاهري الخاص بك مع عناوين IP العامة الأساسية المرفقة التي تريد ترقيتها.
  4. قم بتشغيل الأمر ترقية.

أمثلة على استخدامات البرنامج النصي

لترقية جهاز ظاهري واحد، مرر اسم الجهاز الظاهري واسم مجموعة الموارد كمعلمات.

    Start-VMPublicIPUpgrade -VMName 'myVM' -ResourceGroupName 'myRG'

لتقييم ترقية جهاز ظاهري واحد، دون إجراء أي تغييرات، أضف المعلمة -WhatIf.

    Start-VMPublicIPUpgrade -VMName 'myVM' -ResourceGroupName 'myRG' -WhatIf

لترقية كافة الأجهزة الظاهرية في مجموعة موارد، تخطي الأجهزة الظاهرية التي لا تحتوي على مجموعات أمان الشبكة.

    Get-AzVM -ResourceGroupName 'myRG' | Start-VMPublicIPUpgrade -skipVMMissingNSG

الاسترداد من عملية ترحيل فاشلة

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

للاسترداد من ترقية فاشلة، مرر مسار ملف سجل الاسترداد إلى البرنامج النصي مع المعلمة -recoverFromFile وحدد الجهاز الظاهري للاسترداد باستخدام -VMName-VMResourceGroup و أو -VMResourceID المعلمات، كما هو موضح في هذا المثال.

    Start-VMPublicIPUpgrade -RecoverFromFile ./PublicIPUpgrade_Recovery_2020-01-01-00-00.csv -VMName myVM -VMResourceGroup -rg-myrg

الأسئلة الشائعة

كم من الوقت سيستغرق الترحيل والمدة التي سيتعذر فيها الوصول إلى الجهاز الظاهري الخاص بي في عنوان IP العام الخاص به؟

يعتمد الوقت المستغرق لترقية عناوين IP العامة للجهاز الظاهري على عدد عناوين IP العامة وواجهات الشبكة المرتبطة بالجهاز الظاهري. في الاختبار، يستغرق الجهاز الظاهري مع NIC واحد وIP العام ما بين 1 و 2 دقيقة للترقية. تضيف كل بطاقة NIC على الجهاز الظاهري حوالي دقيقة أخرى، ويضيف كل IP عام بضع ثوان لكل منها.

هل يمكنني العودة إلى عنوان IP عام ل SKU أساسي؟

لا يمكن الرجوع إلى إصدار إصدار أولي لعنوان IP عام من قياسي إلى أساسي.

هل يمكنني اختبار الترحيل قبل التنفيذ؟

لا توجد طريقة لتقييم ترقية IP عام دون إكمال الإجراء. ومع ذلك، يتضمن هذا البرنامج النصي معلمة -whatif ، والتي تتحقق من أن الجهاز الظاهري الخاص بك سيدعم الترقية ويمر عبر الخطوات دون اتخاذ إجراء.

هل يدعم البرنامج النصي عناوين IP العامة ل Zonal Basic SKU؟

نعم، عملية ترقية عنوان IP العام ل SKU الأساسي النطاقي إلى عنوان IP العام لوحدة حفظ المخزون القياسية النطاقية متطابقة وتعمل في البرنامج النصي.

استخدام Resource Graph لسرد الأجهزة الظاهرية مع عناوين IP العامة التي تتطلب الترقية

الاستعلام لسرد الأجهزة الظاهرية باستخدام عناوين IP العامة الأساسية ل SKU

يقوم هذا الاستعلام بإرجاع قائمة معرفات الجهاز الظاهري مع عناوين IP العامة الأساسية SKU المرفقة.

Resources
| where type =~ 'microsoft.compute/virtualmachines'
| project vmId = tolower(id), vmNics = properties.networkProfile.networkInterfaces
| join (
  Resources |
  where type =~ 'microsoft.network/networkinterfaces' |
  project nicVMId = tolower(tostring(properties.virtualMachine.id)), allVMNicID = tolower(id), nicIPConfigs = properties.ipConfigurations)
  on $left.vmId == $right.nicVMId
| join (
  Resources
  | where type =~ 'microsoft.network/publicipaddresses' and isnotnull(properties.ipConfiguration.id)
  | where sku.name == 'Basic' // exclude to find all VMs with Public IPs
  | project pipId = id, pipSku = sku.name, pipAssociatedNicId = tolower(tostring(split(properties.ipConfiguration.id, '/ipConfigurations/')[0])))
  on $left.allVMNicID == $right.pipAssociatedNicId
| project vmId, pipId, pipSku
az graph query -q "Resources | where type =~ 'microsoft.compute/virtualmachines' | project vmId = tolower(id), vmNics = properties.networkProfile.networkInterfaces | join (Resources | where type =~ 'microsoft.network/networkinterfaces' | project nicVMId = tolower(tostring(properties.virtualMachine.id)), allVMNicID = tolower(id), nicIPConfigs = properties.ipConfigurations) on \$left.vmId == \$right.nicVMId | join ( Resources | where type =~ 'microsoft.network/publicipaddresses' and isnotnull(properties.ipConfiguration.id) | where sku.name == 'Basic' | project pipId = id, pipSku = sku.name, pipAssociatedNicId = tolower(tostring(split(properties.ipConfiguration.id, '/ipConfigurations/')[0]))) on \$left.allVMNicID == \$right.pipAssociatedNicId | project vmId, pipId, pipSku"

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