Share via


Guia de início rápido: usar um modelo ARM para criar um Banco de Dados do Azure para PostgreSQL - servidor único

APLICA-SE A: Banco de Dados do Azure para PostgreSQL - Servidor Único

Importante

O Banco de Dados do Azure para PostgreSQL - Servidor Único está no caminho da desativação. É altamente recomendável que você atualize para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível. Para obter mais informações sobre como migrar para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível, consulte O que está acontecendo com o Banco de Dados do Azure para Servidor Único PostgreSQL?.

A Base de Dados do Azure para o PostgreSQL é um serviço gerido com o qual pode executar, gerir e dimensionar as bases de dados de elevada disponibilidade do PostgreSQL na cloud. Neste início rápido, você usa um modelo do Azure Resource Manager (modelo ARM) para criar um Banco de Dados do Azure para PostgreSQL - servidor único no portal do Azure, PowerShell ou CLI do Azure.

Um modelo do Azure Resource Manager é um arquivo JSON (JavaScript Object Notation) que define a infraestrutura e a configuração do seu projeto. O modelo utiliza sintaxe declarativa. Você descreve a implantação pretendida sem escrever a sequência de comandos de programação para criar a implantação.

Se o seu ambiente cumpre os pré-requisitos e se está familiarizado com a utilização de modelos ARM, selecione o botão Implementar no Azure. O modelo será aberto no portal do Azure.

Botão para implantar o modelo do Gerenciador de Recursos no Azure.

Pré-requisitos

APLICA-SE A: Banco de Dados do Azure para PostgreSQL - Servidor Único

Importante

O Banco de Dados do Azure para PostgreSQL - Servidor Único está no caminho da desativação. É altamente recomendável que você atualize para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível. Para obter mais informações sobre como migrar para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível, consulte O que está acontecendo com o Banco de Dados do Azure para Servidor Único PostgreSQL?.

Uma conta do Azure com uma subscrição ativa. Crie um gratuitamente.

Rever o modelo

Você cria um Banco de Dados do Azure para servidor PostgreSQL com um conjunto configurado de recursos de computação e armazenamento. Para saber mais, consulte Níveis de preços no Banco de Dados do Azure para PostgreSQL - Servidor Único. Irá criar o servidor dentro de um grupo de recursos do Azure.

O modelo utilizado neste início rápido pertence aos Modelos de Início Rápido do 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')]"
    }
  }
}

O modelo define cinco recursos do Azure:

Mais exemplos de modelo do Banco de Dados do Azure para PostgreSQL podem ser encontrados em Modelos de Início Rápido do Azure.

Implementar o modelo

APLICA-SE A: Banco de Dados do Azure para PostgreSQL - Servidor Único

Importante

O Banco de Dados do Azure para PostgreSQL - Servidor Único está no caminho da desativação. É altamente recomendável que você atualize para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível. Para obter mais informações sobre como migrar para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível, consulte O que está acontecendo com o Banco de Dados do Azure para Servidor Único PostgreSQL?.

Selecione o link a seguir para implantar o modelo de servidor Banco de Dados do Azure para PostgreSQL no portal do Azure:

Botão para implantar o modelo do Gerenciador de Recursos no Azure.

