Szybki start: tworzenie usługi Azure Database for PostgreSQL — pojedynczy serwer przy użyciu szablonu usługi ARM

DOTYCZY: Azure Database for PostgreSQL — pojedynczy serwer

Ważne

Usługa Azure Database for PostgreSQL — pojedynczy serwer znajduje się na ścieżce wycofania. Zdecydowanie zalecamy uaktualnienie do usługi Azure Database for PostgreSQL — serwer elastyczny. Aby uzyskać więcej informacji na temat migracji do usługi Azure Database for PostgreSQL — serwer elastyczny, zobacz Co się dzieje z usługą Azure Database for PostgreSQL — pojedynczy serwer?.

Azure Database for PostgreSQL to usługa zarządzana, która służy do uruchamiania i skalowania w chmurze baz danych PostgreSQL o wysokiej dostępności, a także zarządzania nimi. W tym przewodniku Szybki start użyjesz szablonu usługi Azure Resource Manager (szablonu arm), aby utworzyć usługę Azure Database for PostgreSQL — pojedynczy serwer w witrynie Azure Portal, programie PowerShell lub interfejsie wiersza polecenia platformy Azure.

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.

Jeśli Twoje środowisko spełnia wymagania wstępne i masz doświadczenie w korzystaniu z szablonów ARM, wybierz przycisk Wdróż na platformie Azure. Szablon zostanie otwarty w witrynie Azure Portal.

Przycisk wdrażania szablonu usługi Resource Manager na platformie Azure.

Wymagania wstępne

DOTYCZY: Azure Database for PostgreSQL — pojedynczy serwer

Ważne

Usługa Azure Database for PostgreSQL — pojedynczy serwer znajduje się na ścieżce wycofania. Zdecydowanie zalecamy uaktualnienie do usługi Azure Database for PostgreSQL — serwer elastyczny. Aby uzyskać więcej informacji na temat migracji do usługi Azure Database for PostgreSQL — serwer elastyczny, zobacz Co się dzieje z usługą Azure Database for PostgreSQL — pojedynczy serwer?.

Konto platformy Azure z aktywną subskrypcją. Utwórz je bezpłatnie.

Przegląd szablonu

Tworzysz serwer usługi Azure Database for PostgreSQL ze skonfigurowanym zestawem zasobów obliczeniowych i magazynu. Aby dowiedzieć się więcej, zobacz Warstwy cenowe w usłudze Azure Database for PostgreSQL — pojedynczy serwer. Serwer jest tworzony w ramach grupy zasobów Azure.

