توسيع نطاق تطبيق App Service في جميع أنحاء العالم باستخدام بنية عالية التوافر باستخدام Azure CLI

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

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

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

نموذج البرنامج النصي

تشغيل Azure Cloud Shell

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

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

عند فتح Cloud Shell، تحقق من تحديد Bash لبيئتك. ستستخدم الجلسات اللاحقة Azure CLI في بيئة Bash، حدد نسخ لنسخ كتل التعليمات البرمجية، وألصقها في Cloud Shell، واضغط على Enter لتشغيلها.

تسجيل الدخول إلى Azure

يُصادق Cloud Shell تلقائياً بموجب الحساب الأولي الذي سُجل الدخول به. استخدم البرنامج النصي التالي لتسجيل الدخول باستخدام اشتراك مختلف، واستبدل <Subscription ID> بمعرّف اشتراك Azure الخاص بك. إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

لمزيد من المعلومات، راجع تعيين اشتراك نشط أو تسجيل الدخول بشكل تفاعلي

تشغيل البرنامج النصي

# Scale an App Service app worldwide with a high-availability architecture
# set -e # exit if error
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-app-service-rg-$randomIdentifier"
tag="scale-geographic.sh"
appServicePlan="msdocs-app-service-plan-$randomIdentifier"
trafficManagerDns="msdocs-dns-$randomIdentifier"
app1Name="msdocs-appServiceTM1-$randomIdentifier"
app2Name="msdocs-appServiceTM2-$randomIdentifier"
location1="West US"
location2="East US"

# Create a resource group.
echo "Creating $resourceGroup in "$location"..."
az group create --name $resourceGroup --location "$location" --tag $tag

# Create a Traffic Manager Profile
echo "Creating $trafficManagerDNS"
az network traffic-manager profile create --name $trafficManagerDns-tmp --resource-group $resourceGroup --routing-method Performance --unique-dns-name $trafficManagerDns

# Create App Service Plans in two Regions
az appservice plan create --name $app1Name-Plan --resource-group $resourceGroup --location "$location1" --sku S1
az appservice plan create --name $app2Name-Plan --resource-group $resourceGroup --location "$location2" --sku S1

# Add a Web App to each App Service Plan
site1=$(az webapp create --name $app1Name --plan $app1Name-Plan --resource-group $resourceGroup --query id --output tsv)
site2=$(az webapp create --name $app2Name --plan $app2Name-Plan --resource-group $resourceGroup --query id --output tsv)

# Assign each Web App as an Endpoint for high-availabilty
az network traffic-manager endpoint create -n $app1Name-"$location1" --profile-name $trafficManagerDns-tmp -g $resourceGroup --type azureEndpoints --target-resource-id $site1
az network traffic-manager endpoint create -n $app2Name-"$location2" --profile-name $trafficManagerDns-tmp -g $resourceGroup --type azureEndpoints --target-resource-id $site2

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

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

az group delete --name $resourceGroup

مرجع النموذج

يستخدم هذا البرنامج النصي الأوامر التالية لإنشاء مجموعة موارد وتطبيق App Service وملف تعريف مدير حركة المرور وكافة الموارد ذات الصلة. يرتبط كل أمر في الجدول بأمر وثائق معينة.

الأمر ملاحظات
az group create يُنشئ مجموعة موارد يتم فيها تخزين جميع الموارد.
az appservice plan create إنشاء خطة App Service.
az webapp create إنشاء تطبيق App Service.
az network traffic-manager profile create إنشاء ملف تعريف لـ Azure Traffic Manager.
az network traffic-manager endpoint create إضافة نقطة نهاية إلى ملف تعريف Azure Traffic Manager.

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

لمزيد من المعلومات عن Azure CLI، راجع وثائق Azure CLI.

يمكن العثور على نماذج البرامج النصية الإضافية لـ CLI في ⁧⁩وثائق Azure App Service⁧⁩.