Partage via


Obtenir des points de terminaison de connexion & créer les chaîne de connexion pour votre serveur PostgreSQL avec Azure Arc

Cet article explique comment récupérer les points de terminaison de connexion d’un groupe de serveurs et comment former les chaînes de connexion utilisables avec des applications et des outils.

Remarque

En tant que fonctionnalité en préversion, la technologie présentée dans cet article est soumise aux conditions d’utilisation supplémentaires des préversions de Microsoft Azure.

Les dernières mises à jour sont disponibles dans les notes de publication.

Obtenez les points de terminaison de connexion :

Exécutez la commande suivante :

az postgres server-arc endpoint list -n <server name> --k8s-namespace <namespace> --use-k8s

Par exemple :

az postgres server-arc endpoint list -n postgres01 --k8s-namespace arc --use-k8s

Elle retourne la liste des points de terminaison : le point de terminaison PostgreSQL, le tableau de bord Recherche dans les journaux (Kibana) et le tableau de bord Métriques (Grafana). Par exemple :

{
  "instances": [
    {
      "endpoints": [
        {
          "description": "PostgreSQL Instance",
          "endpoint": "postgresql://postgres:<replace with password>@12.345.567.89:5432"
        },
        {
          "description": "Log Search Dashboard",
          "endpoint": "https://23.456.78.99:5601/app/kibana#/discover?_a=(query:(language:kuery,query:'custom_resource_name:postgres01'))"
        },
        {
          "description": "Metrics Dashboard",
          "endpoint": "https://34.567.890.12:3000/d/postgres-metrics?var-Namespace=arc&var-Name=postgres01"
        }
      ],
      "engine": "PostgreSql",
      "name": "postgres01"
    }
  ],
  "namespace": "arc"
}

Utilisez ces points de terminaison pour :

  • Former vos chaînes de connexion et vous connecter avec vos outils clients ou vos applications clientes
  • Accéder aux tableaux de bord Grafana et Kibana depuis votre navigateur

Par exemple, vous pouvez utiliser le point de terminaison nommé PostgreSQL Instance pour vous connecter avec psql à votre groupe de serveurs :

psql postgresql://postgres:MyPassworkd@12.345.567.89:5432
psql (10.14 (Ubuntu 10.14-0ubuntu0.18.04.1), server 12.4 (Ubuntu 12.4-1.pgdg16.04+1))
WARNING: psql major version 10, server major version 12.
         Some psql features might not work.
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.

postgres=#

Remarque

  • Le mot de passe de l’utilisateur postgres indiqué dans le point de terminaison nommé « Instance PostgreSQL » est le mot de passe que vous avez choisi lors du déploiement du groupe de serveurs.

Depuis l’interface CLI avec kubectl

kubectl get postgresqls/<server name> -n <namespace name>

Par exemple :

kubectl get postgresqls/postgres01 -n arc

Ces commandes produisent une sortie similaire à celle-ci. Vous pouvez utiliser ces informations pour former vos chaînes de connexion :

NAME         STATE   READY-PODS   PRIMARY-ENDPOINT     AGE
postgres01   Ready   3/3          12.345.567.89:5432   9d

Formation de chaînes de connexion

Utilisez les exemples de chaînes de connexion ci-dessous pour votre groupe de serveurs. Copiez-collez-les, puis personnalisez-les en fonction des besoins :

Important

SSL est requis pour les connexions clientes. Dans la chaîne de connexion, le paramètre de mode SSL ne doit pas être désactivé. Pour plus d’informations, consultez la page https://www.postgresql.org/docs/14/runtime-config-connection.html.

ADO.NET

Server=192.168.1.121;Database=postgres;Port=24276;User Id=postgres;Password={your_password_here};Ssl Mode=Require;`

C++ (libpq)

host=192.168.1.121 port=24276 dbname=postgres user=postgres password={your_password_here} sslmode=require

JDBC

jdbc:postgresql://192.168.1.121:24276/postgres?user=postgres&password={your_password_here}&sslmode=require

Node.js

host=192.168.1.121 port=24276 dbname=postgres user=postgres password={your_password_here} sslmode=require

PHP

host=192.168.1.121 port=24276 dbname=postgres user=postgres password={your_password_here} sslmode=require

psql

psql "host=192.168.1.121 port=24276 dbname=postgres user=postgres password={your_password_here} sslmode=require"

Python

dbname='postgres' user='postgres' host='192.168.1.121' password='{your_password_here}' port='24276' sslmode='true'

Ruby

host=192.168.1.121; dbname=postgres user=postgres password={your_password_here} port=24276 sslmode=require