Partager via


Tutoriel : Se connecter à un serveur SQL Azure avec un point de terminaison privé Azure à l’aide d’Azure CLI

Azure Private Endpoint est le composant fondamental de Private Link dans Azure. Il permet à des ressources Azure, comme des machines virtuelles, de communiquer de façon privée avec des ressources Private Link.

Diagramme des ressources créées dans le guide de démarrage rapide d'un point de terminaison privé.

Dans ce tutoriel, vous allez apprendre à :

  • Créer un réseau virtuel et un hôte Azure bastion.
  • Création d’une machine virtuelle
  • Créer un serveur Azure SQL et un point de terminaison privé
  • Tester la connectivité au point de terminaison privé du serveur SQL

Prérequis

Créer un groupe de ressources

Un groupe de ressources Azure est un conteneur logique dans lequel les ressources Azure sont déployées et gérées.

Créez un groupe de ressources avec la commande az group create :

  • Nommé CreateSQLEndpointTutorial-rg.
  • Dans l’emplacement eastus.
az group create \
    --name CreateSQLEndpointTutorial-rg \
    --location eastus

Créer un réseau virtuel et un hôte bastion

Dans cette section, vous allez créer un réseau virtuel, un sous-réseau et un hôte bastion.

L’hôte bastion sera utilisé pour se connecter de façon sécurisée à la machine virtuelle afin de tester le point de terminaison privé.

Créez un réseau virtuel avec la commande az network vnet create

  • Nommé myVNet.
  • Préfixe d’adresse 10.0.0.0/16.
  • Sous-réseau nommé myBackendSubnet.
  • Préfixe du sous-réseau 10.0.0.0/24.
  • Dans le groupe de ressources CreateSQLEndpointTutorial-rg.
  • Emplacement eastus.
az network vnet create \
    --resource-group CreateSQLEndpointTutorial-rg\
    --location eastus \
    --name myVNet \
    --address-prefixes 10.0.0.0/16 \
    --subnet-name myBackendSubnet \
    --subnet-prefixes 10.0.0.0/24

Mettez à jour le sous-réseau pour désactiver les stratégies réseau de point de terminaison privé pour le point de terminaison privé à l’aide de la commande az network vnet subnet update :

az network vnet subnet update \
    --name myBackendSubnet \
    --resource-group CreateSQLEndpointTutorial-rg \
    --vnet-name myVNet \
    --disable-private-endpoint-network-policies true

Utilisez az network public-ip create pour créer une adresse IP publique pour l’hôte bastion :

  • Créez une adresse IP publique redondante de zone standard nommée myBastionIP.
  • Dans CreateSQLEndpointTutorial-rg.
az network public-ip create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name myBastionIP \
    --sku Standard

Utilisez az network vnet subnet create pour créer un sous-réseau bastion :

  • Nommé AzureBastionSubnet.
  • Préfixe d’adresse 10.0.1.0/24.
  • Dans le réseau virtuel myVNet.
  • Dans le groupe de ressources CreateSQLEndpointTutorial-rg.
az network vnet subnet create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.0.1.0/24

Utilisez az network bastion create pour créer un hôte bastion :

  • Nom : myBastionHost
  • Dans CreateSQLEndpointTutorial-rg.
  • Associé à l’adresse IP publique myBastionIP.
  • Associé au réseau virtuel myVNet.
  • À l’emplacement eastus.
az network bastion create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --location eastus

Le déploiement de l’hôte Azure Bastion peut prendre quelques minutes.

Créer une machine virtuelle de test

Dans cette section, vous allez créer une machine virtuelle qui sera utilisée pour tester le point de terminaison privé.

Créez une machine virtuelle avec la commande az vm create. Lorsque vous y êtes invité, indiquez un mot de passe à utiliser comme informations d’identification pour la machine virtuelle :

  • Nommée myVM.
  • Dans CreateSQLEndpointTutorial-rg.
  • Dans le réseau myVNet.
  • Dans le sous-réseau myBackendSubnet.
  • Image de serveur Win2019Datacenter.
