إنشاء نقاط نهاية موفر الشبكة الظاهرية وإدارتها لقاعدة بيانات Azure لـ PostgreSQL - باستخدام خادم Azure CLI الوحيد.

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

هام

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

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

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

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

إشعار

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

تكوين نقاط نهاية موفر الشبكة الظاهرية

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

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

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

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

هام

يوصى بشدة بقراءة المقالة حول تكوينات واعتبارات نقطة تقديم الخدمة قبل تشغيل نموذج البرنامج النصي أدناه، أو تكوين نقاط نهاية الموفر. نقطة تقديم خدمة الشبكة الظاهرية:نقطة تقديم خدمة الشبكة الظاهرية هي شبكة فرعية تشمل قيم خصائصها اسم أو أكثر من أسماء أنواع خدمة 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 a PostgreSQL server and configure a vNet rule

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-postgresql-rg-$randomIdentifier"
tag="create-postgresql-server"
server="msdocs-postgresql-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 PostgreSQL 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 postgres 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 is JSON
echo "List of available service endpoints for $location"
az network vnet list-endpoint-services --location "$location"

# Add Azure SQL service endpoint to a subnet while creating the virtual network
echo "Adding service endpoint to $subnet in $vNet"
az network vnet create --resource-group $resourceGroup --name $vNet --address-prefixes $vNetAddressPrefix --location "$location"

# Creates the service endpoint
echo "Creating a service endpoint to $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 postgres server vnet-rule create --name $rule --resource-group $resourceGroup --server $server --vnet-name $vNet --subnet $subnet

تنظيف النشر

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

echo "Cleaning up resources by removing the resource group..."
az group delete --name $resourceGroup -y