Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
База данных Azure для PostgreSQL с эластичными кластерами — это управляемая служба, используемая для запуска, управления и масштабирования высокодоступных баз данных PostgreSQL в облаке с возможностью горизонтального масштабирования. Шаблон Azure Resource Manager (шаблон ARM) можно использовать для создания экземпляра эластичных кластеров.
Шаблон Azure Resource Manager — это файл нотации объектов JavaScript (JSON), который определяет инфраструктуру и конфигурацию проекта. В шаблоне используется декларативный синтаксис. Вы описываете предполагаемое развертывание без написания последовательности команд программирования для создания развертывания.
Azure Resource Manager — это служба развертывания и управления для Azure. Она обеспечивает уровень управления для создания, обновления и удаления ресурсов в учетной записи Azure. Вы можете использовать ее функции управления, такие как управление доступом, блокировка и добавление тегов, чтобы защитить и упорядочить ресурсы после развертывания. Дополнительные сведения о шаблонах Azure Resource Manager см. в статье Шаблоны Azure Resource Manager.
Необходимые компоненты
Учетная запись 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 для PostgreSQL.
- На портале Azure найдите и выберите гибкие серверы Базы данных Azure для PostgreSQL.
- В списке баз данных выберите новый сервер, чтобы просмотреть страницу обзора для управления эластичным кластером.
Дальнейшие шаги
Сохраните эту группу ресурсов и эластичные кластеры, если вы хотите использовать ее для продолжения следующих предлагаемых действий, перечисленных в разделе "Связанное содержимое ". В следующих шагах показано, как использовать эластичные кластеры с различными моделями сегментирования приложений и макетами.
Очистка ресурсов
Завершив работу с средой эластичного кластера, вы можете удалить ресурс эластичного кластера:
Чтобы удалить эластичные кластеры, выполните следующие действия.
На портале выберите группу ресурсов, которую нужно удалить.
- Выберите команду Удалить группу ресурсов.
- Чтобы подтвердить удаление, введите имя группы ресурсов.