Na página Implantar o Banco de Dados do Azure para PostgreSQL com VNet :

  1. Em Grupo de recursos, selecione Criar novo, insira um nome para o novo grupo de recursos e selecione OK.

  2. Se você criou um novo grupo de recursos, selecione um Local para o grupo de recursos e o novo servidor.

  3. Insira um nome de servidor, login de administrador e senha de login de administrador.

    Implantar o Banco de Dados do Azure para PostgreSQL com janela VNet, modelo de início rápido do Azure, portal do Azure

  4. Altere as outras configurações padrão se desejar:

    • Assinatura: a assinatura do Azure que você deseja usar para o servidor.
    • Capacidade de Sku: a capacidade vCore, que pode ser 2 (o padrão), 4, 8, 16, 32 ou 64.
    • Nome da SKU: o prefixo da camada SKU, a família SKU e a capacidade da SKU, unidos por sublinhados, como B_Gen5_1, GP_Gen5_2 (o padrão) ou MO_Gen5_32.
    • Tamanho da Sku MB: o tamanho do armazenamento, em megabytes, do Banco de Dados do Azure para o servidor PostgreSQL (padrão 51200).
    • Camada de sku: a camada de implantação, como Basic, GeneralPurpose (o padrão) ou MemoryOptimized.
    • Família Sku: Gen4 ou Gen5 (o padrão), que indica a geração de hardware para implantação de servidor.
    • Versão do PostgreSQL: a versão do servidor PostgreSQL a ser implantada, como 9.5, 9.6, 10 ou 11 (o padrão).
    • Dias de retenção de backup: o período desejado para retenção de backup com redundância geográfica, em dias (padrão 7).
    • Backup com redundância geográfica: habilitado ou desativado (o padrão), dependendo dos requisitos de recuperação de desastres geográficos (Geo-DR).
    • Nome da Rede Virtual: o nome da rede virtual (azure_postgresql_vnet padrão).
    • Nome da sub-rede: o nome da sub-rede (azure_postgresql_subnet padrão).
    • Nome da Regra de Rede Virtual: o nome da regra de rede virtual que permite a sub-rede (padrão AllowSubnet).
    • Vnet Address Prefix: o prefixo de endereço para a rede virtual (padrão 10.0.0.0/16).
    • Prefixo da sub-rede: o prefixo de endereço da sub-rede (padrão 10.0.0.0/16).
  5. Leia os termos e condições e, em seguida, selecione Concordo com os termos e condições mencionados acima.

  6. Selecione Comprar.

Rever os recursos implementados

APLICA-SE A: Banco de Dados do Azure para PostgreSQL - Servidor Único

Importante

O Banco de Dados do Azure para PostgreSQL - Servidor Único está no caminho da desativação. É altamente recomendável que você atualize para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível. Para obter mais informações sobre como migrar para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível, consulte O que está acontecendo com o Banco de Dados do Azure para Servidor Único PostgreSQL?.

Siga estas etapas para ver uma visão geral do seu novo Banco de Dados do Azure para servidor PostgreSQL:

  1. No portal do Azure, procure e selecione Banco de Dados do Azure para servidores PostgreSQL.

  2. Na lista de banco de dados, selecione seu novo servidor. A página Visão geral do seu novo Banco de Dados do Azure para servidor PostgreSQL é exibida.

Exportando modelo ARM do portal

Você pode exportar um modelo ARM do portal do Azure. Existem duas formas de exportar um modelo:

Ao exportar o modelo, na "properties":{ } seção do recurso de servidor PostgreSQL, você notará isso administratorLogin e administratorLoginPassword não será incluído por motivos de segurança. Você DEVE adicionar esses parâmetros ao seu modelo antes de implantá-lo ou o modelo falhará.

"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')]",

Clean up resources (Limpar recursos)

Quando não for mais necessário, exclua o grupo de recursos, que exclui os recursos do grupo de recursos.

APLICA-SE A: Banco de Dados do Azure para PostgreSQL - Servidor Único

Importante

O Banco de Dados do Azure para PostgreSQL - Servidor Único está no caminho da desativação. É altamente recomendável que você atualize para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível. Para obter mais informações sobre como migrar para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível, consulte O que está acontecendo com o Banco de Dados do Azure para Servidor Único PostgreSQL?.

  1. No portal do Azure, procure e selecione Grupos de recursos.

  2. Na lista de grupos de recursos, escolha o nome do seu grupo de recursos.

  3. Na página Visão geral do seu grupo de recursos, selecione Excluir grupo de recursos.

  4. Na caixa de diálogo de confirmação, digite o nome do grupo de recursos e selecione Excluir.

Próximos passos

Para obter um tutorial passo a passo que o orienta pelo processo de criação de um modelo, consulte: