Szybki start: tworzenie wystąpienia usługi Azure Database for PostgreSQL za pomocą szablonu usługi ARM — wystąpienie serwera elastycznego

DOTYCZY: Azure Database for PostgreSQL — serwer elastyczny

Serwer elastyczny usługi Azure Database for PostgreSQL to usługa zarządzana używana do uruchamiania i skalowania baz danych PostgreSQL o wysokiej dostępności oraz zarządzania nimi w chmurze. Możesz użyć szablonu usługi Azure Resource Manager (szablonu usługi ARM), aby aprowizować elastyczne wystąpienie serwera usługi Azure Database for PostgreSQL w celu wdrożenia wielu serwerów lub wielu baz danych na serwerze.

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

Elastyczne wystąpienie serwera usługi Azure Database for PostgreSQL to zasób nadrzędny dla co najmniej jednej bazy danych w regionie. Zapewnia zakres zasad zarządzania, które mają zastosowanie do swoich baz danych: logowania, zapory, użytkowników, ról i konfiguracji.

Utwórz plik postgres-flexible-server-template.json i skopiuj do niego następujący skrypt JSON.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "administratorLogin": {
      "type": "string"
    },
    "administratorLoginPassword": {
      "type": "secureString"
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    },
    "serverName": {
      "type": "string"
    },
    "serverEdition": {
      "type": "string",
      "defaultValue": "GeneralPurpose"
    },
    "skuSizeGB": {
      "type": "int",
      "defaultValue": 128
    },
    "dbInstanceType": {
      "type": "string",
      "defaultValue": "Standard_D4ds_v4"
    },
    "haMode": {
      "type": "string",
      "defaultValue": "ZoneRedundant"
    },
    "availabilityZone": {
      "type": "string",
      "defaultValue": "1"
    },
    "version": {
      "type": "string",
      "defaultValue": "16"
    },
    "virtualNetworkExternalId": {
      "type": "string",
      "defaultValue": ""
    },
    "subnetName": {
      "type": "string",
      "defaultValue": ""
    },
    "privateDnsZoneArmResourceId": {
      "type": "string",
      "defaultValue": ""
    }
  },
  "resources": [
    {
      "type": "Microsoft.DBforPostgreSQL/flexibleServers",
      "apiVersion": "2022-12-01",
      "name": "[parameters('serverName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('dbInstanceType')]",
        "tier": "[parameters('serverEdition')]"
      },
      "properties": {
        "version": "[parameters('version')]",
        "administratorLogin": "[parameters('administratorLogin')]",
        "administratorLoginPassword": "[parameters('administratorLoginPassword')]",
        "network": {
          "delegatedSubnetResourceId": "[if(empty(parameters('virtualNetworkExternalId')), json('null'), json(format('{0}/subnets/{1}', parameters('virtualNetworkExternalId'), parameters('subnetName'))))]",
          "privateDnsZoneArmResourceId": "[if(empty(parameters('virtualNetworkExternalId')), json('null'), parameters('privateDnsZoneArmResourceId'))]"
        },
        "highAvailability": {
          "mode": "[parameters('haMode')]"
        },
        "storage": {
          "storageSizeGB": "[parameters('skuSizeGB')]"
        },
        "backup": {
          "backupRetentionDays": 7,
          "geoRedundantBackup": "Disabled"
        },
        "availabilityZone": "[parameters('availabilityZone')]"
      }
    }
  ]
}

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.

$serverName = Read-Host -Prompt "Enter a name for the new Azure Database for PostgreSQL flexible server instance"
$resourceGroupName = Read-Host -Prompt "Enter a name for the new resource group where the server will exist"
$location = Read-Host -Prompt "Enter an Azure region (for example, centralus) for the resource group"
$adminUser = Read-Host -Prompt "Enter the Azure Database for PostgreSQL flexible server instance's administrator account name"
$adminPassword = Read-Host -Prompt "Enter the administrator password" -AsSecureString

New-AzResourceGroup -Name $resourceGroupName -Location $location # Use this command when you need to create a new resource group for your deployment
New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName `
    -TemplateFile "postgres-flexible-server-template.json" `
    -serverName $serverName `
    -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 serwer został utworzony na platformie Azure.

DOTYCZY: Azure Database for PostgreSQL — serwer elastyczny

  1. W witrynie Azure Portal wyszukaj i wybierz pozycję Serwery elastyczne usługi Azure Database for PostgreSQL.
  2. Na liście bazy danych wybierz nowy serwer, aby wyświetlić stronę Przegląd , aby zarządzać serwerem.

Czyszczenie zasobów

Zachowaj tę grupę zasobów, serwer i pojedynczą bazę danych, jeśli chcesz przejść do następnych kroków. W następnych krokach pokazano, jak różnymi metodami łączyć się z bazą danych i wykonywać w niej zapytania.

Aby usunąć grupę zasobów:

DOTYCZY: Azure Database for PostgreSQL — serwer elastyczny

W portalu wybierz grupę zasobów, którą chcesz usunąć.

  1. Wybierz pozycję Usuń grupę zasobów.
  2. Aby potwierdzić usunięcie, wpisz nazwę grupy zasobów.

Następne kroki