الاتصال بنظام مجموعة مع وصول خاص في Azure Cosmos DB ل PostgreSQL

ينطبق على: Azure Cosmos DB ل PostgreSQL (مدعوم بملحق قاعدة بيانات Citus إلى PostgreSQL)

ينشئ هذا البرنامج التعليمي جهازا ظاهريا (VM) وقاعدة بيانات Azure Cosmos DB لنظام مجموعة PostgreSQL، وينشئ وصولا خاصا بينهما.

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

إنشاء شبكة افتراضية

أولا، قم بإعداد مجموعة موارد وشبكة ظاهرية للاحتفاظ بنظام المجموعة والجهاز الظاهري.

az group create \
	--name link-demo \
	--location eastus

az network vnet create \
	--resource-group link-demo \
	--name link-demo-net \
	--address-prefix 10.0.0.0/16

az network nsg create \
	--resource-group link-demo \
	--name link-demo-nsg

az network vnet subnet create \
	--resource-group link-demo \
	--vnet-name link-demo-net \
	--name link-demo-subnet \
	--address-prefixes 10.0.1.0/24 \
	--network-security-group link-demo-nsg

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

للعرض التوضيحي، قم بإنشاء جهاز ظاهري يعمل بنظام Debian Linux وعميل psql PostgreSQL.

# provision the VM

az vm create \
	--resource-group link-demo \
	--name link-demo-vm \
	--vnet-name link-demo-net \
	--subnet link-demo-subnet \
	--nsg link-demo-nsg \
	--public-ip-address link-demo-net-ip \
	--image Debian11 \
	--admin-username azureuser \
	--generate-ssh-keys

# install psql database client

az vm run-command invoke \
	--resource-group link-demo \
	--name link-demo-vm \
	--command-id RunShellScript \
	--scripts \
		"sudo touch /home/azureuser/.hushlogin" \
		"sudo DEBIAN_FRONTEND=noninteractive apt-get update" \
		"sudo DEBIAN_FRONTEND=noninteractive apt-get install -q -y postgresql-client"

إنشاء نظام مجموعة Azure Cosmos DB ل PostgreSQL في مدخل Microsoft Azure.

  1. في المدخل، حدد Create a resource في الزاوية العلوية اليمنى.

  2. في صفحة Create a resource ، حدد Databases، ثم حدد Azure Cosmos DB.

  3. في صفحة تحديد خيار واجهة برمجة التطبيقات ، في لوحة PostgreSQL ، حدد إنشاء.

  4. في صفحة إنشاء Azure Cosmos DB لنظام مجموعة PostgreSQL ، املأ المعلومات التالية:

    • مجموعة الموارد: حدد جديد، ثم أدخل link-demo.

    • اسم نظام المجموعة: أدخل link-demo-sg.

      ملاحظة

      يجب أن يكون اسم نظام المجموعة فريدا عالميا عبر Azure لأنه ينشئ إدخال DNS. إذا لم link-demo-sg يكن متوفرا، أدخل اسما آخر واضبط الخطوات التالية وفقا لذلك.

    • الموقع: حدد شرق الولايات المتحدة.

    • كلمة المرور: أدخل كلمة مرور ثم أكدها.

  5. حدد Next: Networking.

  6. في علامة التبويب Networking ، لأسلوب الاتصال، حدد Private access.

  7. في شاشة إنشاء نقطة نهاية خاصة ، أدخل القيم التالية أو حددها:

    • مجموعة الموارد: link-demo
    • الموقع : (US) East US
    • الاسم: link-demo-sg-c-pe1
    • المورد الفرعي المستهدف: coordinator
    • الشبكة الظاهرية : link-demo-net
    • الشبكة الفرعية: link-demo-subnet
    • التكامل مع منطقة نظام أسماء المجالات الخاصة: نعم
  8. حدد "OK".

  9. بعد إنشاء نقطة النهاية الخاصة، حدد Review + create ثم حدد Create لإنشاء نظام المجموعة الخاص بك.

الوصول إلى نظام المجموعة بشكل خاص من الجهاز الظاهري

يسمح الارتباط الخاص للجهاز الظاهري بالاتصال بالمجموعة، ويمنع المضيفين الخارجيين من القيام بذلك. في هذه الخطوة، يمكنك التحقق من أن عميل قاعدة بيانات psql على الجهاز الظاهري الخاص بك يمكنه الاتصال بعقدة منسق نظام المجموعة. في التعليمات البرمجية، استبدل {your_password} بكلمة مرور نظام المجموعة.

# replace {your_password} in the string with your actual password

PG_URI='host=c-link-demo-sg.12345678901234.postgres.cosmos.azure.com port=5432 dbname=citus user=citus password={your_password} sslmode=require'

# Attempt to connect to cluster with psql in the VM

az vm run-command invoke \
	--resource-group link-demo \
	--name link-demo-vm \
	--command-id RunShellScript \
	--scripts "psql '$PG_URI' -c 'SHOW citus.version;'" \
	--query 'value[0].message' \
	| xargs printf

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

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

لقد رأيت كيفية إنشاء ارتباط خاص بين جهاز ظاهري ومجموعة. الآن يمكنك إلغاء توفير الموارد.

احذف مجموعة الموارد، وسيجرى حذف مستخدم الموارد داخلها:

az group delete --resource-group link-demo

# press y to confirm

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