Szablon używany w tym przewodniku Szybki start jest jednym z szablonów szybkiego startu platformy Azure.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.26.54.24096",
      "templateHash": "16694921643873529380"
    }
  },
  "parameters": {
    "serverName": {
      "type": "string",
      "metadata": {
        "description": "Server Name for Azure Database for PostgreSQL"
      }
    },
    "administratorLogin": {
      "type": "string",
      "minLength": 1,
      "metadata": {
        "description": "Database administrator login name"
      }
    },
    "administratorLoginPassword": {
      "type": "securestring",
      "minLength": 8,
      "metadata": {
        "description": "Database administrator password"
      }
    },
    "skuCapacity": {
      "type": "int",
      "defaultValue": 2,
      "metadata": {
        "description": "Azure Database for PostgreSQL compute capacity in vCores (2,4,8,16,32)"
      }
    },
    "skuName": {
      "type": "string",
      "defaultValue": "GP_Gen5_2",
      "metadata": {
        "description": "Azure Database for PostgreSQL sku name "
      }
    },
    "skuSizeMB": {
      "type": "int",
      "defaultValue": 51200,
      "metadata": {
        "description": "Azure Database for PostgreSQL Sku Size "
      }
    },
    "skuTier": {
      "type": "string",
      "defaultValue": "GeneralPurpose",
      "allowedValues": [
        "Basic",
        "GeneralPurpose",
        "MemoryOptimized"
      ],
      "metadata": {
        "description": "Azure Database for PostgreSQL pricing tier"
      }
    },
    "skuFamily": {
      "type": "string",
      "defaultValue": "Gen5",
      "metadata": {
        "description": "Azure Database for PostgreSQL sku family"
      }
    },
    "postgresqlVersion": {
      "type": "string",
      "defaultValue": "11",
      "allowedValues": [
        "9.5",
        "9.6",
        "10",
        "10.0",
        "10.2",
        "11"
      ],
      "metadata": {
        "description": "PostgreSQL version"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for all resources."
      }
    },
    "backupRetentionDays": {
      "type": "int",
      "defaultValue": 7,
      "metadata": {
        "description": "PostgreSQL Server backup retention days"
      }
    },
    "geoRedundantBackup": {
      "type": "string",
      "defaultValue": "Disabled",
      "metadata": {
        "description": "Geo-Redundant Backup setting"
      }
    },
    "virtualNetworkName": {
      "type": "string",
      "defaultValue": "azure_postgresql_vnet",
      "metadata": {
        "description": "Virtual Network Name"
      }
    },
    "subnetName": {
      "type": "string",
      "defaultValue": "azure_postgresql_subnet",
      "metadata": {
        "description": "Subnet Name"
      }
    },
    "virtualNetworkRuleName": {
      "type": "string",
      "defaultValue": "AllowSubnet",
      "metadata": {
        "description": "Virtual Network RuleName"
      }
    },
    "vnetAddressPrefix": {
      "type": "string",
      "defaultValue": "10.0.0.0/16",
      "metadata": {
        "description": "Virtual Network Address Prefix"
      }
    },
    "subnetPrefix": {
      "type": "string",
      "defaultValue": "10.0.0.0/16",
      "metadata": {
        "description": "Subnet Address Prefix"
      }
    }
  },
  "variables": {
    "firewallrules": [
      {
        "Name": "rule1",
        "StartIpAddress": "0.0.0.0",
        "EndIpAddress": "255.255.255.255"
      },
      {
        "Name": "rule2",
        "StartIpAddress": "0.0.0.0",
        "EndIpAddress": "255.255.255.255"
      }
    ]
  },
  "resources": [
    {
      "type": "Microsoft.DBforPostgreSQL/servers/virtualNetworkRules",
      "apiVersion": "2017-12-01",
      "name": "[format('{0}/{1}', parameters('serverName'), parameters('virtualNetworkRuleName'))]",
      "properties": {
        "virtualNetworkSubnetId": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworkName'), parameters('subnetName'))]",
        "ignoreMissingVnetServiceEndpoint": true
      },
      "dependsOn": [
        "[resourceId('Microsoft.DBforPostgreSQL/servers', parameters('serverName'))]",
        "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworkName'), parameters('subnetName'))]"
      ]
    },
    {
      "type": "Microsoft.Network/virtualNetworks",
      "apiVersion": "2023-09-01",
      "name": "[parameters('virtualNetworkName')]",
      "location": "[parameters('location')]",
      "properties": {
        "addressSpace": {
          "addressPrefixes": [
            "[parameters('vnetAddressPrefix')]"
          ]
        }
      }
    },
    {
      "type": "Microsoft.Network/virtualNetworks/subnets",
      "apiVersion": "2023-09-01",
      "name": "[format('{0}/{1}', parameters('virtualNetworkName'), parameters('subnetName'))]",
      "properties": {
        "addressPrefix": "[parameters('subnetPrefix')]"
      },
      "dependsOn": [
        "[resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworkName'))]"
      ]
    },
    {
      "type": "Microsoft.DBforPostgreSQL/servers",
      "apiVersion": "2017-12-01",
      "name": "[parameters('serverName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('skuName')]",
        "tier": "[parameters('skuTier')]",
        "capacity": "[parameters('skuCapacity')]",
        "size": "[format('{0}', parameters('skuSizeMB'))]",
        "family": "[parameters('skuFamily')]"
      },
      "properties": {
        "createMode": "Default",
        "version": "[parameters('postgresqlVersion')]",
        "administratorLogin": "[parameters('administratorLogin')]",
        "administratorLoginPassword": "[parameters('administratorLoginPassword')]",
        "storageProfile": {
          "storageMB": "[parameters('skuSizeMB')]",
          "backupRetentionDays": "[parameters('backupRetentionDays')]",
          "geoRedundantBackup": "[parameters('geoRedundantBackup')]"
        },
        "sslEnforcement": "Enabled",
        "minimalTlsVersion": "TLS1_2"
      }
    },
    {
      "copy": {
        "name": "firewallRules",
        "count": "[length(variables('firewallrules'))]",
        "mode": "serial",
        "batchSize": 1
      },
      "type": "Microsoft.DBforPostgreSQL/servers/firewallRules",
      "apiVersion": "2017-12-01",
      "name": "[format('{0}/{1}', parameters('serverName'), variables('firewallrules')[copyIndex()].Name)]",
      "properties": {
        "startIpAddress": "[variables('firewallrules')[copyIndex()].StartIpAddress]",
        "endIpAddress": "[variables('firewallrules')[copyIndex()].EndIpAddress]"
      },
      "dependsOn": [
        "[resourceId('Microsoft.DBforPostgreSQL/servers', parameters('serverName'))]"
      ]
    }
  ],
  "outputs": {
    "name": {
      "type": "string",
      "value": "[parameters('serverName')]"
    },
    "resourceId": {
      "type": "string",
      "value": "[resourceId('Microsoft.DBforPostgreSQL/servers', parameters('serverName'))]"
    },
    "resourceGroupName": {
      "type": "string",
      "value": "[resourceGroup().name]"
    },
    "location": {
      "type": "string",
      "value": "[parameters('location')]"
    }
  }
}

