تمرين - إنشاء مورد Azure بشكل تفاعلي باستخدام Azure PowerShell

مكتمل

في السيناريو الأصلي، يجب إنشاء أجهزة ظاهرية (VMs) لاختبار برنامج إدارة علاقات العملاء (CRM). عند توفر بنية جديدة، تريد تدوير جهاز ظاهري جديد لاختبار تجربة التثبيت بأكملها من صورة نظيفة. بمجرد اكتمال الاختبار، يمكنك حذف الجهاز الظاهري.

لنجرب الأوامر لإنشاء جهاز ظاهري.

ملاحظة

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

ملاحظة

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

إنشاء جهاز ظاهري Linux مع Azure PowerShell

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

  1. New-AzVM استخدم cmdlet لإنشاء الجهاز الظاهري.

    • حدد مجموعة الموارد لجهازك الافتراضي.
    • قم بتسمية الجهاز الظاهري، باتباع معايير تسمية مؤسستك.
    • اختر موقعا قريبا منك من قائمة مناطق Azure المتاحة.
    • استخدم صورة Ubuntu Linux: Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest.
    • Get-Credential استخدم cmdlet لتعيين بيانات اعتماد مسؤول الجهاز الظاهري.
    • أضف معلمة OpenPorts مع منفذ 22 للوصول إلى SSH.
    • إنشاء اسم عنوان IP عام لتسجيل الدخول إلى SSH.
    $azVmParams = @{
        ResourceGroupName   = 'myResourceGroupName'
        Name                = 'testvm-eus-01'
        Credential          = (Get-Credential)
        Location            = 'eastus'
        Image               = 'Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest'
        OpenPorts           = 22
        PublicIpAddressName = 'testvm-eus-01'
    }
    New-AzVm @azVmParams
    

    استبدل myResourceGroupName في المثال السابق باسم مجموعة موارد موجودة، أو اسم مجموعة الموارد التي أنشأتها لهذا التمرين.

    تلميح

    يمكنك استخدام الزر نسخ لنسخ الأوامر إلى الحافظة. للصق، انقر بزر الماوس الأيمن على سطر جديد في محطة Cloud Shell وحدد Paste، أو استخدم اختصار لوحة المفاتيح Shift + Insert (⌘+V في macOS).

  2. أدخل بيانات الاعتماد:

    عند المطالبة، أدخل اسم مستخدم وكلمة مرور، باتباع الإرشادات: يجب أن تتكون كلمات المرور من 12 إلى 123 حرفا وأن تفي بثلاثة من متطلبات التعقيد الأربعة التالية: الأحرف الصغيرة والأحرف الكبيرة والأرقام والأحرف الخاصة (Regex match [\W_]). لمزيد من المعلومات، راجع الأسئلة المتداولة حول Linux VM.

  3. انتظر إنشاء الجهاز الظاهري:

    تستغرق عملية إنشاء الجهاز الظاهري بضع دقائق حتى تنتهي.

  4. الاستعلام عن الجهاز الظاهري:

    عند الاكتمال، استعلم عن الجهاز الظاهري وقم بتعيين كائن الجهاز الظاهري إلى متغير ($vm).

    $vm = Get-AzVM -Name testvm-eus-01 -ResourceGroupName myResourceGroupName
    
  5. عرض معلومات حول الجهاز الظاهري:

    لعرض معلومات حول الجهاز الظاهري، اعرض محتويات المتغير.

    $vm
    

    مثال على الإخراج:

    ResourceGroupName : myResourceGroupName
    Id                : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/testvm-eus-01
    VmId              : 00000000-0000-0000-0000-000000000000
    Name              : testvm-eus-01
    Type              : Microsoft.Compute/virtualMachines
    Location          : eastus
    Tags              : {}
    HardwareProfile   : {VmSize}
    NetworkProfile    : {NetworkInterfaces}
    OSProfile         : {ComputerName, AdminUsername, LinuxConfiguration, Secrets}
    ProvisioningState : Succeeded
    StorageProfile    : {ImageReference, OsDisk, DataDisks}
    ...
    
  6. فحص خصائص الجهاز الظاهري:

    يمكنك فحص الكائنات المعقدة من خلال عامل تشغيل الوصول إلى الأعضاء (.). على سبيل المثال، لمشاهدة الخصائص في VMSize الكائن المقترن بقسم HardwareProfile ، قم بتشغيل الأمر التالي:

    $vm.HardwareProfile
    

    أو للحصول على معلومات عن أحد الأقراص، يُرجى تشغيل الأمر التالي:

    $vm.StorageProfile.OsDisk
    
  7. الحصول على أحجام الأجهزة الظاهرية المتوفرة:

    قم بتمرير كائن الجهاز الظاهري إلى أوامر cmdlets الأخرى للحصول على الأحجام المتوفرة:

    $vm | Get-AzVMSize
    
  8. الحصول على عنوان IP العام:

    استرداد عنوان IP العام للاتصال بالجهاز الظاهري وتخزينه في متغير.

    $ip = Get-AzPublicIpAddress -ResourceGroupName myResourceGroupName -Name testvm-eus-01
    
  9. الاتصال بالجهاز الظاهري:

    الاتصال بالجهاز الظاهري باستخدام SSH باستخدام عنوان IP من المتغير. على سبيل المثال، إذا كان اسم المستخدم هو bob، فاستخدم الأمر التالي:

    ssh bob@$($ip.IpAddress)
    

    سجل الخروج بكتابة إنهاء.

