Tutoriel : Guide pratique pour accéder à une instance managée Microsoft Azure SQL à partir d’un VNET managé Data Factory en utilisant un point de terminaison privé
Important
SQL Managed Instance prend en charge désormais, de façon native, les points de terminaison privés. Au lieu d’implémenter la solution proposée dans ce document, nous vous recommandons la création d’un point de terminaison privé directement sur la ressource de l’instance managée SQL, comme décrit dans Points de terminaison privés managés.
Ce tutoriel explique comment utiliser le portail Azure pour configurer le service Private Link et accéder à une instance managée SQL à partir d’un VNET managé en utilisant un point de terminaison privé.
Notes
Lorsque vous utilisez cette solution pour vous connecter à Azure SQL Database Managed Instance, la stratégie de connexion « Redirection » n’est pas prise en charge, vous devez basculer vers le mode « Proxy ».
Prérequis
- Abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
- Réseau virtuel. Si vous n’avez pas de réseau virtuel, créez-en un en suivant la procédure Créer un réseau virtuel.
- Réseau virtuel connecté à un réseau local. Créez une connexion entre le réseau virtuel et le réseau local en utilisant ExpressRoute ou un VPN.
- Data Factory avec VNET managé activé. Si vous n’avez pas de fabrique de données ou que le VNET managé n’est pas activé, créez-en une en suivant la procédure Créer une fabrique de données avec VNET managé.
Créer des sous-réseaux pour les ressources
Utilisez le portail pour créer des sous-réseaux dans votre réseau virtuel.
Subnet | Description |
---|---|
be-subnet | Sous-réseau pour les serveurs back-end |
fe-subnet | Sous-réseau pour l’équilibreur de charge interne standard |
pls-subnet | Sous-réseau pour le service Private Link |
Créer un équilibreur de charge standard
Utilisez le portail pour créer un équilibreur de charge interne standard.
Dans la barre de recherche en haut du portail, recherchez et sélectionnez Équilibrages de charge dans la section Services du volet de recherche.
Dans la page services Équilibrage de charge, sélectionnez Créer pour créer un équilibreur de charge.
Sous l’onglet De base de la page Créer un équilibreur de charge, entrez ou sélectionnez les détails suivants :
Paramètre Valeur Abonnement Sélectionnez votre abonnement. Groupe de ressources Sélectionnez votre groupe de ressources. Nom Entrez myLoadBalancer. Région Sélectionnez USA Est. SKU Sélectionnez Standard. Type sélectionnez Interne. Sous l’onglet Configuration IP frontale de la page Créer un équilibreur de charge, sélectionnez Ajouter une configuration d’adresse IP frontale, puis entrez ou sélectionnez les informations suivantes dans le volet de configuration Ajouter une adresse IP frontale :
Paramètre Value Nom de l'adresse IP de front-end Entrez un nom de votre adresse IP frontale Réseau virtuel Sélectionnez votre réseau virtuel. Subnet Sélectionnez fe-subnet créé à l’étape précédente. Affectation d’adresses IP Sélectionnez Dynamique. Zone de disponibilité Sélectionnez Redondant dans une zone. Acceptez les valeurs par défaut pour les paramètres restants, puis sélectionnez Vérifier + créer.
Sous l’onglet Review + create (Vérifier + créer) , sélectionnez Créer.
Créer les ressources d’équilibreur de charge
Créer un pool principal
Un pool d’adresses de back-ends contient les adresses IP des cartes d’interface réseau virtuelles connectées à l’équilibreur de charge.
Créez le pool d’adresses principal myBackendPool afin d’inclure des machines virtuelles pour l’équilibrage de charge du trafic Internet.
- Sélectionnez Tous les services dans le menu de gauche, Toutes les ressources, puis myLoadBalancer dans la liste des ressources.
- Sous Paramètres, sélectionnez Pools principaux, puis Ajouter.
- Dans la page Ajouter un pool de backends, entrez myBackendPool comme nom de votre pool principal, puis sélectionnez Ajouter.
Créer une sonde d’intégrité
L’équilibreur de charge supervise l’état de votre application avec une sonde d’intégrité.
La sonde d’intégrité ajoute ou supprime des machines virtuelles dans l’équilibreur de charge en fonction de leur réponse aux contrôles d’intégrité.
Créez une sonde d’intégrité nommée myHealthProbe pour surveiller l’intégrité des machines virtuelles.
Sélectionnez Tous les services dans le menu de gauche, Toutes les ressources, puis myLoadBalancer dans la liste des ressources.
Sous Paramètres, sélectionnez Sondes d’intégrité, puis Ajouter.
Paramètre Valeur Nom Entrez MyHealthProbe. Protocol Sélectionnez TCP. Port Entrez 22. Intervalle Entrez 15 pour l’intervalle en secondes entre les tentatives de la sonde. Seuil de défaillance sur le plan de l’intégrité Sélectionnez 2 pour le Seuil de défaillance sur le plan de l’intégrité, soit le nombre d’échecs de sonde consécutifs qui peuvent se produire avant qu’une machine virtuelle soit considérée comme non saine. Laissez les autres valeurs par défaut et sélectionnez OK.
Créer une règle d’équilibreur de charge
Une règle d’équilibrage de charge est utilisée pour définir la distribution du trafic vers les machines virtuelles. Vous définissez la configuration IP front-end pour le trafic entrant et le pool d’adresses IP de back-ends pour la réception du trafic. Les ports source et de destination sont définis dans la règle.
Dans cette section, vous allez créer une règle d’équilibreur de charge :
Sélectionnez Tous les services dans le menu de gauche, Toutes les ressources, puis myLoadBalancer dans la liste des ressources.
Sous Paramètres, sélectionnez Règles d’équilibrage de charge, puis Ajouter.
Pour configurer la règle d’équilibrage de charge, utilisez les valeurs suivantes :
Paramètre Valeur Nom Entrez myRule. Version de l’adresse IP Sélectionnez IPv4. Adresse IP du serveur frontal Sélectionnez LoadBalancerFrontEnd. Protocol Sélectionnez TCP. Port Entrez 1433. Port principal Entrez 1433. Pool principal Sélectionnez MyBackendPool. Sonde d’intégrité Sélectionnez myHealthProbe. Délai d’inactivité (minutes) Déplacez le curseur sur 15 minutes. Réinitialisation du protocole TCP Sélectionnez Désactivé. Laissez les autres valeurs par défaut, puis sélectionnez OK.
Créer un service Private Link
Dans cette section, vous allez créer un service Private Link derrière un équilibreur de charge standard.
En haut à gauche de la page dans le portail Azure, sélectionnez Créer une ressource.
Recherchez Private Link dans la zone Rechercher dans la Place de marché.
Sélectionnez Create (Créer).
Dans Vue d’ensemble sous Centre Private Link, sélectionnez le bouton bleu Créer un service de liaison privée.
Sous l’onglet De base sous Créer un service de liaison privée, entrez ou sélectionnez les informations suivantes :
Paramètre Valeur Détails du projet Abonnement Sélectionnez votre abonnement. Groupe de ressources Sélectionnez votre groupe de ressources. Détails de l’instance Nom Entrez myPrivateLinkService. Région Sélectionnez USA Est. Sélectionnez l’onglet Paramètres sortants ou sélectionnez Suivant : Paramètres sortants en bas de la page.
Sous l’onglet Paramètres sortants, entrez ou sélectionnez les informations suivantes :
Paramètre Valeur Équilibrage de charge Sélectionnez myLoadBalancer. Adresse IP front-end de l’équilibreur de charge Sélectionnez LoadBalancerFrontEnd. Sous-réseau NAT source Sélectionnez pls-subnet. Activer le proxy TCP V2 Conservez la valeur par défaut Non. Paramètres d’adresse IP privée Conservez les paramètres par défaut. Sélectionnez l’onglet Sécurité d’accès ou sélectionnez Suivant : Sécurité d’accès en bas de la page.
Conservez la valeur par défaut Contrôle d’accès en fonction du rôle uniquement sous l’onglet Sécurité d’accès.
Sélectionnez l’onglet Étiquettes ou sélectionnez Suivant : Étiquettes au bas de la page.
Sélectionnez l’onglet Vérifier + créer ou sélectionnez Suivant : Vérifier + créer en bas de la page.
Sélectionnez Créer sous l’onglet Vérifier + créer.
Créer des serveurs principaux
En haut à gauche du portail, sélectionnez Créer une ressource > Calcul > Machine virtuelle.
Dans Créer une machine virtuelle, tapez ou sélectionnez les valeurs sous l’onglet De base :
Paramètre Valeur Détails du projet Abonnement Sélectionnez votre abonnement Azure. Groupe de ressources Sélectionnez votre groupe de ressources. Détails de l’instance Nom de la machine virtuelle Entrez myVM1. Région Sélectionnez USA Est. Options de disponibilité Sélectionnez Zones de disponibilité. Zone de disponibilité Sélectionnez 1. Image Sélectionnez Ubuntu Server 18.04LTS – Gen1. Instance Azure Spot Sélectionnez Non. Taille Choisissez la taille de la machine virtuelle ou acceptez le paramètre par défaut. Compte administrateur Nom d’utilisateur Entrez un nom d’utilisateur. Source de la clé publique SSH Générez une nouvelle paire de clés. Nom de la paire de clés mySSHKey. Règles des ports d’entrée Aucun port d’entrée public Aucun. Sélectionnez l'onglet Mise en réseau ou choisissez Suivant : Disques, puis Suivant : Mise en réseau.
Sous l’onglet Mise en réseau, sélectionnez ou entrez :
Paramètre Valeur Interface réseau Réseau virtuel Sélectionnez votre réseau virtuel. Subnet be-subnet. Adresse IP publique Sélectionnez Aucun. Groupe de sécurité réseau de la carte réseau Sélectionnez Aucun. Équilibrage de charge Placer cette machine virtuelle derrière une solution d’équilibrage de charge existante ? Sélectionnez Oui. Paramètres d’équilibrage de charge Options d’équilibrage de charge Sélectionnez Équilibrage de charge Azure. Sélectionnez un équilibreur de charge Sélectionnez myLoadBalancer. Sélectionnez un pool principal Sélectionnez MyBackendPool. Sélectionnez Revoir + créer.
Passez en revue les paramètres, puis sélectionnez Créer.
Vous pouvez répéter les étapes 1 à 6 pour avoir plus de 1 machine virtuelle de serveur back-end à des fins de haute disponibilité.
Création de la règle de transfert vers le point de terminaison
Connectez-vous et copiez le script ip_fwd.sh sur vos machines virtuelles de serveur back-end.
Notes
Ce script définit uniquement temporairement le transfert IP. Pour rendre ce paramètre permanent, assurez-vous que la ligne « net.ipv4.ip_forward=1 » n’est pas commentée dans le fichier /etc/sysctl.conf
Exécutez le script avec les options suivantes :
sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433
<FQDN/IP> est l’hôte de votre instance managée SQL.Exécutez la commande ci-dessous et vérifiez les tables iptable dans les machines virtuelles de serveur back-end. Dans vos tables iptable, vous pouvez voir un enregistrement comportant votre adresse IP cible.
sudo iptables -t nat -v -L PREROUTING -n --line-numberNotes
Remarque : Si vous avez plusieurs instances managées SQL ou d’autres sources de données, vous devez définir plusieurs règles d’équilibreur de charge et enregistrements de table IP avec différents ports. Sinon, il y aura un conflit. Par exemple,
Port dans la règle d’équilibreur de charge Port back-end dans la règle d’équilibreur de charge Commande exécutée dans la machine virtuelle de serveur back-end Instance managée SQL 1 1433 1433 sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433 Instance managée SQL 2 1434 1434 sudo ./ip_fwd.sh -i eth0 -f 1434 -a <FQDN/IP> -b 1433 Notes
Exécutez à nouveau le script chaque fois que vous redémarrez les machines virtuelles derrière l’équilibreur de charge.
Créer un point de terminaison privé au service Private Link
Dans le menu de gauche, sélectionnez Tous les services, Toutes les ressources, puis votre fabrique de données dans la liste des ressources.
Sélectionnez Créer et surveiller pour lancer l’interface utilisateur de Data Factory dans un onglet séparé.
Accédez à l’onglet Gérer, puis accédez à la section Points de terminaison privés managés.
Sélectionnez + Nouveau sous Points de terminaison privés managés.
Sélectionnez la vignette Service de liaison privée dans la liste, puis Continuer.
Entrez le nom du point de terminaison privé et sélectionnez myPrivateLinkService dans la liste des services de liaison privée.
Ajoutez le nom de domaine complet de votre instance cible SQL Managed Instance.
Créez le point de terminaison privé.
Créer un service lié et tester la connexion
Accédez à l’onglet Gérer, puis accédez à la section Points de terminaison privés managés.
Sélectionnez + Nouveau sou Service lié.
Sélectionnez la vignette Azure SQL Database Managed Instance dans la liste, puis Continuer.
Activez Création interactive.
Entrez l’hôte de votre instance managée SQL, le nom d’utilisateur et le mot de passe.
Notes
Entrez manuellement l’hôte de l’instance managée SQL. Sinon, il ne s’agit pas d’un nom de domaine complet dans la liste de sélection.
Cliquez ensuite sur Tester la connexion.
Contenu connexe
Passez au tutoriel suivant pour découvrir comment accéder à un serveur SQL local à partir d’un VNET managé Data Factory en utilisant un point de terminaison privé :