أنشئ ارتباط خاص وأدره للخادم الفردي الخاص بخدمة Azure Database for PostgreSQL باستخدام واجهة سطر الأوامر

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

هام

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

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

إشعار

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

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

للتقدم في هذا الدليل الإرشادي، تحتاج إلى:

Azure Cloud Shell

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

لبدء Azure Cloud Shell:

خيار مثال/ رابط
انقر فوق ⁧⁩جربه⁧⁩ في الزاوية العلوية اليسرى من التعليمة البرمجية أو كتلة الأمر. تحديد ⁧⁩جربه⁧⁩ لا يقوم بنسخ التعليمة البرمجية أو الأمر تلقائيًا إلى Cloud Shell. لقطة شاشة تعرض مثالاً على Try It for Azure Cloud Shell.
انتقل إلى ⁧⁩⁧ https://shell.azure.com⁩⁧⁩، أو حدد زر ⁩تشغيل Cloud Shell لفتح Cloud Shell في المتصفح لديك. زر لتشغيل Azure Cloud Shell.
حدد زر Cloud Shell على شريط القوائم في أعلى اليمين في مدخل Microsoft Azure. لقطة شاشة تعرض زر Cloud Shell في مدخل Microsoft Azure

لاستخدام Azure Cloud Shell:

  1. ابدأ تشغيل Cloud Shell.

  2. حدد الزر نسخ على كتلة التعليمات البرمجية (أو كتلة الأوامر) لنسخ التعليمات البرمجية أو الأمر.

  3. ألصق التعليمة البرمجية أو الأمر في جلسة Cloud Shell بتحديد Ctrl+Shift+Vعلى Windows وLunix، أو بتحديد Cmd+Shift+Vعلى macOS.

  4. حدد Enter لتشغيل التعليمات البرمجية أو الأمر.

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

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

قبل أن تنشأ شبكة ظاهرية، يجب عليك إنشاء مجموعة موارد لاستضافة الشبكة الظاهرية أولًا. أنشئ مجموعة موارد باستخدام إنشاء مجموعة 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 PostgreSQL

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

# Create a server in the resource group

[!INCLUDE [applies-to-postgresql-single-server](../includes/applies-to-postgresql-single-server.md)]

[!INCLUDE [azure-database-for-postgresql-single-server-deprecation](../includes/azure-database-for-postgresql-single-server-deprecation.md)]


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

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

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

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.DBforPostgreSQL/servers" --query "id" -o tsv) \    
    --group-id postgresqlServer \  
    --connection-name myConnection  

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

أنشئ منطقة DNS خاصة لمجال خادم PostgreSQL وأنشئ ارتباطًا بالشبكة الظاهرية.

az network private-dns zone create --resource-group myResourceGroup \ 
   --name  "privatelink.postgres.database.azure.com" 
az network private-dns link vnet create --resource-group myResourceGroup \ 
   --zone-name  "privatelink.postgres.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 PostgreSQL name

[!INCLUDE [applies-to-postgresql-single-server](../includes/applies-to-postgresql-single-server.md)]

[!INCLUDE [azure-database-for-postgresql-single-server-deprecation](../includes/azure-database-for-postgresql-single-server-deprecation.md)]


#Create DNS records 

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

إشعار

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

إشعار

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

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

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

اتصل بـ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. بمجرد ظهور سطح مكتب الخاص بالجهاز الظاهري، قم بتصغيره للعودة إلى سطح المكتب المحلي.

ثم قم بالوصول إلى الخادم الخاص بـ PostgreSQL بشكل خاص من الجهاز الظاهري

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

  2. أدخل nslookup mydemopostgresserver.privatelink.postgres.database.azure.com.

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

    Server:  UnKnown
    Address:  168.63.129.16
    Non-authoritative answer:
    Name:    mydemopostgresserver.privatelink.postgres.database.azure.com
    Address:  10.1.3.4
    
  3. اختبر اتصال الرابط الخاص لخادم PostgreSQL باستخدام أي كمبيوتر عميل متاح. يستخدم المثال التالي Azure Data studio للقيام بالعملية.

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

    الإعداد القيمة‬
    نوع الخادم قم بتحديدPostgresQL.
    اسم الخادم قم بتحديدmydemopostgresserver.privatelink.postgres.database.azure.com
    اسم المستخدم أدخل اسم المستخدم مثل username@servername الذي يتم توفيره أثناء إنشاء خادم PostgreSQL.
    كلمة المرور أدخل رمز الوصول المقدم أثناء إنشاء خادم PostgreSQL.
    SSL حدد مطلوب.
  5. حدد اتصال.

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

  7. (اختياريًا) قم بإنشاء أو الاستعلام عن المعلومات باستخدام خادم postgreSQL.

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

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

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

az group delete --name myResourceGroup --yes 

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