انشأ وأدر ارتباط خاص لقاعدة بيانات Azure لـ MySQL باستخدام CLI

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

هام

قاعدة بيانات Azure لخادم MySQL الفردي على مسار الإيقاف. نوصي بشدة بالترقية إلى قاعدة بيانات Azure لخادم MySQL المرن. لمزيد من المعلومات حول الترحيل إلى خادم Azure Database for MySQL المرن، راجع ما الذي يحدث لقاعدة بيانات Azure لخادم MySQL الفردي؟

نقطة النهاية الخاصة هي كتلة إنشائية أساسية للرابط الخاص في Azure. وهي تمكّن موارد Azure، مثل الأجهزة الظاهرية، من الاتصال بموارد الارتباط الخاص بشكل خاص. في هذه المقالة، ستتعلم كيفية استخدام Azure CLI لإنشاء جهاز ظاهري في شبكة Azure الظاهرية وقاعدة بيانات Azure لخادم MySQL مع نقطة نهاية خاصة ل Azure.

إشعار

تتوفر ميزة الارتباط الخاص فقط لـ Azure Database for MySQL في طبقات الأسعار للأغراض العامة أو الذاكرة المحسنة. تأكد من أن خادم قاعدة البيانات في أحد مستويات الأسعار هذه.

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

  • تتطلب هذه المقالة الإصدار 2.0.28 أو إصدارًا أحدث من واجهة سطر الأوامر من Azure. إذا كنت تستخدم Azure Cloud Shell، يتم تثبيت أحدث إصدار بالفعل.

إنشاء مجموعة موارد

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

az group create --name myResourceGroup --location westeurope

إنشاء شبكة ظاهرية.

قم بإنشاء شبكة ظاهرية باستخدام az network vnet create. ينشأ هذا المثال شبكة ظاهرية افتراضية باسم myVirtualNetwork وشبكة فرعية واحدة باسمmySubnet:

az network vnet create \
 --name myVirtualNetwork \
 --resource-group myResourceGroup \
 --subnet-name mySubnet

تعطيل نهج نقطة النهاية الخاصة بالشبكة الفرعية

يوزع Azure الموارد للشبكة الفرعية من خلال الشبكة الظاهرية؛ لذلك تحتاج إلى إنشاء الشبكة الفرعية أو تحديثها لتعطيل سياسات شبكة نقطة النهاية الخاصة. قم بتحديث تكوين الشبكة الفرعية المسمى mySubnet مع تحديث الشبكة الفرعية لشبكة az network vnet:

az network vnet subnet update \
 --name mySubnet \
 --resource-group myResourceGroup \
 --vnet-name myVirtualNetwork \
 --disable-private-endpoint-network-policies true

إنشاء جهاز ظاهري

قم بإنشاء جهاز ظاهري VM باستخدام "az vm إنشاء". عند المطالبة، يجب تقديم كلمة مرور لاستخدامها على أنها بيانات اعتماد للجهاز الظاهري. ينشأ هذا المثال جهازًا ظاهريًا باسم myVM1:

az vm create \
  --resource-group myResourceGroup \
  --name myVm \
  --image Win2019Datacenter

إشعار

عنوان IP العام للجهاز الظاهري يمكنك استخدام هذا العنوان للاتصال بالجهاز الظاهري من الإنترنت في الخطوة التالية.

إنشاء خادم Azure Database for MySQL

إنشاء قاعدة بيانات Azure ل MySQL باستخدام الأمر az mysql server create. تذكر أن اسم حساب التخزين الخاص بك يجب أن يكون فريدًا عبر Azure، لذا استبدل قيمة العنصر النائب بين قوسين بقيمة فريدة خاصة بك:

# Create a server in the resource group 

az mysql server create \
--name mydemoserver \
--resource-group myResourcegroup \
--location westeurope \
--admin-user mylogin \
--admin-password <server_admin_password> \
--sku-name GP_Gen5_2

إشعار

في بعض الحالات، تكون قاعدة بيانات Azure لـ MySQL والشبكة الفرعية للشبكة الظاهرية في اشتراكات مختلفة. في هذه الحالات، يجب عليك التأكد من التكوينات التالية:

  • تأكد من أن كلا الاشتراكين لديه موفر موارد Microsoft.DBforMySQL مسجل. للمزيد من المعلومات، راجع تسجيل مدير الموارد

قم بإنشاء نقطة النهاية الخاصة

أنشئ نقطة نهاية خاصة لخادم MySQL في الشبكة الظاهرية:

az network private-endpoint create \  
    --name myPrivateEndpoint \  
    --resource-group myResourceGroup \  
    --vnet-name myVirtualNetwork  \  
    --subnet mySubnet \  
    --private-connection-resource-id $(az resource show -g myResourcegroup -n mydemoserver --resource-type "Microsoft.DBforMySQL/servers" --query "id" -o tsv) \    
    --group-id mysqlServer \  
    --connection-name myConnection  

