البرنامج التعليمي: الاتصال تطبيق ويب App Services إلى قاعدة بيانات Azure ل MySQL - خادم مرن في شبكة ظاهرية

ينطبق على: قاعدة بيانات Azure لـMySQL - خادم مرن

يوضح لك هذا البرنامج التعليمي كيفية إنشاء وتوصيل Azure App Service Web App بمثيل خادم مرن ل Azure Database for MySQL معزول داخل نفس الشبكات الظاهرية أو الشبكات الظاهرية المختلفة.

في هذا البرنامج التعليمي ستتعلم:

  • إنشاء مثيل خادم مرن ل Azure Database for MySQL في شبكة ظاهرية
  • إنشاء شبكة فرعية للتفويض إلى App Service وإنشاء تطبيق ويب
  • إضافة تطبيق الويب إلى الشبكة الظاهرية
  • الاتصال إلى خادم Azure Database for MySQL المرن من تطبيق الويب
  • الاتصال تطبيق ويب ومثيل خادم مرن ل Azure Database for MySQL معزول في شبكات ظاهرية مختلفة

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

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ. حاليا، باستخدام حساب Azure المجاني، يمكنك تجربة Azure Database for MySQL - Flexible Server مجانا لمدة 12 شهرا. لمزيد من المعلومات، راجع تجربة Azure Database for MySQL - Flexible Server مجانا.

تتطلب هذه المقالة تشغيل Azure CLI الإصدار 2.0 أو إصدار أحدث محلياً. لمشاهدة الإصدار المثبت، قم بتشغيل الأمر az --version. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI.

ستحتاج إلى تسجيل الدخول إلى حسابك باستخدام الأمر az login. لاحظ خاصية id من إخراج الأمر لاسم الاشتراك المقابل.

az login

في حال وجود اشتراكات متعددة، فيمكن اختيار الاشتراك المناسب الذي يجب أن يتم فيه فوترة المورد. حدد معرف الاشتراك المحدد ضمن حسابك باستخدام الأمر az account set. استبدل خاصية subscription ID في إخراج az login لاشتراكك في العنصر النائب لمعرف الاشتراك.

az account set --subscription <subscription ID>

إنشاء مثيل خادم مرن لقاعدة بيانات Azure ل MySQL

إنشاء مثيل خادم مرن ل Azure Database for MySQL داخل شبكة ظاهرية (VNET) باستخدام الأمر التالي:

az mysql flexible-server create --resource-group myresourcegroup --location westus2 --vnet VNETName

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

  • أنشأ مجموعة الموارد إذا لم تكن موجودة بالفعل.
  • يُنشئ اسم خادم إذا لم يتم توفيره.
  • إنشاء شبكة ظاهرية جديدة، VNETName لمثيل خادم Azure Database for MySQL المرن والشبكة الفرعية داخل هذه الشبكة الظاهرية لمثيل خادم Azure Database for MySQL المرن. تأكد من أن الاسم فريد.
  • ينشئ اسم مستخدم المشرف وكلمة المرور للخادم الخاص بك إذا لم يتم توفيره.
  • إنشاء قاعدة بيانات فارغة تسمى flexibleserverdb.

إشعار

دون كلمة المرور التي تم إنشاؤها لك إذا لم يتم توفيرها. إذا نسيت كلمة المرور، يجب عليك إعادة تعيين كلمة المرور باستخدام az mysql flexible-server update الأمر .

إنشاء شبكة فرعية لنقطة نهاية App Service

تحتاج الآن إلى شبكة فرعية مفوضة إلى نقطة نهاية App Service Web App. قم بتشغيل الأمر التالي لإنشاء شبكة فرعية جديدة في نفس الشبكة الظاهرية مثل إنشاء مثيل خادم مرن ل Azure Database for MySQL.

az network vnet subnet create -g myresourcegroup --vnet-name VNETName --name webappsubnetName  --address-prefixes 10.0.1.0/24  --delegations Microsoft.Web/serverFarms --service-endpoints Microsoft.Web

تدوين ملاحظة عن اسم الشبكة الظاهرية واسم الشبكة الفرعية بعد هذا الأمر كما تحتاج إلى إضافة قاعدة دمج الشبكة الظاهرية لتطبيق الويب بعد إنشائه.

أنشئ تطبيق ويب

في هذا القسم، يمكنك إنشاء مضيف تطبيق في تطبيق App Service وتوصيل هذا التطبيق بقاعدة بيانات Azure Database for MySQL المرنة. تأكد من أنك في جذر المستودع للتعليمة البرمجية الخاصة بتطبيقك في الجهاز.

إنشاء تطبيق App Service (عملية المضيف) باستخدام الأمر az webapp up.

az webapp up --resource-group myresourcegroup --location westus2 --plan testappserviceplan --sku P2V2 --name mywebapp

