التشغيل السريع: إنشاء Azure Database لخادم PostgreSQL باستخدام Azure CLI

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

هام

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

يُظهر هذا التشغيل السريع طريقة استخدام أوامر Azure CLI في Azure Cloud Shell لإنشاء Azure Database واحدة لخادم م PostgreSQL في خمس دقائق.

تلميح

يجب الوضع في الاعتبار استخدام أمر az postgres up Azure CLI الأبسط. تجربة quickstart.

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

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

إطلاق 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'

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

تعيين قيم المعلمات

يتم استخدام القيم التالية في الأوامر اللاحقة لإنشاء قاعدة البيانات والموارد المطلوبة. يجب أن تكون أسماء الخوادم فريدة عالمياً لجميع خوادم Azure بحيث يتم استخدام وظيفة ‎$RANDOM لإنشاء اسم الخادم.

قم بتغيير الموقع بما يتناسب مع بيئتك. استبدل 0.0.0.0 بنطاق عنوان IP لمطابقة البيئة الخاصة بك. استخدم عنوان IP العام للكمبيوتر الذي تستخدمه لتقييد الوصول إلى الخادم على عنوان IP الخاص بك فقط.

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-postgresql-rg-$randomIdentifier"
tag="create-postgresql-server-and-firewall-rule"
server="msdocs-postgresql-server-$randomIdentifier"
sku="GP_Gen5_2"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
# Specify appropriate IP address values for your environment
# to limit / allow access to the PostgreSQL server
startIp=0.0.0.0
endIp=0.0.0.0
echo "Using resource group $resourceGroup with login: $login, password: $password..."

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

أنشئ مجموعة موارد باستخدام الأمر az group create. مجموعة موارد Azure هي حاوية منطقية يتم بها نشر موارد Azure وإدارتها. في المثال التالي، سيتم إنشاء مجموعة موارد باسم myResourceGroup في موقع eastus:

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

إنشاء خادم

إنشاء خادم باستخدام الأمر az postgres server create.

# 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

إشعار

  • يمكن أن يحتوي اسم الخادم على أحرف صغيرة وأرقام وحرف الواصلة (-) فقط. يجب أن يتكون من 3 إلى 63 حرفاً. لمزيد من المعلومات، يرجى مراجعة Azure Database for PostgreSQL Naming Rules.
  • لا يمكن أن يكون اسم المستخدم للمستخدم المسؤول azure_superuser أو admin أو administrator أو root أو gestأو public.
  • يجب أن تحتوي كلمة المرور من 8 إلى 128 حرفاً من الثلاث فئات التالية: الأحرف الإنجليزية الكبيرة، والأحرف الصغيرة الإنجليزية، والأرقام، والأحرف غير الأبجدية الرقمية.
  • لمعلومات عن SKU، يرجى مراجعة Azure Database for PostgreSQL pricing.

هام

  • إصدار PostgreSQL الافتراضي على خادمك هو 9.6. لرؤية جميع الإصدارات المدعومة، يرجى الاطلاع على Supported PostgreSQL major versions.
  • تُمكَّن SSL افتراضياً على خادمك الخاص. لمزيد من المعلومات حول SSL، يرجى مراجعة Configure SSL connectivity.

تكوين قاعدة جدار حماية الخادم

يمكنك إنشاء قاعدة جدار حماية باستخدام الأمر az postgres server firewall-rule create لمنح البيئة المحلية إمكانية الوصول للاتصال بالخادم.

# Configure a firewall rule for the server 
echo "Configuring a firewall rule for $server for the IP address range of $startIp to $endIp"
az postgres server firewall-rule create --resource-group $resourceGroup --server $server --name AllowIps --start-ip-address $startIp --end-ip-address $endIp

تلميح

في حال عدم معرفة عنوان "IP" الخاص بك، فيمكن الانتقال إلى WhatIsMyIPAddress.com للحصول عليه.

إشعار

لتجنب مشكلات الاتصال، تأكد من أن جدار الحماية الخاص بشبكتك يسمح بالمنفذ 5432. تستخدم Azure Database لخوادم PostgreSQL هذا المنفذ.

سرد قواعد جدار الحماية المستندة إلى الخادم

لسرد قواعد جدار حماية الخادم الموجودة، قم بتشغيل الأمر az postgres server firewall-rule list.

# List firewall rules for the server
echo "List of server-based firewall rules for $server"
az postgres server firewall-rule list --resource-group $resourceGroup --server-name $server
# You may use the switch `--output table` for a more readable table format as the output.

يسرد الإخراج قواعد جدار الحماية، إن وجدت، بشكل افتراضي بتنسيق JSON. يمكنك استخدام المفتاح --output table لتنسيق جدول أكثر قابلية للقراءة كإخراج.

احصل على معلومات الاتصال

للاتصال بالخادم الخاص بك، يمكن تقديم معلومات المضيف والوصول إلى بيانات الاعتماد.

az postgres server show --resource-group $resourceGroup --name $server

دوّن ملاحظة حول قيم administratorLogin وfullyQualifiedDomainName.

الاتصال بـ Azure Database لخادم PostgreSQL باستخدام psql

يعد عميل psql خياراً شائعاً للاتصال بخوادم PostgreSQL. يمكن الاتصال بالخادم الخاص بك باستخدام psql مع Azure Cloud Shell. يمكنك أيضاً استخدام psql على بيئتك المحلية إذا كانت متوفرة لديك. تُنشأ قاعدة بيانات فارغة، postgres، تلقائياً باستخدام خادم PostgreSQL جديد. يمكن استخدام قاعدة البيانات هذه للاتصال بـpsql، كما هو موضح في التعليمة البرمجية التالية.

psql --host=<server_name>.postgres.database.azure.com --port=5432 --username=<admin_user>@<server_name> --dbname=postgres

تلميح

إذا كنت تفضل استخدام مسار URL للاتصال بـ Postgres، يقوم عنوان URL بترميز علامة @ في اسم المستخدم بعلامة %40. على سبيل المثال، ستكون سلسلة الاتصال لـ psql:

psql postgresql://<admin_user>%40<server_name>@<server_name>.postgres.database.azure.com:5432/postgres

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

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

az group delete --name $resourceGroup

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