az vm create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name myVM \
    --image Win2019Datacenter \
    --public-ip-address "" \
    --vnet-name myVNet \
    --subnet myBackendSubnet \
    --admin-username azureuser

Remarque

Azure fournit une adresse IP d’accès sortant par défaut pour les machines virtuelles qui n’ont pas d’adresse IP publique ou qui se trouvent dans le pool de back-ends d’un équilibreur de charge Azure de base interne. Le mécanisme d’adresse IP d’accès sortant par défaut fournit une adresse IP sortante qui n’est pas configurable.

L’adresse IP de l’accès sortant par défaut est désactivée quand l’un des événements suivants se produit :

  • Une adresse IP publique est affectée à la machine virtuelle.
  • La machine virtuelle est placée dans le pool principal d’un équilibreur de charge standard, avec ou sans règles de trafic sortant.
  • Une ressource Azure NAT Gateway est attribuée au sous-réseau de la machine virtuelle.

Les machines virtuelles que vous avez créées, au moyen de groupes de machines virtuelles identiques en mode d’orchestration flexible, n’ont pas d’accès sortant par défaut.

Pour plus d’informations sur les connexions sortantes dans Azure, consultez Accès sortant par défaut dans Azure et Utiliser SNAT (Source Network Address Translation) pour les connexions sortantes.

Créer un serveur SQL Azure

Dans cette section, vous allez créer un serveur et une base de données SQL.

Utilisez az sql server create pour créer un serveur SQL :

  • Remplacez <sql-server-name> par le nom de votre serveur unique :
  • Remplacez <your-password> par votre mot de passe.
  • Dans CreateSQLEndpointTutorial-rg.
  • Dans la région eastus.
az sql server create \
    --name <sql-server-name> \
    --resource-group CreateSQLEndpointTutorial-rg \
    --location eastus \
    --admin-user sqladmin \
    --admin-password <your-password>

Utilisez az sql db create pour créer une base de données :

  • Nommée myDataBase.
  • Dans CreateSQLEndpointTutorial-rg.
  • Remplacez <sql-server-name> par le nom de votre serveur unique :
az sql db create \
    --resource-group CreateSQLEndpointTutorial-rg  \
    --server <sql-server-name> \
    --name myDataBase \
    --sample-name AdventureWorksLT

Créer un point de terminaison privé

Dans cette section, vous allez créer le point de terminaison privé.

Utilisez az sql server list pour placer l’ID de ressource du serveur SQL dans une variable d’interpréteur de commandes.

Utilisez az network private-endpoint create pour créer le point de terminaison et la connexion :

  • Nommé myPrivateEndpoint.
  • Dans le groupe de ressources CreateSQLEndpointTutorial-rg.
  • Dans le réseau virtuel myVNet.
  • Dans le sous-réseau myBackendSubnet.
  • Connexion nommée myConnection.
id=$(az sql server list \
    --resource-group CreateSQLEndpointTutorial-rg \
    --query '[].[id]' \
    --output tsv)

az network private-endpoint create \
    --name myPrivateEndpoint \
    --resource-group CreateSQLEndpointTutorial-rg \
    --vnet-name myVNet --subnet myBackendSubnet \
    --private-connection-resource-id $id \
    --group-ids sqlServer \
    --connection-name myConnection  

Configurer la zone DNS privée

Dans cette section, vous allez créer et configurer la zone DNS privée au moyen de az network private-dns zone create.

Vous utiliserez az network private-dns link vnet create pour créer le lien de réseau virtuel vers la zone DNS.

Vous allez créer un groupe de zones DNS avec az network private-endpoint dns-zone-group create.

  • Zone nommée privatelink.database.windows.net
  • Dans le réseau virtuel myVNet.
  • Dans le groupe de ressources CreateSQLEndpointTutorial-rg.
  • Lien DNS nommé myDNSLink.
  • Associé à myPrivateEndpoint.
  • Groupe de zones nommé MyZoneGroup.
az network private-dns zone create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name "privatelink.database.windows.net"

az network private-dns link vnet create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --zone-name "privatelink.database.windows.net" \
    --name MyDNSLink \
    --virtual-network myVNet \
    --registration-enabled false

az network private-endpoint dns-zone-group create \
   --resource-group CreateSQLEndpointTutorial-rg \
   --endpoint-name myPrivateEndpoint \
   --name MyZoneGroup \
   --private-dns-zone "privatelink.database.windows.net" \
   --zone-name sql

Tester la connectivité au point de terminaison privé

Dans cette section, vous allez utiliser la machine virtuelle que vous avez créée à l’étape précédente pour vous connecter au serveur SQL via le point de terminaison privé.

  1. Connectez-vous au portail Azure.

  2. Dans le volet de navigation de gauche, sélectionnez Groupes de ressources.

  3. Sélectionnez CreateSQLEndpointTutorial-rg.

  4. Sélectionnez myVM.

  5. Dans la page de vue d’ensemble pour myVM, sélectionnez Se connecter, puis Bastion.

  6. Sélectionnez le bouton bleu Utiliser le bastion.

  7. Entrez le nom d’utilisateur et le mot de passe que vous avez utilisés lors de la création de la machine virtuelle.

  8. Ouvrez Windows PowerShell sur le serveur après vous être connecté.

  9. Entrez nslookup <sqlserver-name>.database.windows.net. Remplacez <sqlserver-name> par le nom du serveur SQL que vous avez créé dans les étapes précédentes. Vous recevez un message similaire à ce qui est montré ci-dessous :

    Server:  UnKnown
    Address:  168.63.129.16
    
    Non-authoritative answer:
    Name:    mysqlserver8675.privatelink.database.windows.net
    Address:  10.0.0.5
    Aliases:  mysqlserver8675.database.windows.net
    

    Une adresse IP privée 10.0.0.5 est retournée pour le nom du serveur SQL. Cette adresse se trouve dans le sous-réseau du réseau virtuel que vous avez créé précédemment.

  10. Installez SQL Server Management Studio sur myVM.

  11. Ouvrez SQL Server Management Studio.

  12. Dans Se connecter au serveur, entrez ou sélectionnez les informations suivantes :

    Paramètre Valeur
    Type de serveur Sélectionnez Moteur de base de données.
    Nom du serveur Entrez <nom-serveur-sql>.database.windows.net
    Authentification Sélectionnez Authentification SQL Server.
    Nom d’utilisateur Entrez le nom d’utilisateur que vous avez entré lors de la création du serveur.
    Mot de passe Entrez le mot de passe que vous avez entré lors de la création du serveur.
    Se souvenir du mot de passe Sélectionnez Oui.
  13. Sélectionnez Connecter.

  14. Parcourez les bases de données dans le menu de gauche.

  15. (Facultatif) Créez ou interrogez des informations à partir de mysqldatabase.

  16. Fermez la connexion Bastion à myVM.

Nettoyer les ressources

Lorsque vous avez fini d’utiliser le point de terminaison privé, le serveur SQL et la machine virtuelle, supprimez le groupe de ressources et toutes les ressources qu’il contient :

az group delete \
    --name CreateSQLEndpointTutorial-rg

Étapes suivantes

Dans ce tutoriel, vous avez créé les éléments suivants :

  • Un réseau virtuel et un hôte bastion.
  • Une machine virtuelle
  • Un serveur SQL Azure avec un point de terminaison privé

Vous avez utilisé la machine virtuelle pour tester de façon sécurisée la connectivité au serveur SQL via le point de terminaison privé.

En guise d’étape suivante, vous pouvez également être intéressé par le scénario d’architecture Application web avec connectivité privée à une base de données Azure SQL, qui connecte une application web en dehors du réseau virtuel au point de terminaison privé d’une base de données.