Megosztás a következőn keresztül:


Rövid útmutató: Rugalmas klaszter létrehozása ARM-sablonnal az Azure Database for PostgreSQL használatával

A rugalmas fürtökkel rendelkező Azure Database for PostgreSQL egy felügyelt szolgáltatás, amellyel magas rendelkezésre állású PostgreSQL-adatbázisokat futtathat, kezelhet és skálázhat a felhőben vízszintes horizontális felskálázási képességgel. Rugalmas fürtpéldány létrehozásához azure Resource Manager-sablont (ARM-sablont) használhat.

Az Azure Resource Manager-sablon egy JavaScript Object Notation (JSON) fájl, amely meghatározza a projekt infrastruktúráját és konfigurációját. A sablon deklaratív szintaxist használ. Az üzembe helyezés létrehozásához szükséges programozási parancsok sorozatának megírása nélkül írhatja le a tervezett üzembe helyezést.

Az Azure Resource Manager az Azure üzembehelyezési és felügyeleti szolgáltatása. Egy olyan felügyeleti réteget biztosít, amely lehetővé teszi az Azure-fiókban lévő erőforrások létrehozását, frissítését és törlését. Az üzembe helyezés után az erőforrások biztonságossá tételéhez és rendszerezéséhez olyan felügyeleti funkciókat használhat, mint a hozzáférés-vezérlés, a zárolások és a címkék. Az Azure Resource Manager-sablonokról a sablon üzembe helyezésének áttekintésében olvashat.

Előfeltételek

Egy Azure-fiók, aktív előfizetéssel. Hozzon létre egyet ingyen.

A sablon áttekintése

A rugalmas Azure Database for PostgreSQL-kiszolgálópéldány egy régión belüli elosztott adatbázis szülőerőforrása. A fürtre vonatkozó felügyeleti szabályzatok hatókörét biztosítja: tűzfal, felhasználók, szerepkörök és konfigurációk.

Hozzon létre egy elastic-cluster-template.json fájlt, és másolja be a következő JSON-szkriptet.

{
  "$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]"
              }
            }
          ]
        }
      }
    }
  ]
}

Ezek az erőforrások a sablonban vannak definiálva:

A sablon üzembe helyezése

Válassza a Kipróbálás lehetőséget az alábbi PowerShell-kódblokkból az Azure Cloud Shell megnyitásához.

$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 ..."

Üzembe helyezett erőforrások áttekintése

Kövesse az alábbi lépéseket annak ellenőrzéséhez, hogy az Azure Database for PostgreSQL rugalmas kiszolgálófürt létrejött-e.

  1. Az Azure Portalon keresse meg és válassza ki a rugalmas Azure Database for PostgreSQL-kiszolgálókat.
  2. Az adatbázislistában válassza ki az új kiszolgálót, hogy megtekintse az Áttekintés lapot, és kezelhesse a rugalmas fürtöt.

Következő lépések

Tartsa meg ezt az erőforráscsoportot és a rugalmas fürtöt, ha azt szeretné használni a Kapcsolódó tartalom szakaszban felsorolt következő javasolt lépések végrehajtásához. A következő lépések bemutatják, hogyan használhat rugalmas fürtöket az alkalmazások különböző elosztási modelleivel és kialakításaival.

Az erőforrások eltávolítása

Ha végzett a rugalmas fürtkörnyezettel, törölheti a rugalmas fürterőforrást:

A rugalmas fürt törlése:

A portálon válassza ki a törölni kívánt erőforráscsoportot.

  1. Válassza az Erőforráscsoport törlése elemet.
  2. A törlés megerősítéséhez írja be az erőforráscsoport nevét.