البرنامج التعليمي: إنشاء قوالب ARM مع موارد تابعة
التعرف على كيفية إنشاء Azure Resource Manager (قالب ARM) لنشر موارد متعددة وتكوين ترتيب النشر. بعد إنشاء القالب، يمكنك نشره باستخدام Cloud Shell من مدخل Microsoft Azure.
في هذا البرنامج التعليمي، ستنشئ حساب تخزين وجهازاً ظاهرياً وشبكة ظاهرية وبعض الموارد التابعة الأخرى. تكون بعض الموارد غير قابلة للنشر حتى يتوفر مورد آخر. على سبيل المثال، لا يمكنك إنشاء الجهاز الظاهري حتى يتوفر له حساب تخزين وواجهة شبكة. يمكنك تحديد هذه العلاقة عبر جعل أحد الموارد تابعاً للموارد الأخرى. يقيّم Resource Manager التبعيات بين الموارد وينشرها بترتيب تبعيتها. عندما لا تكون الموارد تابعة لأحدها الآخر، يقوم Resource Manager بنشرها بالتوازي. لمزيد من المعلومات، راجع تحديد ترتيب لنشر الموارد في قوالب ARM.
يغطي هذا البرنامج التعليمي المهام التالية:
- فتح قالب "تشغيل سريع"
- استكشاف القالب
- نشر القالب
إذا لم يكن لديك اشتراك في Azure، فأنشئ free account قبل البدء.
بالنسبة إلى الوحدة النمطية Learn التي تغطي تبعيات الموارد، راجع إدارة عمليات التوزيع السحابية المعقدة باستخدام ميزات قالب ARM المتقدمة.
المتطلبات الأساسية
لإكمال هذه المقالة، تحتاج إلى الآتي:
"Visual Studio Code" إلى جانب ملحق "Resource Manager Tools". راجع التشغيل السريع: إنشاء قوالب ARM باستخدام Visual Studio Code.
لزيادة الأمان، استخدم كلمة مرور تم إنشاؤها لحساب مسؤول الجهاز الظاهري. يمكنك استخدام Azure Cloud Shell لتشغيل الأمر التالي في PowerShell أو Bash:
openssl rand -base64 32
لمعرفة المزيد، قم بتشغيل
man openssl rand
لفتح الصفحة اليدوية.تم تصميم Azure Key Vault لحماية مفاتيح التشفير وغيرها من الأسرار. للحصول على مزيدٍ من المعلومات، راجع البرنامج التعليمي: تكامل Azure Key Vault في نشر قوالب ARM. كما نوصي بتحديث كلمة المرور كل ثلاثة أشهر.
فتح قالب "تشغيل سريع"
تتمثل قوالب التشغيل السريع من Azure في مستودع لقوالب ARM. بدلاً من إنشاء قالب من البداية، يمكنك العثور على نموذج قالب وتخصيصه. يسمى القالب المستخدم في هذا البرنامج التعليمي نشر جهاز ظاهري بسيط يعمل بنظام Windows.
في Visual Studio Code، حدد ملف>فتح ملف.
في اسم الملف، أَلصِق عنوان URL الآتي:
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.compute/vm-simple-windows/azuredeploy.json
حدد فتح لفتح الملف.
حدد ملف>حفظ باسم، ثم احفظ نسخة من الملف في الكمبيوتر المحلي باسم azuredeploy.json.
استكشاف القالب
عند استكشاف القالب في هذا القسم، حاول الإجابة عن الأسئلة الآتية:
- كم عدد موارد Azure المحددة في هذا القالب؟
- أحد الموارد هو حساب تخزين Azure. هل يبدو التعريف هو نفسه المستخدم في البرنامج التعليمي الأخير؟
- هل يمكنك العثور على مراجع القالب للموارد المحددة في هذا القالب؟
- هل يمكنك العثور على تبعيات الموارد؟
من Visual Studio Code، قم بطي العناصر حتى ترى عناصر المستوى الأول وعناصر المستوى الثاني فقط داخل
resources
:هناك ستة موارد محددة بواسطة القالب:
Microsoft.Compute/virtualMachines.
من المفيد مراجعة مرجع القالب قبل تخصيص قالب.
قم بتوسيع المورد الأول. عبارة عن حساب تخزين. قارن تعريف المورد بمرجع القالب.
قم بتوسيع المورد الثاني. نوع المورد هو
Microsoft.Network/publicIPAddresses
. قارن تعريف المورد بمرجع القالب.قم بتوسيع المورد الثالث. نوع المورد هو
Microsoft.Network/networkSecurityGroups
. قارن تعريف المورد بمرجع القالب.قم بتوسيع المورد الرابع. نوع المورد هو
Microsoft.Network/virtualNetworks
:يتيح لك العنصر
dependsOn
تعريف مورد واحد بوصفه تابعاً لمورد واحد أو أكثر. يعتمد هذا المورد على مورد واحد آخر:Microsoft.Network/networkSecurityGroups
قم بتوسيع المورد الخامس. نوع المورد هو
Microsoft.Network/networkInterfaces
. يعتمد المورد على موردين آخرين:Microsoft.Network/publicIPAddresses
Microsoft.Network/virtualNetworks
قم بتوسيع المورد السادس. هذا المورد عبارة عن جهاز ظاهري. يعتمد على موردين آخرين:
Microsoft.Storage/storageAccounts
Microsoft.Network/networkInterfaces
يوضح الرسم التخطيطي الآتي الموارد ومعلومات التبعية لهذا القالب:
من خلال تحديد التبعيات، ينشر Resource Manager الحل بفعالية. ينشر حساب التخزين وعنوان IP العام والشبكة الظاهرية بالتوازي نظراً إلى أنهم ليس لهم تبعيات. بعد نشر عنوان IP العام والشبكة الظاهرية، يتم إنشاء واجهة الشبكة. عند نشر جميع الموارد الأخرى، ينشر Resource Manager الجهاز الظاهري.
نشر القالب
تسجيل الدخول إلى Cloud Shell.
يمكنك اختيار بيئتك المفضلة عن طريق تحديد PowerShell أو Bash (لـ CLI) في الزاوية العلوية اليسرى. يلزم إعادة تشغيل Shell عند التبديل.
حدد Upload/download files، ثم حدد Upload. راجع لقطة الشاشة السابقة. حدد الملف الذي قمت بحفظه سابقاً. بعد تحميل الملف، يُمكنك استخدام الأمر
ls
وcat
للتحقق من تحميل الملف بنجاح.شغّل البرنامج النصي PowerShell الآتي لنشر القالب.
echo "Enter a project name that is used to generate resource group name:" && read projectName && echo "Enter the location (i.e. centralus):" && read location && echo "Enter the virtual machine admin username:" && read adminUsername && echo "Enter the DNS label prefix:" && read dnsLabelPrefix && resourceGroupName="${projectName}rg" && az group create --name $resourceGroupName --location $location && az deployment group create --resource-group $resourceGroupName --template-file "$HOME/azuredeploy.json" --parameters adminUsername=$adminUsername dnsLabelPrefix=$dnsLabelPrefix
RDP إلى الجهاز الظاهري للتحقق من إنشاء الجهاز الظاهري بنجاح.
تنظيف الموارد
عندما لا تكون موارد Azure مطلوبة، قم بتنظيف الموارد التي قمت بنشرها عن طريق حذف مجموعة الموارد.
- من مدخل Azure، حدد مجموعة الموارد من القائمة اليمنى.
- أدخل اسم مجموعة الموارد في الحقل Filter by name.
- حدد اسم مجموعة الموارد. سترى إجمالي ستة موارد في مجموعة الموارد.
- حدد Delete resource group من القائمة.
الخطوات التالية
في هذا البرنامج التعليمي، قمت بتطوير قالب ونشره لإنشاء جهاز ظاهري وشبكة ظاهرية والموارد التابعة. للتعرف على كيفية استخدام البرامج النصية للنشر لتنفيذ عمليات ما قبل/ بعد النشر، راجع:
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