Partage via


Se connecter à un cluster avec un accès privé dans Azure Cosmos DB for PostgreSQL

S’APPLIQUE À : Azure Cosmos DB for PostgreSQL (avec l’extension de base de données Citus pour PostgreSQL)

Ce tutoriel crée une machine virtuelle et un cluster Azure Cosmos DB for PostgreSQL, et établit un accès privé entre eux.

Prérequis

Créez un réseau virtuel

Tout d’abord, configurez un groupe de ressources et un réseau virtuel pour accueillir votre cluster et votre machine virtuelle.

az group create \
	--name link-demo \
	--location eastus

az network vnet create \
	--resource-group link-demo \
	--name link-demo-net \
	--address-prefix 10.0.0.0/16

az network nsg create \
	--resource-group link-demo \
	--name link-demo-nsg

az network vnet subnet create \
	--resource-group link-demo \
	--vnet-name link-demo-net \
	--name link-demo-subnet \
	--address-prefixes 10.0.1.0/24 \
	--network-security-group link-demo-nsg

Création d'une machine virtuelle

À des fins de démonstration, créez une machine virtuelle qui exécute Debian Linux et le client PostgreSQL psql.

# provision the VM

az vm create \
	--resource-group link-demo \
	--name link-demo-vm \
	--vnet-name link-demo-net \
	--subnet link-demo-subnet \
	--nsg link-demo-nsg \
	--public-ip-address link-demo-net-ip \
	--image Debian11 \
	--admin-username azureuser \
	--generate-ssh-keys

# install psql database client

az vm run-command invoke \
	--resource-group link-demo \
	--name link-demo-vm \
	--command-id RunShellScript \
	--scripts \
		"sudo touch /home/azureuser/.hushlogin" \
		"sudo DEBIAN_FRONTEND=noninteractive apt-get update" \
		"sudo DEBIAN_FRONTEND=noninteractive apt-get install -q -y postgresql-client"

Créez votre cluster Azure Cosmos DB for PostgreSQL dans le portail Azure.

  1. Dans le portail, en haut à gauche, sélectionnez Créer une ressource.

  2. Sur la page Créer une ressource, sélectionnez Bases de données, puis Azure Cosmos DB.

  3. Sur l’écran Sélectionner une option d’API, sur la vignette PostgreSQL, sélectionnez Créer.

  4. Dans la page Créer un cluster Azure Cosmos DB for PostgreSQL, entrez les informations suivantes :

    • Groupe de ressources : sélectionnez Nouveau, puis entrez link-demo.

    • Nom du cluster : entrez link-demo-sg.

      Notes

      Le cluster doit être globalement unique dans Azure, car il crée une entrée DNS. Si link-demo-sg n’est pas disponible, entrez un autre nom et ajustez les étapes ci-après en conséquence.

    • Emplacement : sélectionnez USA Est.

    • Mot de passe : entrez, puis confirmez un mot de passe.

  5. Sélectionnez Suivant : Réseau.

  6. Sous l’onglet Mise en réseau, pour Méthode de connectivité, sélectionnez Accès privé.

  7. Dans l’écran Créer un point de terminaison privé, entrez ou sélectionnez les valeurs suivantes :

    • Groupe de ressources : link-demo
    • Emplacement : (US) East US
    • Nom : link-demo-sg-c-pe1
    • Sous-ressource cible : coordinator
    • Réseau virtuel : link-demo-net
    • Sous-réseau : link-demo-subnet
    • Intégrer à une zone DNS privée : Oui
  8. Sélectionnez OK.

  9. Après avoir créé le point de terminaison privé, sélectionnez Vérifier + créer, puis Créer pour créer votre cluster.

Accéder au cluster en privé à partir de la machine virtuelle

La liaison privée permet à la machine virtuelle de se connecter au cluster, et empêche des hôtes externes d’en faire de même. Au cours de cette étape, vous vérifiez que le client de base de données psql sur notre machine virtuelle peut communiquer avec le nœud coordinateur du cluster. Dans le code, remplacez {your_password} par le mot de passe de votre cluster.

# replace {your_password} in the string with your actual password

PG_URI='host=c-link-demo-sg.12345678901234.postgres.cosmos.azure.com port=5432 dbname=citus user=citus password={your_password} sslmode=require'

# Attempt to connect to cluster with psql in the VM

az vm run-command invoke \
	--resource-group link-demo \
	--name link-demo-vm \
	--command-id RunShellScript \
	--scripts "psql '$PG_URI' -c 'SHOW citus.version;'" \
	--query 'value[0].message' \
	| xargs printf

Vous devez voir un numéro de version pour Citus dans la sortie. Le cas échéant, psql a pu exécuter la commande et la liaison privée a fonctionné.

Nettoyer les ressources

Vous avez vu comment créer une liaison privée entre une machine virtuelle et un cluster. Vous pouvez maintenant déprovisionner les ressources.

Supprimez le groupe de ressources et les ressources qu’il contient seront déprovisionnées :

az group delete --resource-group link-demo

# press y to confirm

Étapes suivantes