التمرين - قم بتحليل السيناريو ورسمه على أحد خيارات التكنولوجيا

مكتمل

ستكبر مؤسستك، وسيزداد الطلب عليها في أوروبا وآسيا. يقع مقر منظمتك في الولايات المتحدة. معظم بنيتك الأساسية قائمة على الخدمات السحابية. يُبلغ المستخدمون الأوروبيون عن موقع ويب بطيء. لتقديم أفضل خدمة للعملاء في أوروبا، يجب على شركتك إنشاء خادم ويب جديد لأوروبا وتحسينه. يجب تكوين الجهاز كخادم ويب IIS عند تجهيزه.

في حال طُلب منك اختيار أدوات التجهيز المناسبة. يجب أن تكون أدواتك سهلة الاستخدام وقابلة للتخصيص بسهولة.

في هذا التمرين، يمكنك توفير خادم ويب لتلبية المتطلبات.

تجهيز خادم الويب

تحتاج إلى استخدام عِدة الأدوات لتوفير خادم ويب. باستخدام قالب Azure Resource Manager، يمكنك تعريف بيئة خادم الويب. كما يمكن أن يساعدك قالب Azure Resource Manager في تحديد تكوين الحالة المطلوب (DSC) لخادم الويب. عند إنشاء ارتباط إلى معالج ملحق DSC في قالب Resource Manager، يتم تطبيق كل من البيئة والحالة المطلوبة عند توفير خادم الويب. يساعد معالج ملحق DSC فرض حالة DSC التي عرّفتها.

في التمرين التالي، عليك استخدام قالب Resource Manager لتجهيز الأجهزة الظاهرية. يفرض معالج امتداد DSC، الموجود في القالب، الوضع الخاص بك على الجهاز الظاهري. يمكنك استخدام حساب تخزين Azure لاستضافة ملف تكوين DSC الخاص بك.

استنساخ التكوين والقالب

فلنحصل الآن على ملف تكوين وقالب Azure Resource Manager من GitHup.

  1. في مثيل Azure Cloud Shell على اليمين، شغل الأمر التالي لنسخ مستودع GitHub.

    git clone https://github.com/MicrosoftDocs/mslearn-choose-compute-provisioning.git
    

فحص ملف State Configuration وضغطه

يتم تحديد State Configuration في ملف Webserver.ps1، ويتضمن خادم ويب لخدمات معلومات الإنترنت على جهازك الظاهري. دعونا نفحص هذا الملف.

  1. لفتح الملف، شغل هذه الأوامر:

    cd mslearn-choose-compute-provisioning
    code Webserver.ps1
    

    يتضمن ملف التكوين الرمز التالي. لاحظ أنه يقوم بتثبيت IIS وASP.NET وManagement Console.

    Configuration Webserver
    {
        param ($MachineName)
    
        Node $MachineName
        {
            #Install the IIS Role
            WindowsFeature IIS
            {
                Ensure = "Present"
                Name = "Web-Server"
            }
    
            #Install ASP.NET 4.5
            WindowsFeature ASP
            {
                Ensure = "Present"
                Name = "Web-Asp-Net45"
            }
    
            WindowsFeature WebServerManagementConsole
            {
                Name = "Web-Mgmt-Console"
                Ensure = "Present"
            }
        }
    }
    
  2. لإغلاق محرر التعليمات البرمجية، اضغط على Ctrl+Q.

  3. لرؤية محتويات المستودع المستنسخ، شغِّل هذا الأمر:

    ls -al
    

    لاحظ أن المستودع يحتوي على ملف Webserver.ps1 والملف المضغوط Webserver.zip . يمكنك استخدام ZIP فيما بعد في هذا التمرين.

تكوين القالب

يحتوي مستودع GitHub الذي نسخته أيضا على قالب Resource Manager. لنُحرر القالب لإضافة موقع ملف التكوين المضغوط إليه.

  1. شغِل هذا الأمر في Cloud Shell لفتح القالب:

    code template.json
    
  2. في ملف template.json، ابحث عن العنصر <parameters>. لاحظ أن بعض الأعضاء مثل vmName، ليس لديهم قيم افتراضية. عند استخدام القالب، يجب عليك إدخال قيم تلك الخصائص.

  3. كما يمكنك توفير قيمة افتراضية لعنوان موقع الويب لملف التكوين. في ملف التعليمات البرمجية template.json، حدد موقع هذه التعليمات البرمجية:

    "modulesUrl": {
        "type": "string",
        "metadata": {
            "description": "URL for the DSC configuration module."
        }
    },
    
  4. أضِف القيمة الافتراضية كما يلي بحيث يبدو مثل هذه التعليمة البرمجية:

    "modulesUrl": {
        "type": "string",
        "defaultValue": "https://github.com/MicrosoftDocs/mslearn-choose-compute-provisioning/raw/master/Webserver.zip",
        "metadata": {
            "description": "URL for the DSC configuration module."
        }
    },
    
  5. احفظ القالب بالضغط على Ctrl+S.

    في القسم <variables> بالملف template.json، لاحظ أن القيم مُخزنة لتكوين شبكة للأجهزة الظاهرية.

    لاحظ في القسم <resources> أن القالب يُعرّف عنوان IP، وشبكة ظاهرية، وجهازًا ظاهريًا، وغيرها من الموارد ذات الصلة.

  6. اغلق محرر التعليمات البرمجية بالضغط على Ctrl+Q.

صلاحية القالب الخاص بك

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

  1. في Cloud Shell، شغل هذا الأمر للتحقق من صحة التوزيع لديك. عندما يطلب منك إدخال كلمة مرور، أدخل كلمة مرور معقدة من اختيارك.

    az deployment group validate \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --template-file template.json \
        --parameters vmName=hostVM1 adminUsername=serveradmin
    
  2. إذا تم التحقق من صحة التوزيع الخاص بك، يعرض الإخراج معلومات حول التوزيع الخاص بك. انتبه جيدًا للخاصية error الموجودة بالقرب من الناتج ويمكنك العثور عليها بالتمرير للخلف خلال النص الناتج. يجب أن تكون null.

    Screenshot of Cloud Shell showing a successful template validation with a callout highlighting the error property set to null.

    إذ لم تكن هناك أخطاء، فقالبك صالح ويمكن نشره.

نشر قالبك

الآن، بعد أن عرفت أن القالب صالح، يمكنك توزيعه.

  1. لنشر القالب، شغل الأمر التالي. عند مطالبتك بكلمة مرور، أدخل كلمة المرور التي عرّفتها في المهمة السابقة.

    az deployment group create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --template-file template.json \
        --parameters vmName=hostVM1 adminUsername=serveradmin
    

    قد يستغرق التوزيع عدة دقائق للاكتمال.

  2. عند الانتهاء من التوزيع، سيكون لديك جهاز ظاهري تم تكوينه للاستخدام كخادم ويب IIS. للتأكد من أنه تم إعداده، شغّل الأمر التالي لسرد كافة الموارد في مجموعة الموارد.

    az resource list \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --output table \
        --query "[*].{Name:name, Type:type}"
    

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

  3. شغّل الأمر التالي لإنشاء URL لخادم الويب. يؤكد عنوان IP الناتج أنه تم تثبيت IIS بنجاح.

    echo http://$(az vm show \
        --show-details \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name hostVM1 \
        --query publicIps \
        --output tsv)
    
  4. حدد عنوان URL، أو انسخه، و الصقه في نافذة متصفح جديدة. يجب أن ترى صفحة IIS الافتراضية.

    Screenshot of the default IIS page on the virtual machine that was deployed.

تهانينا! لقد نجحت في توفير خادم ويب باستخدام قالب Resource Manager، وفرضت تكوين الحالة المطلوبة (DSC) على جهازك الظاهري باستخدام معالج ملحق DSC.