Créer et gérer une liaison privée pour Azure Database pour MySQL en utilisant l’interface CLI
S’APPLIQUE À : Azure Database pour MySQL - Serveur unique
Important
Le serveur unique Azure Database pour MySQL est en voie de mise hors service. Nous vous conseillons vivement de procéder à une mise à niveau vers Azure Database pour MySQL – Serveur flexible. Pour obtenir plus d’informations sur la migration vers Azure Database pour MySQL – Serveur flexible, consultez Qu’en est-il du Serveur unique Azure Database pour MySQL ?
Private Endpoint est le composant fondamental de Private Link dans Azure. Il permet à des ressources Azure, comme des machines virtuelles, de communiquer en privé avec des ressources Private Link. Dans cet article, vous apprendrez à utiliser Azure CLI pour créer une machine virtuelle dans un réseau virtuel Azure et un serveur Azure Database pour MySQL avec un point de terminaison privé Azure.
Notes
La fonctionnalité de lien privé est disponible uniquement pour les serveurs Azure Database pour MySQL dans les niveaux tarifaires Usage général ou Mémoire optimisée. Vérifiez que le serveur de base de données se trouve dans l’un de ces niveaux tarifaires.
Prérequis
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Démarrage rapide pour Bash dans Azure Cloud Shell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
- Cet article nécessite la version 2.0.28 ou ultérieure d’Azure CLI. Si vous utilisez Azure Cloud Shell, la version la plus récente est déjà installée.
Créer un groupe de ressources
Avant de pouvoir créer des ressources, vous devez créer un groupe de ressources qui hébergera le réseau virtuel. Créez un groupe de ressources avec la commande az group create. Cet exemple crée un groupe de ressources nommé myResourceGroup à l’emplacement westeurope :
az group create --name myResourceGroup --location westeurope
Création d'un réseau virtuel
Créez un réseau virtuel avec la commande az network vnet create. Cet exemple crée un réseau virtuel par défaut nommé myVirtualNetwork avec un sous-réseau nommé mySubnet :
az network vnet create \
--name myVirtualNetwork \
--resource-group myResourceGroup \
--subnet-name mySubnet
Désactiver les stratégies Private Endpoint du sous-réseau
Azure déploie des ressources sur un sous-réseau au sein d’un réseau virtuel. vous devez donc créer ou mettre à jour le sous-réseau pour désactiver les stratégies réseau de point de terminaison privé. Mettez à jour une configuration de sous-réseau nommée mySubnet avec az network vnet subnet update :
az network vnet subnet update \
--name mySubnet \
--resource-group myResourceGroup \
--vnet-name myVirtualNetwork \
--disable-private-endpoint-network-policies true
Création de la machine virtuelle
Créez une machine virtuelle avec az vm create. Lorsque vous y êtes invité, indiquez un mot de passe à utiliser comme informations d’identification pour vous connecter à la machine virtuelle. Cet exemple crée une machine virtuelle nommée myVm :
az vm create \
--resource-group myResourceGroup \
--name myVm \
--image Win2019Datacenter
Notes
l’adresse IP publique de la machine virtuelle ; Vous utiliserez cette adresse pour vous connecter à la machine virtuelle à partir d’Internet à l’étape suivante.
Création d’un serveur Azure Database pour MySQL
Créez un serveur Azure Database pour MySQL avec la commande az mysql server create. N’oubliez pas que le nom de votre serveur MySQL doit être unique dans Azure. Par conséquent, remplacez la valeur d’espace réservé entre crochets par votre propre valeur unique :
# Create a server in the resource group
az mysql server create \
--name mydemoserver \
--resource-group myResourcegroup \
--location westeurope \
--admin-user mylogin \
--admin-password <server_admin_password> \
--sku-name GP_Gen5_2
Notes
Il peut arriver que l’instance Azure Database pour MySQL et le sous-réseau de réseau virtuel se trouvent dans des abonnements différents. Dans ce cas, vous devez vérifier les configurations suivantes :
- Assurez-vous que le fournisseur de ressources Microsoft.DBforMySQL est inscrit pour les deux abonnements. Pour plus d’informations, reportez-vous à resource-manager-registration
Créer l’instance Private Endpoint
Créez un point de terminaison privé pour le serveur MySQL dans votre réseau virtuel :
az network private-endpoint create \
--name myPrivateEndpoint \
--resource-group myResourceGroup \
--vnet-name myVirtualNetwork \
--subnet mySubnet \
--private-connection-resource-id $(az resource show -g myResourcegroup -n mydemoserver --resource-type "Microsoft.DBforMySQL/servers" --query "id" -o tsv) \
--group-id mysqlServer \
--connection-name myConnection
Configurer la zone DNS privée
Créez une zone DNS privée pour le domaine du serveur MySQL et créez un lien d’association avec le réseau virtuel.
az network private-dns zone create --resource-group myResourceGroup \
--name "privatelink.mysql.database.azure.com"
az network private-dns link vnet create --resource-group myResourceGroup \
--zone-name "privatelink.mysql.database.azure.com"\
--name MyDNSLink \
--virtual-network myVirtualNetwork \
--registration-enabled false
# Query for the network interface ID
$networkInterfaceId=$(az network private-endpoint show --name myPrivateEndpoint --resource-group myResourceGroup --query 'networkInterfaces[0].id' -o tsv)
az resource show --ids $networkInterfaceId --api-version 2019-04-01 -o json
# Copy the content for privateIPAddress and FQDN matching the Azure database for MySQL name
# Create DNS records
az network private-dns record-set a create --name myserver --zone-name privatelink.mysql.database.azure.com --resource-group myResourceGroup
az network private-dns record-set a add-record --record-set-name myserver --zone-name privatelink.mysql.database.azure.com --resource-group myResourceGroup -a <Private IP Address>
Notes
Le FQDN dans le paramètre DNS du client n’est pas résolu en adresse IP privée configurée. Vous devez configurer une zone DNS pour le FQDN configuré, comme indiqué ici.
Se connecter à une machine virtuelle à partir d’Internet
Connectez-vous à la machine virtuelle myVm à partir d’Internet comme suit :
Dans la barre de recherche du portail, entrez myVm.
Sélectionnez le bouton Connexion. Après avoir sélectionné le bouton Connecter, Se connecter à la machine virtuelle s’ouvre.
Sélectionnez Télécharger le fichier RDP. Azure crée un fichier de protocole RDP (Remote Desktop Protocol) ( .rdp) et le télécharge sur votre ordinateur.
Ouvrez le fichier downloaded.rdp.
Si vous y êtes invité, sélectionnez Connexion.
Entrez le nom d’utilisateur et le mot de passe spécifiés lors de la création de la machine virtuelle.
Remarque
Vous devrez peut-être sélectionner Plus de choix>Utiliser un autre compte, pour spécifier les informations d’identification que vous avez entrées lorsque vous avez créé la machine virtuelle.
Cliquez sur OK.
Un avertissement de certificat peut s’afficher pendant le processus de connexion. Si vous recevez un avertissement de certificat, sélectionnez Oui ou Continuer.
Une fois que le bureau de la machine virtuelle s’affiche, réduisez-le pour revenir à votre poste de travail local.
Accéder au serveur MySQL en privé à partir de la machine virtuelle
Dans le Bureau à distance de myVM, ouvrez PowerShell.
Saisissez
nslookup mydemomysqlserver.privatelink.mysql.database.azure.com
.Vous recevez un message similaire à celui ci :
Server: UnKnown Address: 168.63.129.16 Non-authoritative answer: Name: mydemomysqlserver.privatelink.mysql.database.azure.com Address: 10.1.3.4
Testez la connexion de liaison privée pour le serveur MySQL à l’aide de tout client disponible. Dans l’exemple ci-dessous, j’ai utilisé MySQL Workbench pour effectuer l’opération.
Dans Nouvelle connexion, entrez ou sélectionnez les informations suivantes :
Paramètre Valeur Nom de connexion Sélectionnez le nom de connexion de votre choix. HostName Sélectionnez mydemoserver.privatelink.mysql.database.azure.com. Nom d’utilisateur Entrez le nom d’utilisateur au format nomutilisateur@nomserveur qui est fourni lors de la création du serveur MySQL. Mot de passe Entrez le mot de passe fourni lors de la création du serveur MySQL. Sélectionnez Se connecter.
Parcourez les bases de données dans le menu de gauche.
(Facultatif) Créez ou interrogez des informations à partir de la base de données MySQL.
Fermez la connexion Bureau à distance à myVm.
Nettoyer les ressources
Quand vous n’en avez plus besoin, vous pouvez utiliser az group delete pour supprimer le groupe de ressources, ainsi que toutes les ressources qu’il contient :
az group delete --name myResourceGroup --yes
Étapes suivantes
- En savoir plus sur Qu’est-ce qu’Azure Private Endpoint ?