Inicio rápido: Creación de un servidor de Azure Database for PostgreSQL mediante la CLI de Azure

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?.

En este inicio rápido se muestra cómo usar los comandos de la CLI de Azure en Azure Cloud Shell para crear un servidor de Azure Database for PostgreSQL único en cinco minutos.

Sugerencia

Considere la posibilidad de usar el comando az postgres up de la CLI de Azure más sencillo. Pruebe el inicio rápido.

Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.

Requisitos previos

Inicio de Azure Cloud Shell

Azure Cloud Shell es un shell interactivo gratuito que puede usar para ejecutar los pasos de este artículo. Tiene las herramientas comunes de Azure preinstaladas y configuradas para usarlas en la cuenta.

Para abrir Cloud Shell, seleccione Pruébelo en la esquina superior derecha de un bloque de código. También puede ir a https://shell.azure.com para iniciar Cloud Shell en una pestaña independiente del explorador.

Cuando se abra Cloud Shell, compruebe que Bash está seleccionado para el entorno. En las sesiones siguientes se usará la CLI de Azure en un entorno de Bash, seleccione Copiar para copiar los bloques de código, péguelos en Cloud Shell y, luego, presione Entrar para ejecutarlos.

Inicio de sesión en Azure

Cloud Shell se autentica de forma automática en la cuenta inicial con la que ha iniciado sesión. Use el script siguiente para iniciar sesión con otra suscripción, y reemplace <Subscription ID> con el id. de la suscripción de Azure. Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

Para más información, vea Establecimiento de la suscripción activa o Inicio de sesión de forma interactiva

Establecer Valores de parámetros

Los siguientes valores se usan en los comandos siguientes para crear la base de datos y los recursos necesarios. Los nombres de servidor deben ser únicos globalmente en todo Azure, por lo que la función $RANDOM se usa para crear el nombre del servidor.

Modifique la ubicación del modo adecuado para el entorno. Reemplace 0.0.0.0 por el intervalo de direcciones IP para que coincidan con el entorno específico. Use la dirección IP pública del equipo que usa para restringir el acceso al servidor solo a la dirección IP.

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-postgresql-rg-$randomIdentifier"
tag="create-postgresql-server-and-firewall-rule"
server="msdocs-postgresql-server-$randomIdentifier"
sku="GP_Gen5_2"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
# Specify appropriate IP address values for your environment
# to limit / allow access to the PostgreSQL server
startIp=0.0.0.0
endIp=0.0.0.0
echo "Using resource group $resourceGroup with login: $login, password: $password..."

Crear un grupo de recursos

Para crear un grupo de recursos, use el comando az group create. Un grupo de recursos de Azure es un contenedor lógico en el que se implementan y se administran los recursos de Azure. En el ejemplo siguiente, se crea un grupo de recursos denominado myResourceGroup en la ubicación eastus:

# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag

Creación de un servidor

Cree un servidor con el comando az postgres server create.

# Create a PostgreSQL server in the resource group
# Name of a server maps to DNS name and is thus required to be globally unique in Azure.
echo "Creating $server in $location..."
az postgres server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password --sku-name $sku

Nota

  • El nombre del servidor solo puede contener letras minúsculas, números y el carácter de guion (-). Debe contener entre 3 y 63 caracteres. Para más información, consulte las reglas de nomenclatura de Azure Database for PostgreSQL.
  • El nombre del usuario administrador no puede ser azure_superuser, admin, administrator, root, guest o public.
  • La contraseña debe contener entre 8 y 128 caracteres de tres de las siguientes categorías: letras en mayúsculas, letras en minúscula, números y caracteres no alfanuméricos.
  • Para más información sobre las SKU, consulte Precios de Azure Database for PostgreSQL.

Importante

Configuración de una regla de firewall basada en servidor

Cree una regla de firewall con el comando az postgres server firewall-rule create para proporcionar al entorno local acceso para conectarse al servidor.

# Configure a firewall rule for the server 
echo "Configuring a firewall rule for $server for the IP address range of $startIp to $endIp"
az postgres server firewall-rule create --resource-group $resourceGroup --server $server --name AllowIps --start-ip-address $startIp --end-ip-address $endIp

Sugerencia

Si no conoce su dirección IP, vaya a WhatIsMyIPAddress.com para obtenerla.

Nota

Para evitar problemas de conectividad, asegúrese de que el firewall de la red permite el puerto 5432. Los servidores de Azure Database for PostgreSQL usan ese puerto.

Enumeración de reglas de firewall basadas en servidor

Para enumerar las reglas de firewall de servidor existentes, ejecute el comando az postgres server firewall-rule list.

# List firewall rules for the server
echo "List of server-based firewall rules for $server"
az postgres server firewall-rule list --resource-group $resourceGroup --server-name $server
# You may use the switch `--output table` for a more readable table format as the output.

La salida enumera las reglas de firewall, si existen, en formato JSON de forma predeterminada. Puede usar el modificador --output table para obtener una salida en formato de tabla más legible.

Obtención de la información de conexión

Para conectarse a su servidor, especifique las credenciales de acceso y la información del host.

az postgres server show --resource-group $resourceGroup --name $server

Tome nota de los valores de administratorLogin y fullyQualifiedDomainName.

Conexión al servidor de Azure Database for PostgreSQL mediante psql

El cliente de psql es una opción que se usa con frecuencia para conectarse a servidores PostgreSQL. Puede conectarse a un servidor mediante psql con Azure Cloud Shell. También puede usar psql en su entorno local, en caso de que esté disponible. Se crea automáticamente una base de datos vacía, postgres, con cada servidor PostgreSQL nuevo. Esa base de datos se puede usar para conectarse con psql, como se muestra en el código siguiente.

psql --host=<server_name>.postgres.database.azure.com --port=5432 --username=<admin_user>@<server_name> --dbname=postgres

Sugerencia

Si prefiere usar una ruta URL para conectarse a Postgres, codifique la URL con el signo @ en el nombre de usuario con %40. Por ejemplo, la cadena de conexión de psql sería:

psql postgresql://<admin_user>%40<server_name>@<server_name>.postgres.database.azure.com:5432/postgres

Limpieza de recursos

Use el comando siguiente para quitar el grupo de recursos y todos los recursos asociados con él mediante el comando az group delete, a menos que tenga una necesidad constante de estos recursos. Algunos de estos recursos pueden tardar un tiempo en crearse, así como en eliminarse.

az group delete --name $resourceGroup

Pasos siguientes