Szablon definiuje pięć zasobów platformy Azure:

Więcej przykładów szablonów usługi Azure Database for PostgreSQL można znaleźć w artykule Szablony szybkiego startu platformy Azure.

Wdrażanie szablonu

DOTYCZY: Azure Database for PostgreSQL — pojedynczy serwer

Ważne

Usługa Azure Database for PostgreSQL — pojedynczy serwer znajduje się na ścieżce wycofania. Zdecydowanie zalecamy uaktualnienie do usługi Azure Database for PostgreSQL — serwer elastyczny. Aby uzyskać więcej informacji na temat migracji do usługi Azure Database for PostgreSQL — serwer elastyczny, zobacz Co się dzieje z usługą Azure Database for PostgreSQL — pojedynczy serwer?.

Wybierz następujący link, aby wdrożyć szablon serwera usługi Azure Database for PostgreSQL w witrynie Azure Portal:

Przycisk wdrażania szablonu usługi Resource Manager na platformie Azure.

Na stronie Deploy Azure Database for PostgreSQL with VNet ( Wdrażanie usługi Azure Database for PostgreSQL przy użyciu sieci wirtualnej):

  1. W obszarze Grupa zasobów wybierz pozycję Utwórz nową, wprowadź nazwę nowej grupy zasobów i wybierz przycisk OK.

  2. Jeśli utworzono nową grupę zasobów, wybierz lokalizację dla grupy zasobów i nowy serwer.

  3. Wprowadź nazwę serwera, nazwę logowania Administracja istratora i hasło logowania Administracja istratora.

    Wdrażanie usługi Azure Database for PostgreSQL za pomocą okna sieci wirtualnej, szablonu szybkiego startu platformy Azure, witryny Azure Portal

  4. Zmień inne ustawienia domyślne, jeśli chcesz:

    • Subskrypcja: subskrypcja platformy Azure, której chcesz użyć dla serwera.
    • Pojemność jednostki SKU: pojemność rdzeni wirtualnych, która może wynosić 2 (wartość domyślna), 4, 8, 16, 32 lub 64.
    • Nazwa jednostki SKU: prefiks warstwy SKU, rodzina jednostek SKU i pojemność jednostki SKU, przyłączony przez podkreślenia, takie jak B_Gen5_1, GP_Gen5_2 (wartość domyślna) lub MO_Gen5_32.
    • Rozmiar jednostki SKU MB: rozmiar magazynu w megabajtach serwera usługi Azure Database for PostgreSQL (domyślnie 51200).
    • Warstwa jednostki SKU: warstwa wdrożenia, taka jak Podstawowa, OgólnePurpose (wartość domyślna) lub MemoryOptimized.
    • Rodzina jednostek SKU: Gen4 lub Gen5 (wartość domyślna), która wskazuje generowanie sprzętu na potrzeby wdrażania serwera.
    • Wersja bazy danych PostgreSQL: wersja serwera PostgreSQL do wdrożenia, taka jak 9.5, 9.6, 10 lub 11 (wartość domyślna).
    • Dni przechowywania kopii zapasowych: żądany okres przechowywania geograficznie nadmiarowych kopii zapasowych w dniach (domyślnie 7).
    • Geograficznie nadmiarowa kopia zapasowa: włączona lub wyłączona (wartość domyślna) w zależności od wymagań dotyczących odzyskiwania po awarii geograficznej (Geo-DR).
    • Nazwa sieci wirtualnej: nazwa sieci wirtualnej (domyślna azure_postgresql_vnet).
    • Nazwa podsieci: nazwa podsieci (domyślna azure_postgresql_subnet).
    • Nazwa reguły sieci wirtualnej: nazwa reguły sieci wirtualnej zezwalającej na podsieć (domyślna wartość AllowSubnet).
    • Prefiks adresu sieci wirtualnej: prefiks adresu dla sieci wirtualnej (domyślnie 10.0.0.0/16).
    • Prefiks podsieci: prefiks adresu dla podsieci (domyślnie 10.0.0.0/16).
  5. Przeczytaj warunki i postanowienia, a następnie wybierz pozycję Zgadzam się na powyższe warunki i postanowienia.

  6. Wybierz pozycję Kup.

