Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługa Azure Database for PostgreSQL z klastrami elastycznymi to usługa zarządzana, która służy do uruchamiania i skalowania baz danych PostgreSQL o wysokiej dostępności w chmurze z możliwością skalowania w poziomie. Aby utworzyć wystąpienie klastrów elastycznych, można użyć szablonu usługi Azure Resource Manager (szablonu usługi ARM).
Szablon usługi Azure Resource Manager to plik JavaScript Object Notation (JSON), który definiuje infrastrukturę i konfigurację projektu. W szablonie używana jest składnia deklaratywna. Możesz opisać zamierzone wdrożenie bez konieczności pisania sekwencji poleceń programowania w celu utworzenia wdrożenia.
Usługa Azure Resource Manager to usługa wdrażania i zarządzania dla platformy Azure. Zapewnia warstwę zarządzania, która umożliwia tworzenie, aktualizowanie i usuwanie zasobów na koncie platformy Azure. Za pomocą funkcji zarządzania, takich jak kontrola dostępu, blokady i tagi, można zabezpieczyć oraz zorganizować zasoby po wdrożeniu. Aby dowiedzieć się więcej o szablonach usługi Azure Resource Manager, zobacz Omówienie wdrażania szablonu.
Wymagania wstępne
Konto platformy Azure z aktywną subskrypcją. Utwórz je bezpłatnie.
Przegląd szablonu
Wystąpienie serwera elastycznego usługi Azure Database for PostgreSQL to zasób nadrzędny dla rozproszonej bazy danych w regionie. Zapewnia zakres zasad zarządzania, które mają zastosowanie do klastra: zapory, użytkowników, ról i konfiguracji.
Utwórz plik elastic-cluster-template.json i skopiuj do niego następujący skrypt 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]"
}
}
]
}
}
}
]
}
Te zasoby są zdefiniowane w szablonie:
Wdrażanie szablonu
Wybierz pozycję Wypróbuj z poniższego bloku kodu programu PowerShell, aby otworzyć usługę 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 ..."
Przeglądanie wdrożonych zasobów
Wykonaj następujące kroki, aby sprawdzić, czy został utworzony elastyczny klaster serwera elastycznego usługi Azure Database for PostgreSQL.
- W witrynie Azure Portal wyszukaj i wybierz pozycję Serwery elastyczne usługi Azure Database for PostgreSQL.
- Na liście baz danych wybierz nowy serwer, aby wyświetlić stronę Przegląd , aby zarządzać klastrem elastycznym.
Dalsze kroki
Zachowaj tę grupę zasobów i klaster elastyczny, jeśli chcesz go użyć, aby kontynuować kolejne sugerowane kroki wymienione w sekcji Powiązana zawartość . W następnych krokach pokazano, jak używać klastrów elastycznych z różnymi modelami i projektami fragmentowania aplikacji.
Czyszczenie zasobów
Po zakończeniu pracy ze środowiskiem klastra elastycznego możesz usunąć zasób klastra elastycznego:
Aby usunąć klaster elastyczny:
W portalu wybierz grupę zasobów, którą chcesz usunąć.
- Wybierz pozycję Usuń grupę zasobów.
- Aby potwierdzić usunięcie, wpisz nazwę grupy zasobów.