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 simple
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
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Inicio rápido para Bash en Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
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
- La versión de PostgreSQL predeterminada en el servidor es la 9.6. Para ver todas versiones compatibles, consulte Versiones principales de PostgreSQL admitidas.
- En el servidor, el protocolo SSL está habilitado de manera predeterminada. Para más información sobre SSL, consulte Configuración de la conectividad de SSL.
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