إشعار

  • بالنسبة إلى الوسيطة --location، استخدم نفس الموقع الذي استخدمته لقاعدة البيانات في القسم السابق.
  • استبدل<app-name> باسم فريد عبر كل Azure (نقطة نهاية الخادم هي https://\<app-name>.azurewebsites.net). الأحرف المسموح بها لـ <اسم التطبيق> هي AZ و0-9 و-. النمط الجيد هو استخدام مزيج من اسم شركتك ومعرف التطبيق.
  • المستوى الأساسي من App Service لا يدعم دمج الشبكة الظاهرية. الرجاء استخدام Standard أو Premium.

ينفذ هذا الأمر الإجراءات التالية، وقد يستغرق ذلك بضع دقائق:

  • أنشأ مجموعة الموارد إذا لم تكن موجودة بالفعل. (في هذا الأمر، يمكنك استخدام مجموعة الموارد نفسها التي أنشأت فيها قاعدة البيانات في وقت سابق.)
  • وضع خطة App Service testappserviceplan في مستوى التسعير الأساسي (B1)، إذا لم تكن موجودة. --plan and --sku اختياريان.
  • إنشاء تطبيق App Service إذا لم يكن موجوداً.
  • تمكين التسجيل الافتراضي للتطبيق، إذا لم يكن ممكّناً بالفعل.
  • حمِّل المستودع باستخدام توزيع ZIP مع تمكين أتمتة الإنشاء.

إضافة تطبيق الويب إلى الشبكة الظاهرية

استخدم الأمر az webapp vnet-Integration لإضافة تكامل شبكة افتراضية إقليمية إلى تطبيق ويب. استبدل <اسم الشبكة الظاهرية <> واسم الشبكة الفرعية بالشبكة الظاهرية واسم الشبكة الفرعية الذي يستخدمه مثيل الخادم المرن ل Azure Database for MySQL.

az webapp vnet-integration add -g myresourcegroup -n  mywebapp --vnet VNETName --subnet webappsubnetName

تكوين متغيرات البيئة لتوصيل قاعدة البيانات

مع نشر التعليمات البرمجية الآن إلى App Service، فإن الخطوة التالية هي توصيل التطبيق بمثيل خادم Azure Database for MySQL المرن في Azure. يتوقع رمز التطبيق العثور على معلومات قاعدة البيانات في عدد من متغيرات البيئة. لتعيين متغيرات البيئة في App Service، يمكنك إنشاء "إعدادات التطبيق" باستخدام az webapp config appsettings set الأمر .

az webapp config appsettings set --settings DBHOST="<mysql-server-name>.mysql.database.azure.com" DBNAME="flexibleserverdb" DBUSER="<username>" DBPASS="<password>"
  • استبدل <mysql-server-name> واسم< المستخدم> وكلمة <المرور> لأمر الخادم المرن Azure Database for MySQL الذي تم إنشاؤه حديثا.
  • استبدل <اسم المستخدم> و<كلمة المرور> بمعلومات تسجيل الدخول التي أنشأها الأمر لك أيضاً.
  • تُحدد أسماء مجموعة الموارد والتطبيقات من القيم المخزنة مؤقتاً في ملف .azure/config.
  • ينشئ الأمر إعدادات تُسمى DBHOST وDBNAME وDBUSER وDBPASS. إذا كان رمز التطبيق الخاص بك يستخدم اسماً مختلفاً لمعلومات قاعدة البيانات، فاستخدم هذه الأسماء لإعدادات التطبيق كما هو مذكور في التعليمة البرمجية.

تكوين تطبيق الويب للسماح لجميع الاتصالات الصادرة من داخل الشبكة الظاهرية.

az webapp config set --name mywebapp --resource-group myresourcesourcegroup --generic-configurations '{"vnetRouteAllEnabled": true}'

تطبيق App Service Web وقاعدة بيانات Azure لمثيل خادم MySQL المرن في شبكات ظاهرية مختلفة

إذا قمت بإنشاء تطبيق App Service ومثيل خادم Azure Database for MySQL المرن في شبكات ظاهرية مختلفة (VNets)، فستحتاج إلى القيام بالخطوتين التاليتين لإنشاء اتصال سلس:

  • قم بتوصيل الشبكتين الظاهريتين باستخدام نظير VNet (محلي أو عمومي). راجع دليل الاتصال بالشبكات الظاهرية باستخدام تناظر الشبكة الظاهرية.
  • ربط منطقة DNS الخاصة لمثيل خادم Azure Database for MySQL المرن بالشبكة الظاهرية لتطبيق الويب باستخدام ارتباطات الشبكة الظاهرية. إذا كنت تستخدم مدخل Azure أو Azure CLI لإنشاء قاعدة بيانات Azure لمثيلات الخادم المرن MySQL في VNet، يتم توفير منطقة DNS خاصة جديدة تلقائيا في اشتراكك باستخدام اسم الخادم المتوفر. انتقل إلى منطقة DNS الخاصة لمثيل خادم Azure Database for MySQL المرن واتبع كيفية ربط منطقة DNS الخاصة بدليل شبكة ظاهرية لإعداد ارتباط شبكة ظاهرية.

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

تنظيف جميع الموارد التي أنشأتها في البرنامج التعليمي باستخدام الأمر التالي. يحذف هذا الأمر جميع الموارد في مجموعة الموارد هذه.

az group delete -n myresourcegroup

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