Comparteix a través de


Inicio rápido: Uso de una plantilla de Resource Manager para crear una instancia de Azure Database for PostgreSQL: un solo servidor

Se aplica a: Azure Database for PostgreSQL: servidor único

Importante

El servicio de servidor único de Azure Database for PostgreSQL está en proceso de retirada. Se recomienda encarecidamente actualizar a Azure Database for PostgreSQL: Servidor flexible. Para más información sobre la migración al servidor flexible de Azure Database for PostgreSQL, consulte ¿Qué sucede con el servicio de servidor único de Azure Database for PostgreSQL?.

Azure Database for PostgreSQL es un servicio administrado que usa para ejecutar, administrar y escalar bases de datos de PostgreSQL de alta disponibilidad en la nube. En este inicio rápido se usa una plantilla de Azure Resource Manager para crear una instancia de Azure Database for PostgreSQL: servidor único en Azure Portal, PowerShell o la CLI de Azure.

Una plantilla de Azure Resource Manager es un archivo de notación de objetos JavaScript (JSON) que define tanto la infraestructura como la configuración de un proyecto. La plantilla usa sintaxis declarativa. Se describe la implementación deseada sin escribir la secuencia de comandos de programación para crear la implementación.

Si su entorno cumple los requisitos previos y está familiarizado con el uso de plantillas de Resource Manager, seleccione el botón Implementar en Azure. La plantilla se abrirá en Azure Portal.

Botón para implementar la plantilla de Resource Manager en Azure.

Requisitos previos

Se aplica a: Azure Database for PostgreSQL: servidor único

Importante

El servicio de servidor único de Azure Database for PostgreSQL está en proceso de retirada. Se recomienda encarecidamente actualizar a Azure Database for PostgreSQL: Servidor flexible. Para más información sobre la migración al servidor flexible de Azure Database for PostgreSQL, consulte ¿Qué sucede con el servicio de servidor único de Azure Database for PostgreSQL?.

Una cuenta de Azure con una suscripción activa. cree una de forma gratuita.

Revisión de la plantilla

Cree un servidor de Azure Database for PostgreSQL con un conjunto configurado de recursos de proceso y almacenamiento. Para más información, consulte Planes de tarifa en Azure Database for PostgreSQL: un solo servidor. Cree el servidor dentro en un grupo de recursos de Azure.

La plantilla usada en este inicio rápido forma parte de las plantillas de inicio rápido de 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')]"
    }
  }
}

La plantilla define cinco recursos de Azure:

Puede encontrar más ejemplos de plantillas de Azure Database for PostgreSQL en Plantillas de inicio rápido de Azure.

Implementación de la plantilla

Se aplica a: Azure Database for PostgreSQL: servidor único

Importante

El servicio de servidor único de Azure Database for PostgreSQL está en proceso de retirada. Se recomienda encarecidamente actualizar a Azure Database for PostgreSQL: Servidor flexible. Para más información sobre la migración al servidor flexible de Azure Database for PostgreSQL, consulte ¿Qué sucede con el servicio de servidor único de Azure Database for PostgreSQL?.

Seleccione el siguiente vínculo para implementar la plantilla de servidor de Azure Database for PostgreSQL en Azure Portal:

Botón para implementar la plantilla de Resource Manager en Azure.

En la página Implementación de Azure Database for PostgreSQL con red virtual:

  1. En Grupo de recursos, seleccione Crear nuevo y, después, especifique un nombre válido para el nuevo grupo de recursos y seleccione Aceptar.

  2. Si ha creado un grupo de recursos, seleccione una ubicación para el grupo de recursos y el nuevo servidor.

  3. Escriba un nombre de servidor, Inicio de sesión del administrador y Contraseña de inicio de sesión del administrador.

    Implementación de Azure Database for PostgreSQL con la ventana de red virtual, plantilla de inicio rápido de Azure, Azure Portal

  4. Cambie los valores predeterminados si lo desea:

    • Subscription (Suscripción): la suscripción de Azure que desea usar para el servidor.
    • Sku Capacity (Capacidad de SKU): la capacidad del núcleo virtual, que puede ser 2 (el valor predeterminado), 4, 8, 16, 32 o 64.
    • Sku Name (Nombre de SKU): el prefijo del nivel de SKU, la familia del SKU y la capacidad del SKU, unidos por guiones bajos, como B_Gen5_1, GP_Gen5_2 (el valor predeterminado) o MO_Gen5_32.
    • Sku Size MB (Tamaño de SKU, en MB): el tamaño de almacenamiento, en megabytes, del servidor de Azure Database for PostgreSQL (valor predeterminado, 51200).
    • Nivel de SKU: el nivel de implementación, como Basic, GeneralPurpose (el valor predeterminado) o MemoryOptimized.
    • Sku Family (Familia de SKU): Gen4 o Gen5 (el valor predeterminado), que indica la generación de hardware de la implementación de servidores.
    • PostgreSQLl Version (Versión de PostgreSQL): la versión del servidor de PostgreSQL que se va a implementar, como 9.59.610 u 11 (el valor predeterminado).
    • Backup Retention Days (Días de retención de copia de seguridad): el período deseado para la conservación de copias de seguridad con redundancia geográfica, en días (el valor predeterminado es 7).
    • Geo Redundant Backup (Copia de seguridad con redundancia geográfica): Habilitado o Deshabilitado (el valor predeterminado), en función de los requisitos de la recuperación ante desastres geográfica (Geo-DR).
    • Virtual Network Name (Nombre de red virtual): el nombre de la red virtual (el valor predeterminado es azure_postgresql_vnet).
    • Subnet Name (Nombre de subred): el nombre de la subred (el valor predeterminado es azure_postgresql_subnet).
    • Virtual Network Rule Name (Nombre de regla de red virtual): el nombre de la regla de red virtual que permite la subred (el valor predeterminado es AllowSubnet).
    • Vnet Address Prefix (Prefijo de dirección de red virtual): el prefijo de dirección de la red virtual (valor predeterminado, 10.0.0.0/16).
    • Subnet Prefix (Prefijo de subred): el prefijo de dirección de la subred (valor predeterminado, 10.0.0.0/16).
  5. Consulte los términos y condiciones y seleccione Acepto los términos y condiciones indicados anteriormente.

  6. Seleccione Comprar.

Revisión de los recursos implementados

Se aplica a: Azure Database for PostgreSQL: servidor único

Importante

El servicio de servidor único de Azure Database for PostgreSQL está en proceso de retirada. Se recomienda encarecidamente actualizar a Azure Database for PostgreSQL: Servidor flexible. Para más información sobre la migración al servidor flexible de Azure Database for PostgreSQL, consulte ¿Qué sucede con el servicio de servidor único de Azure Database for PostgreSQL?.

Para ver información general del nuevo servidor de Azure Database for PostgreSQL, siga estos pasos:

  1. En Azure Portal, busque y seleccione los servidores de Azure Database for PostgreSQL.

  2. En la lista base de datos, seleccione el nuevo servidor. Aparece la página de información general del nuevo servidor de Azure Database for PostgreSQL.

Exportación de una plantilla de ARM desde el portal

Puede exportar una plantilla de ARM desde Azure Portal. Hay dos maneras de exportar una plantilla:

Al exportar la plantilla, en la sección "properties":{ } del recurso del servidor PostgreSQL observará que administratorLogin y administratorLoginPassword no se incluyen por motivos de seguridad. DEBE agregar estos parámetros a la plantilla antes de implementarla o, de lo contrario, se producirá un error en la plantilla.

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

Limpieza de recursos

Cuando ya no lo necesite, elimine el grupo de recursos, con lo que se eliminan los recursos que contiene.

Se aplica a: Azure Database for PostgreSQL: servidor único

Importante

El servicio de servidor único de Azure Database for PostgreSQL está en proceso de retirada. Se recomienda encarecidamente actualizar a Azure Database for PostgreSQL: Servidor flexible. Para más información sobre la migración al servidor flexible de Azure Database for PostgreSQL, consulte ¿Qué sucede con el servicio de servidor único de Azure Database for PostgreSQL?.

  1. En Azure Portal, busque la opción Grupos de recursos y selecciónela.

  2. En la lista de los grupos de recursos, elija el nombre del grupo de recursos.

  3. En la página de información general del grupo de recursos, seleccione Eliminar grupo de recursos.

  4. En el cuadro de diálogo de confirmación, escriba el nombre del grupo de recursos y seleccione Eliminar.

Pasos siguientes

Para obtener un tutorial paso a paso que le guíe en el proceso de creación de una plantilla, consulte: