إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
قاعدة بيانات Azure ل PostgreSQL مع العناقيد المرنة هي خدمة مدارة تستخدمها لتشغيل وإدارة وتوسيع قواعد بيانات PostgreSQL المتوفرة بقوة في السحابة مع إمكانية التوسع الأفقي. يمكنك استخدام قالب Azure Resource Manager (قالب ARM) لإنشاء مثيل مجموعات مرنة.
قالب Azure Resource Manager هو ملف JavaScript Object Notation (JSON) الذي يحدد البنية الأساسية والتكوين لمشروعك. يستخدم القالب عبارات توضيحية. يمكنك وصف النشر المقصود دون كتابة تسلسل أوامر البرمجة لإنشاء النشر.
Azure Resource Manager هي خدمة التوزيع والإدارة التي توفرها Azure. فهي توفر طبقة إدارة تتيح لك إنشاء الموارد وتحديثها وحذفها في حساب Azure الخاص بك. تستخدم ميزات الإدارة مثل التحكم في الوصول، والأقفال، والعلامات لتأمين مواردك وتنظيمها بعد النشر. للتعرف على قوالب Azure Resource Manager (قوالب ARM)، راجع نظرة عامة على نشر القوالب.
المتطلبات الأساسية
حساب Azure مع اشتراك نشط. أنشئ حسابًا مجانًا.
مراجعة القالب
قاعدة بيانات Azure لمثيل خادم PostgreSQL المرن هو المورد الأصل لقاعدة بيانات موزعة داخل منطقة. يوفر نطاق نهج الإدارة التي تنطبق على نظام المجموعة: جدار الحماية والمستخدمين والأدوار والتكوينات.
أنشئ ملف elastic-cluster-template.json وانسخ سكريبت JSON التالي إليه.
{
"$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"administratorLogin": {
"type": "string"
},
"administratorLoginPassword": {
"type": "securestring"
},
"location": {
"type": "string",
"defaultValue": "canadacentral"
},
"clusterName": {
"type": "string"
},
"serverEdition": {
"type": "string",
"defaultValue": "GeneralPurpose"
},
"storageSizeGB": {
"type": "int",
"defaultValue": 64
},
"haEnabled": {
"type": "string",
"defaultValue": "Disabled"
},
"availabilityZone": {
"type": "string",
"defaultValue": "1"
},
"backupRetentionDays": {
"type": "int",
"defaultValue": 7
},
"skuName": {
"type": "string",
"defaultValue": "Standard_D4ds_v5"
},
"clusterSize": {
"type": "int",
"defaultValue": 2
},
"guid": {
"type": "string",
"defaultValue": "[newGuid()]"
},
"firewallRules": {
"type": "object",
"defaultValue": {
"rules": [
{
"name": "AllowAll",
"startIPAddress": "0.0.0.0",
"endIPAddress": "255.255.255.255"
}
]
}
},
"network": {
"type": "object",
"defaultValue": { "publicNetworkAccess": "Enabled" }
}
},
"variables": {
"firewallRules": "[parameters('firewallRules').rules]"
},
"resources": [
{
"apiVersion": "2025-08-01",
"location": "[parameters('location')]",
"name": "[parameters('clusterName')]",
"properties": {
"createMode": "Default",
"version": "16",
"administratorLogin": "[parameters('administratorLogin')]",
"administratorLoginPassword": "[parameters('administratorLoginPassword')]",
"availabilityZone": "[parameters('availabilityZone')]",
"Storage": {
"StorageSizeGB": "[parameters('storageSizeGB')]",
"Autogrow": "Disabled"
},
"Network": "[if(empty(parameters('network')), json('null'), parameters('network'))]",
"Backup": {
"backupRetentionDays": "[parameters('backupRetentionDays')]",
"geoRedundantBackup": "Disabled"
},
"highAvailability": {
"mode": "[parameters('haEnabled')]"
},
"cluster": {
"clusterSize": "[parameters('clusterSize')]"
}
},
"sku": {
"name": "[parameters('skuName')]",
"tier": "[parameters('serverEdition')]"
},
"type": "Microsoft.DBforPostgreSQL/flexibleServers"
},
{
"condition": "[greater(length(variables('firewallRules')), 0)]",
"type": "Microsoft.Resources/deployments",
"apiVersion": "2019-08-01",
"name": "[concat('firewallRules-', parameters('guid'), '-', copyIndex())]",
"copy": {
"count": "[if(greater(length(variables('firewallRules')), 0), length(variables('firewallRules')), 1)]",
"mode": "Serial",
"name": "firewallRulesIterator"
},
"dependsOn": [
"[concat('Microsoft.DBforPostgreSQL/flexibleServers/', parameters('clusterName'))]"
],
"properties": {
"mode": "Incremental",
"template": {
"$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules",
"name": "[concat(parameters('clusterName'),'/',variables('firewallRules')[copyIndex()].name)]",
"apiVersion": "2025-08-01",
"properties": {
"StartIpAddress": "[variables('firewallRules')[copyIndex()].startIPAddress]",
"EndIpAddress": "[variables('firewallRules')[copyIndex()].endIPAddress]"
}
}
]
}
}
}
]
}
يتم تحديد هذه الموارد في النموذج:
نشر القالب
حدد جربه من كتلة التعليمات البرمجية PowerShell التالية لفتح Azure Cloud Shell.
$clusterName = Read-Host -Prompt "Enter a name for the new Azure Database for PostgreSQL flexible server elastic cluster instance"
$resourceGroupName = Read-Host -Prompt "Enter a name for the new resource group where the elastic cluster will exist"
$adminUser = Read-Host -Prompt "Enter the Azure Database for PostgreSQL flexible server elastic cluster instance's administrator account name"
$adminPassword = Read-Host -Prompt "Enter the administrator password" -AsSecureString
# New-AzResourceGroup -Name $resourceGroupName -Location <AZURE_LOCATION> Use this command when you need to create a new resource group for your deployment
New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName `
-TemplateFile "elastic-cluster-template.json" `
-clusterName $clusterName `
-administratorLogin $adminUser `
-administratorLoginPassword $adminPassword
Read-Host -Prompt "Press [ENTER] to continue ..."
مراجعة الموارد الموزعة
اتبع هذه الخطوات للتحقق مما إذا كان تجمع المرن المرن لخادم Azure Database الخاص بك في PostgreSQL قد تم إنشاؤه.
- في مدخل Microsoft Azure، ابحث عن قاعدة بيانات Azure لخوادم PostgreSQL المرنة وحددها.
- في قائمة قاعدة البيانات، اختر الخادم الجديد لعرض صفحة النظرة العامة لإدارة عنقود المرونة الخاص بك.
الخطوات التالية
احتفظ بمجموعة الموارد هذه ونظام المجموعة المرن إذا كنت تريد استخدامها لمتابعة الخطوات المقترحة التالية المدرجة في قسم المحتوى المرتبط . توضح لك الخطوات التالية كيفية استخدام المجموعات المرنة مع نماذج وتصميمات مختلفة لتقسيم التطبيقات.
تنظيف الموارد
عندما تنتهي من بيئة العنقود المرنة، يمكنك حذف مورد الكتلة المرنة:
لحذف التجمع المرن:
في المدخل، حدد مجموعة الموارد التي تريد حذفها.
- حدد Delete resource group.
- لتأكيد الحذف، اكتب اسم مجموعة الموارد.