Przeglądanie wdrożonych zasobów

DOTYCZY: Azure Database for PostgreSQL — pojedynczy serwer

Ważne

Usługa Azure Database for PostgreSQL — pojedynczy serwer znajduje się na ścieżce wycofania. Zdecydowanie zalecamy uaktualnienie do usługi Azure Database for PostgreSQL — serwer elastyczny. Aby uzyskać więcej informacji na temat migracji do usługi Azure Database for PostgreSQL — serwer elastyczny, zobacz Co się dzieje z usługą Azure Database for PostgreSQL — pojedynczy serwer?.

Wykonaj następujące kroki, aby zapoznać się z omówieniem nowego serwera usługi Azure Database for PostgreSQL:

  1. W witrynie Azure Portal wyszukaj i wybierz pozycję Serwery usługi Azure Database for PostgreSQL.

  2. Na liście baz danych wybierz nowy serwer. Zostanie wyświetlona strona Przegląd nowego serwera usługi Azure Database for PostgreSQL.

Eksportowanie szablonu usługi ARM z portalu

Szablon usługi ARM można wyeksportować z witryny Azure Portal. Istnieją dwa sposoby eksportowania szablonu:

Podczas eksportowania szablonu w "properties":{ } sekcji zasobu serwera PostgreSQL zauważysz, że administratorLogin nie administratorLoginPassword zostaną uwzględnione ze względów bezpieczeństwa. Przed wdrożeniem szablonu należy dodać te parametry lub szablon zakończy się niepowodzeniem.

"resources": [
    {
      "type": "Microsoft.DBforPostgreSQL/servers",
      "apiVersion": "2017-12-01",
      "name": "[parameters('servers_name')]",
      "location": "southcentralus",
      "sku": {
                "name": "B_Gen5_1",
                "tier": "Basic",
                "family": "Gen5",
                "capacity": 1
            },
      "properties": {
        "administratorLogin": "[parameters('administratorLogin')]",
        "administratorLoginPassword": "[parameters('administratorLoginPassword')]",

Czyszczenie zasobów

Gdy grupa zasobów nie jest już potrzebna, usuń ją, co spowoduje usunięcie zasobów w grupie zasobów.

DOTYCZY: Azure Database for PostgreSQL — pojedynczy serwer

Ważne

Usługa Azure Database for PostgreSQL — pojedynczy serwer znajduje się na ścieżce wycofania. Zdecydowanie zalecamy uaktualnienie do usługi Azure Database for PostgreSQL — serwer elastyczny. Aby uzyskać więcej informacji na temat migracji do usługi Azure Database for PostgreSQL — serwer elastyczny, zobacz Co się dzieje z usługą Azure Database for PostgreSQL — pojedynczy serwer?.

  1. W witrynie Azure Portal wyszukaj i wybierz pozycję Grupy zasobów.

  2. Na liście grupy zasobów wybierz nazwę grupy zasobów.

  3. Na stronie Przegląd grupy zasobów wybierz pozycję Usuń grupę zasobów.

  4. W oknie dialogowym potwierdzenia wpisz nazwę grupy zasobów, a następnie wybierz pozycję Usuń.

Następne kroki

Aby zapoznać się z samouczkiem krok po kroku, który przeprowadzi Cię przez proces tworzenia szablonu, zobacz: