Démarrage rapide : Créer un serveur Azure Database pour PostgreSQL à l’aide de l’interface Azure CLI

S’APPLIQUE À : Azure Database pour PostgreSQL – Serveur unique versions

Important

Azure Database pour PostgreSQL - Serveur unique est en voie de mise hors service. Nous vous recommandons vivement de procéder à une mise à niveau vers un serveur flexible Azure Database pour PostgreSQL. Pour obtenir plus d’informations sur la migration vers Azure Database pour PostgreSQL – Serveur flexible, consultez Qu’en est-il du Serveur unique Azure Database pour PostgreSQL ?.

Ce guide de démarrage rapide montre comment utiliser les commandes Azure CLI dans Azure Cloud Shell afin de créer un serveur unique Azure Database pour PostgreSQL en cinq minutes.

Conseil

Pensez à utiliser la commande Azure CLI az postgres up, plus simple. Essayez le guide de démarrage rapide.

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.

Prérequis

Lancement d’Azure Cloud Shell

Azure Cloud Shell est un interpréteur de commandes interactif et gratuit que vous pouvez utiliser pour exécuter les étapes de cet article. Il contient des outils Azure courants préinstallés et configurés pour être utilisés avec votre compte.

Pour ouvrir Cloud Shell, sélectionnez simplement Essayer en haut à droite d’un bloc de code. Vous pouvez aussi lancer Cloud Shell dans un onglet distinct du navigateur en accédant à https://shell.azure.com.

Quand Cloud Shell s’ouvre, vérifiez que Bash est sélectionné pour votre environnement. Les sessions ultérieures utiliseront Azure CLI dans un environnement Bash. Sélectionnez Copier pour copier les blocs de code, collez-les dans Cloud Shell, puis appuyez sur Entrée pour les exécuter.

Connexion à Azure

Cloud Shell est automatiquement authentifié sous le compte initial utilisé pour la connexion. Utilisez le script suivant pour vous connecter avec un autre abonnement, en remplaçant <Subscription ID> par votre ID d’abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.

subscription="<subscriptionId>" # add subscription here

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

Pour plus d’informations, consultez Définir l’abonnement actif ou Se connecter de manière interactive

Définir les valeurs de paramètres

Les valeurs ci-dessous sont utilisées dans les commandes suivantes pour créer la base de données et les ressources requises. Les noms de serveur doivent être globalement uniques dans l’ensemble d’Azure, de sorte que la fonction $RANDOM est utilisée pour créer le nom du serveur.

Modifiez l’emplacement, le cas échéant, en fonction de votre environnement. Remplacez 0.0.0.0 par la plage d’adresses IP pour les faire correspondre à votre environnement spécifique. Utilisez l’adresse IP publique de l’ordinateur que vous utilisez pour limiter l’accès au serveur à votre adresse IP uniquement.

# 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..."

Créer un groupe de ressources

Créez un groupe de ressources avec la commande az group create. Un groupe de ressources Azure est un conteneur logique dans lequel les ressources Azure sont déployées et gérées. L’exemple suivant crée un groupe de ressources nommé myResourceGroup à l’emplacement eastus :

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

Créer un serveur

Créez un serveur avec la commande 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

Notes

  • Le nom de serveur ne peut contenir que des lettres minuscules, des chiffres et le caractère de trait d’union (-). Il doit contenir entre 3 et 63 caractères. Pour plus d’informations, consultez les règles de nommage d’Azure Database pour PostgreSQL.
  • Le nom d’utilisateur de l’administrateur ne peut pas être azure_superuser, admin, administrator, root, guest ni public.
  • Le mot de passe doit contenir entre 8 et 128 caractères appartenant à 3 des catégories suivantes : lettres majuscules, lettres minuscules, chiffres et caractères non alphanumériques.
  • Pour plus d’informations sur les niveaux tarifaires, consultez Tarification d’Azure Database pour PostgreSQL.

Important

Configurer une règle de pare-feu basée sur le serveur

Créez une règle de pare-feu à l’aide de la commande az postgres server firewall-rule create afin d’accorder à votre environnement local un accès pour se connecter au serveur.

# 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

Conseil

Si vous ne connaissez pas votre adresse IP, accédez à WhatIsMyIPAddress.com pour l’obtenir.

Notes

Pour éviter les problèmes de connectivité, assurez-vous que le pare-feu de votre réseau autorise le port 5432. Les serveurs Azure Database pour PostgreSQL utilisent ce port.

Répertorier les règles de pare-feu basées sur un serveur

Pour répertorier les règles de pare-feu de serveur existant, exécutez la commande 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 sortie répertorie les règles de pare-feu éventuelles, par défaut au format JSON. Vous pouvez utiliser le commutateur --output table pour obtenir une sortie dans un format de tableau plus lisible.

Obtenir les informations de connexion

Pour vous connecter à votre serveur, fournissez des informations sur l’hôte et des informations d’identification pour l’accès.

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

Prenez note des valeurs administratorLogin et fullyQualifiedDomainName.

Se connecter au serveur Azure Database pour PostgreSQL à l’aide de psql

Le client psql est un choix répandu pour la connexion aux serveurs PostgreSQL. Vous pouvez vous connecter à votre serveur par l’intermédiaire de psql avec Azure Cloud Shell. Vous pouvez également utiliser psql sur votre environnement local s’il est disponible. Une base de données vide, postgres, est automatiquement créée avec un nouveau serveur PostgreSQL. Vous pouvez utiliser cette base de données pour vous connecter à psql, comme illustré dans le code suivant.

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

Conseil

Si vous préférez utiliser un chemin d’URL pour vous connecter à Postgres, encodez par URL le signe @ dans le nom d’utilisateur avec %40. La chaîne de connexion pour psql serait, par exemple :

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

Nettoyer les ressources

Utilisez la commande suivante pour supprimer le groupe de ressources et toutes les ressources associées à celui-ci à l’aide de la commande az group delete, sauf si vous avez toujours besoin de ces ressources. La création, ainsi que la suppression, de certaines de ces ressources peut prendre du temps.

az group delete --name $resourceGroup

Étapes suivantes