إنشاء وإدارة قاعدة بيانات Azure لنقاط نهاية خدمة MySQL VNet باستخدام موقع Azure CLI

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

هام

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

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

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

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

إشعار

دعم نقاط نهاية خدمة الشبكة الظاهرية هو فقط للأغراض العامة والخوادم المحسنة للذاكرة. في حالة تناظر الشبكة الظاهرية، إذا كانت نسبة استخدام الشبكة تتدفق من خلال بوابة شبكة ظاهرية مشتركة مع نقاط نهاية الموفر ومن المفترض أن تتدفق إلى النظير، إنشاء قاعدة ACL/VNet للسماح لأجهزة Azure الظاهرية في بوابة الشبكة الظاهرية بالوصول إلى قاعدة بيانات Azure لخادم PostgreSQL.

تكوين نقاط نهاية خدمة Vnet لقاعدة بيانات Azure ل MySQL

استخدام أوامر az network vnet من أجل تكوين الشبكات الظاهرية.

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

لتأمين موارد خدمة Azure إلى الشبكة الظاهرية، يجب حصول المستخدم على إذن إلى "Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/" للشبكات الفرعية المضافة. يتم تضمين هذا الإذن في أدوار مسؤول الخدمة المضمن بشكل افتراضي ويمكن تعديله عن طريق إنشاء أدوار مخصصة.

تعرف على المزيد حول الأدوار المضمنة وتعيين أذونات محددة إلى الأدوار المخصصة.

يمكن أن تكون الشبكات الظاهرية وموارد الخدمة الخاصة بـ Azure في الاشتراكات نفسها أو في اشتراكات مختلفة. إذا كانت موارد خدمة الشبكة الظاهرية وAzure في اشتراكات مختلفة، يجب أن تكون الموارد ضمن المستأجر نفسه لـ Active Directory (AD). تأكد من تسجيل موفري موارد Microsoft.Sql وMicrosoft.DBforMySQL في كلا الاشتراكين. للمزيد من المعلومات، راجع تسجيل مدير الموارد

هام

يوصى بشدة بقراءة المقالة حول تكوينات واعتبارات نقطة تقديم الخدمة قبل تشغيل نموذج البرنامج النصي أدناه، أو تكوين نقاط نهاية الموفر. نقطة تقديم خدمة الشبكة الظاهرية:نقطة تقديم خدمة الشبكة الظاهرية هي شبكة فرعية تشمل قيم خصائصها اسم أو أكثر من أسماء أنواع خدمة Azure الرسمية. تستخدم نقاط نهاية موفر الشبكة الظاهرية اسم نوع الخدمة Microsoft.Sql، والذي يشير إلى خدمة Azure المسماة SQL Database. تنطبق علامة الخدمة هذه أيضًا على خدمات Azure SQL Database وAzure Database for PostgreSQL وMySQL. من المهم ملاحظة عند تطبيق علامة الخدمة Microsoft.Sql على نقطة تقديم خدمة الشبكة الظاهرية، فإنها تقوم بتكوين نسبة استخدام الشبكة نقطة تقديم الخدمة لكافة خدمات قاعدة بيانات Azure، بما في ذلك قاعدة بيانات Azure SQL وقاعدة بيانات Azure ل PostgreSQL وقاعدة بيانات Azure لخوادم MySQL على الشبكات الفرعية.

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

إطلاق Azure Cloud Shell

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

لفتح Cloud Shell، ما عليك سوى تحديد جربه من الزاوية اليمنى العليا من مجموعة التعليمات البرمجية. يمكنك أيضًا تشغيل 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'

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

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

# Create and manage Azure Database for MySQL VNet service endpoints

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-mysql-rg-$randomIdentifier"
tag="create-mysql-server"
server="msdocs-mysql-server-$randomIdentifier"
sku="GP_Gen5_2"
vNet="vNet-$randomIdentifier"
vNetAddressPrefix="10.0.0.0/16"
subnet="subnet-$randomIdentifier"
subnetAddressPrefix="10.0.1.0/24"
rule="rule-$randomIdentifier"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"

echo "Using resource group $resourceGroup with login: $login, password: $password..."

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

# Create a MySQL server in the resource group
# Name of a server maps to DNS name and is thus required to be globally unique in Azure.
echo "Creating $server in $location..."
az mysql server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password --sku-name $sku

# Get available service endpoints for Azure region output in JSON
echo "List of available service endpoints for $location"
az network vnet list-endpoint-services --location "$location"

# Create the virtual network
echo "Creating $vNet"
az network vnet create --resource-group $resourceGroup --name $vNet --address-prefixes $vNetAddressPrefix --location "$location"

# Creates the subnet
echo "Creating $subnet in $vNet"
az network vnet subnet create --resource-group $resourceGroup --name $subnet --vnet-name $vNet --address-prefix $subnetAddressPrefix --service-endpoints Microsoft.SQL

# View service endpoints configured on a subnet
echo "Viewing the service endpoint to $subnet in $vNet"
az network vnet subnet show --resource-group $resourceGroup --name $subnet --vnet-name $vNet

# Create a VNet rule on the server to secure it to the subnet
# Note: resource group (-g) parameter is where the database exists.
# VNet resource group if different should be specified using subnet id (URI) instead of subnet, VNet pair.
echo "Creating a VNet rule on $server to secure it to $subnet in $vNet"
az mysql server vnet-rule create --name $rule --resource-group $resourceGroup --server $server --vnet-name $vNet --subnet $subnet

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

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

az group delete --name $resourceGroup