Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Database di Azure per PostgreSQL con cluster elastici è un servizio gestito utilizzato per eseguire, gestire e ridimensionare database PostgreSQL con alta disponibilità nel cloud con capacità di scalabilità orizzontale. È possibile usare un modello di Azure Resource Manager per creare un'istanza di cluster elastici.
Un modello di Azure Resource Manager è un file JSON (JavaScript Object Notation) che definisce l'infrastruttura e la configurazione del progetto. Il modello usa la sintassi dichiarativa. Si descrive la distribuzione prevista senza scrivere la sequenza di comandi di programmazione necessari per creare la distribuzione.
Azure Resource Manager è il servizio di distribuzione e gestione di Azure. Fornisce un livello di gestione che consente di creare, aggiornate ed eliminare risorse nell'account Azure. È possibile usare funzionalità di gestione, come il controllo di accesso, i blocchi e i tag, per proteggere e organizzare le risorse dopo la distribuzione. Per informazioni sui modelli di Azure Resource Manager, vedere Panoramica della distribuzione di modelli.
Prerequisiti
Un account Azure con una sottoscrizione attiva. È possibile crearne uno gratuitamente.
Rivedere il modello
Un'istanza del server flessibile Database di Azure per PostgreSQL è la risorsa padre per un database distribuito all'interno di un'area. Fornisce l'ambito per i criteri di gestione applicabili al cluster: firewall, utenti, ruoli e configurazioni.
Creare un file elastic-cluster-template.json e copiare in esso il seguente script 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]"
}
}
]
}
}
}
]
}
Nel modello sono definite queste risorse:
Distribuire il modello
Selezionare Provalo dal blocco di codice PowerShell seguente per aprire 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 ..."
Esaminare le risorse distribuite
Seguire questa procedura per verificare se è stato creato il cluster elastico del server flessibile di Database di Azure per PostgreSQL.
- Nel portale di Azure cercare e selezionare l'opzione relativa ai server flessibili di Database di Azure per PostgreSQL.
- Nell'elenco di database selezionare il nuovo server per visualizzare la pagina Panoramica per gestire il cluster elastico.
Passaggi successivi
Mantenere questo gruppo di risorse e il cluster elastico se si vuole usarlo per continuare con i passaggi suggeriti successivi elencati nella sezione Contenuto correlato . I passaggi successivi illustrano come usare cluster elastici con modelli e progettazioni di partizionamento orizzontale di applicazioni diversi.
Pulire le risorse
Quando si ha finito di lavorare con l'ambiente del cluster elastico, si può eliminare la risorsa del cluster elastico:
Per eliminare il cluster elastico:
Nel portale selezionare il gruppo di risorse che si intende eliminare.
- Selezionare Elimina gruppo di risorse.
- Per confermare l'eliminazione, digitare il nome del gruppo di risorse.