حذف جهاز ظاهري

لتجربة المزيد من الأوامر، دعنا نحذف الجهاز الظاهري. اتبع الخطوات التالية:

  1. إيقاف تشغيل الجهاز الظاهري:

    شغّل الأمر التالي:

    Stop-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
    

    أدخل Y واضغط على Enter عند مطالبتك بالمتابعة.

  2. حذف الجهاز الظاهري:

    بمجرد توقف الجهاز الظاهري، احذفه عن طريق تشغيل Remove-AzVM cmdlet.

    Remove-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
    

    أدخل Y واضغط على Enter عند مطالبتك بالمتابعة.

  3. سرد كافة الموارد في مجموعة الموارد:

    Get-AzResource استخدم cmdlet لسرد كافة الموارد في مجموعة الموارد. يتم توصيل النتائج إلى Select-Object لإرجاع خصائص معينة:

    Get-AzResource -ResourceGroupName $vm.ResourceGroupName | 
        Select-Object -Property Name, ResourceType, ResourceGroupName
    

    يجب أن تشاهد العديد من الموارد، بما في ذلك الأقراص والشبكات الظاهرية وما إلى ذلك، التي لا تزال موجودة:

    Name                    ResourceType                            ResourceGroupName
    ----                    ------------                            -----------------
    cloudshell              Microsoft.Storage/storageAccounts       myResourceGroupName
    testvm-eus-01           Microsoft.Network/virtualNetworks       myResourceGroupName
    testvm-eus-01           Microsoft.Network/publicIPAddresses     myResourceGroupName
    testvm-eus-01           Microsoft.Network/networkSecurityGroups myResourceGroupName
    testvm-eus-01           Microsoft.Network/networkInterfaces     myResourceGroupName
    testvm-eus-01_OsDisk_1  Microsoft.Compute/disks                 myResourceGroupName
    

    الأمر Remove-AzVM يحذف الجهاز الظاهري فقط. لا ينظف أي من الموارد الأخرى. لتنظيفها يدويا، اتبع الخطوات التالية:

  4. احذف واجهة الشبكة:

    Get-AzNetworkInterface -ResourceGroupName $vm.ResourceGroupName -Name $vm.Name |
        Remove-AzNetworkInterface
    

    أدخل Y واضغط على Enter عند مطالبتك بالمتابعة.

  5. احذف مجموعة أمان الشبكة:

    Get-AzNetworkSecurityGroup -ResourceGroupName $vm.ResourceGroupName |
        Remove-AzNetworkSecurityGroup
    

    أدخل Y واضغط على Enter عند مطالبتك بالمتابعة.

  6. حذف عنوان IP العام:

    Get-AzPublicIpAddress -ResourceGroupName $vm.ResourceGroupName |
        Remove-AzPublicIpAddress
    

    أدخل Y واضغط على Enter عند مطالبتك بالمتابعة.

  7. حذف الشبكة الظاهرية:

    Get-AzVirtualNetwork -ResourceGroupName $vm.ResourceGroupName |
        Remove-AzVirtualNetwork
    

    أدخل Y واضغط على Enter عند مطالبتك بالمتابعة.

  8. حذف أقراص نظام التشغيل المدارة:

    Get-AzDisk -ResourceGroupName $vm.ResourceGroupName -DiskName $vm.StorageProfile.OSDisk.Name |
        Remove-AzDisk
    

    أدخل Y واضغط على Enter عند مطالبتك بالمتابعة.

  9. تحقق من إزالة جميع الموارد:

    تحقق من مجموعة الموارد للتأكد من إزالة جميع الموارد:

    Get-AzResource -ResourceGroupName $vm.ResourceGroupName | 
        Select-Object -Property Name, ResourceType, ResourceGroupName
    

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

بعد ذلك، دعونا ننظر في كيفية أتمتة هذه المهام باستخدام برنامج نصي PowerShell.