تكوين منطقة DNS الخاصة

أنشئ منطقة DNS خاصة لمجال خادم MySQL وأنشئ ارتباطًا بالشبكة الافتراضية.

az network private-dns zone create --resource-group myResourceGroup \ 
   --name  "privatelink.mysql.database.azure.com" 
az network private-dns link vnet create --resource-group myResourceGroup \ 
   --zone-name  "privatelink.mysql.database.azure.com"\ 
   --name MyDNSLink \ 
   --virtual-network myVirtualNetwork \ 
   --registration-enabled false 

# Query for the network interface ID  
$networkInterfaceId=$(az network private-endpoint show --name myPrivateEndpoint --resource-group myResourceGroup --query 'networkInterfaces[0].id' -o tsv)

az resource show --ids $networkInterfaceId --api-version 2019-04-01 -o json 
# Copy the content for privateIPAddress and FQDN matching the Azure database for MySQL name 

# Create DNS records 
az network private-dns record-set a create --name myserver --zone-name privatelink.mysql.database.azure.com --resource-group myResourceGroup  
az network private-dns record-set a add-record --record-set-name myserver --zone-name privatelink.mysql.database.azure.com --resource-group myResourceGroup -a <Private IP Address>

إشعار

لم يتم حل FQDN في إعدادات DNS الخاص بالعميل فيما يتعلق بـIP الخاص الذي تم تكوينه. سيتعين عليك إعداد منطقة DNS لـ FQDN الذي تم تكوينه كما هو موضح هنا.

الاتصال بجهاز افتراضي من الإنترنت

اتصل بـVM myVm من الإنترنت على النحو التالي:

  1. في شريط بحث مدخل Azure، أدخِل myVm.

  2. حدد الزر توصيل. بعد تحديد زر Connect، يتم فتح الاتصال إلى الجهاز الظاهري.

  3. حدد Download RDP File. يعمل "Azure" على إنشاء ملف "Remote Desktop Protocol" (.rdp)وتنزيله إلى الكمبيوتر.

  4. افتح الملف downloaded.rdp.

    1. إذا تمت المطالبة، فحدد Connect.

    2. أدخل اسم المستخدم ورمز الوصول اللذين حددتهما عند إنشاء الجهاز الظاهري.

      إشعار

      قد تحتاج إلى تحديد المزيد من الخياراتاستخدم >حسابًا مختلفًا، لتحديد بيانات الاعتماد التي أدخلتها عند إنشاء الجهاز الظاهري.

  5. حدد موافق.

  6. قد تتلقى تحذير مصادقة أثناء عملية تسجيل الدخول. إذا تلقيت شهادة تحذير، فحدد "Yes" أو "Continue".

  7. بمجرد ظهور سطح مكتب الخاص بالجهاز الظاهري، قم بتصغيره للعودة إلى سطح المكتب المحلي.

الوصول إلى خادم MySQL من حلال لجهاز الظاهري بشكل منفصل

  1. في سطح المكتب البعيد الخاص بـ myVM، افتح PowerShell.

  2. أدخل nslookup mydemomysqlserver.privatelink.mysql.database.azure.com.

    ستتلقى رسالة مشابهة لهذه النتائج:

    Server:  UnKnown
    Address:  168.63.129.16
    Non-authoritative answer:
    Name:    mydemomysqlserver.privatelink.mysql.database.azure.com
    Address:  10.1.3.4
    
  3. اختبر اتصال الرابط الخاص لخادم MySQL باستخدام أي عميل متوفر. في المثال أدناه، استخدمت MySQL Workbench للقيام بتلك بالعملية.

  4. في الاتصال الجديد، قم بإدخال أو تحديد هذه المعلومات:

    الإعداد القيمة‬
    اسم الاتصال حدد اسم الاتصال من اختيارك.
    اسم المضيف حدد mydemoserver.privatelink.mysql.database.azure.com
    اسم مستخدم أدخل اسم المستخدم ك username@servername الذي يتم توفيره أثناء إنشاء خادم MySQL.
    كلمة المرور أدخل كلمة المرور المنشأة أثناء إنشاء خادم MySQL.
  5. حدد اتصال.

  6. تصفح قواعد البيانات من القائمة اليسرى.

  7. (اختياريًا) إنشاء معلومات أو الاستعلام عنها من mysqldatabase.

  8. أغلق اتصال سطح المكتب البعيد بالجهاز الظاهري myVM.

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

عندما لم تعد هناك حاجة، يمكنك استخدام az group delete لإزالة مجموعة الموارد وجميع الموارد التي لديها:

az group delete --name myResourceGroup --yes 

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