Azure Private Link pour Azure SQL Managed Instance

S’applique à :Azure SQL Managed Instance

Cet article fournit une vue d’ensemble du point de terminaison privé pour Azure SQL Managed Instance, ainsi que les étapes de sa configuration. Les points de terminaison privés établissent une connectivité sécurisée et isolée entre un service et plusieurs réseaux virtuels sans exposer l’ensemble de l’infrastructure réseau de votre service.

Vue d’ensemble

Private Link est la technologie Azure qui rend Azure SQL Managed Instance disponible dans un réseau virtuel de votre choix. Un administrateur réseau peut établir un point de terminaison privé pour Azure SQL Managed Instance dans son réseau virtuel, tandis que l’administrateur SQL choisit d’accepter ou de rejeter le point de terminaison avant qu’il ne devienne actif. Les points de terminaison privés établissent une connectivité sécurisée et isolée entre un service et plusieurs réseaux virtuels sans exposer l’ensemble de l’infrastructure réseau de votre service.

Différences entre les points de terminaison privés et les points de terminaison locaux de réseau virtuel

Le point de terminaison local de réseau virtuel déployé avec chaque Azure SQL Managed Instance se comporte comme si un ordinateur exécutant le service était physiquement attaché à votre réseau virtuel. Il permet un contrôle quasi complet du trafic via des tables de routage, des groupes de sécurité réseau, une résolution DNS, des pare-feu et des mécanismes similaires. Vous pouvez également utiliser ce point de terminaison pour impliquer votre instance dans des scénarios nécessitant une connectivité sur des ports autres que 1433, tels que des groupes de basculement, des transactions distribuées et Managed Instance Link. Bien que le point de terminaison local de réseau virtuel offre de la flexibilité, il ajoute de la complexité lors de la configuration pour des scénarios spécifiques, en particulier ceux impliquant plusieurs réseaux virtuels ou locataires.

En revanche, la configuration d’un point de terminaison privé est semblable à l’extension d’un câble réseau physique d’un ordinateur exécutant Azure SQL Managed Instance à un autre réseau virtuel. Ce chemin de connectivité est établi virtuellement via la technologie Azure Private Link. Il autorise uniquement les connexions dans une seule direction : du point de terminaison privé à Azure SQL Managed Instance ; et il transporte uniquement le trafic sur le port 1433 (port de trafic TDS standard). De cette façon, votre Azure SQL Managed Instance devient disponible dans un autre réseau virtuel sans avoir à configurer le peering réseau ou à activer le point de terminaison public de l’instance. Même si vous déplacez l’instance vers un autre sous-réseau, tous les points de terminaison privés établis continueront à pointer vers celle-ci.

Pour une présentation plus détaillée des différents types de points de terminaison pris en charge par Azure SQL Managed Instance, consultez Vue d’ensemble de la communication.

Quand utiliser des points de terminaison privés

Les points de terminaison privés pour Azure SQL Managed Instance sont plus sécurisés que l’utilisation d’un point de terminaison local de réseau virtuel ou d’un point de terminaison public et simplifient l’implémentation de scénarios de connectivité importants. Ces scénarios sont les suivants :

  • Sas. Les points de terminaison privés à Azure SQL Managed Instance sont déployés dans un réseau virtuel avec des serveurs de saut et une passerelle ExpressRoute, ce qui assure la sécurité et l’isolation entre les ressources locales et cloud.
  • Topologie hub-and-spoke. Les points de terminaison privés dans les réseaux virtuels spoke effectuent le trafic des clients et applications SQL vers Azure SQL instances managées dans un réseau virtuel hub, ce qui établit une isolation réseau claire et une séparation des responsabilités.
  • Serveur de publication-consommateur. Le locataire du serveur de publication (par exemple, un éditeur de logiciels indépendants) gère plusieurs instances managées SQL dans leurs réseaux virtuels. Le serveur de publication crée des points de terminaison privés dans les réseaux virtuels d’autres locataires pour mettre des instances à la disposition de leurs consommateurs.
  • Intégration des services PaaS et SaaS Azure. Certains services PaaS et SaaS, comme Azure Data Factory, peuvent créer et gérer des points de terminaison privés pour Azure SQL Managed Instance.

Les avantages de l’utilisation de points de terminaison privés par rapport à un point de terminaison local ou public de réseau virtuel sont les suivants :

  • Prévisibilité des adresses IP : un point de terminaison privé à Azure SQL Managed Instance se voit attribuer une adresse IP fixe à partir de la plage d’adresses de son sous-réseau. Cette adresse IP reste statique même si les adresses IP des points de terminaison locaux et publics du réseau virtuel changent.
  • Accès réseau granulaire : un point de terminaison privé n’est visible qu’à l’intérieur de son réseau virtuel.
  • Isolation réseau forte : dans un scénario de peering, les réseaux virtuels appairés établissent une connectivité bidirectionnelle, tandis que les points de terminaison privés sont unidirectionnels et n’exposent pas les ressources réseau de leur réseau à Azure SQL Managed Instance.
  • Éviter le chevauchement d’adresses : le peering de plusieurs réseaux virtuels nécessite une allocation d’espace IP minutieuse et peut poser un problème lorsque les espaces d’adressage se chevauchent.
  • Conservation des adresses IP : un point de terminaison privé ne consomme qu’une seule adresse IP à partir de l’espace d’adressage de son sous-réseau.

Limites

  • Azure SQL Managed Instance nécessite que le nom d’hôte d’instance exact apparaisse dans la chaîne de connexion envoyée par le client SQL. L’utilisation de l’adresse IP du point de terminaison privé n’est pas prise en charge et échoue. Pour résoudre ce problème, configurez votre serveur DNS ou utilisez une zone DNS privée, comme décrit dans Configurer la résolution de noms de domaine pour un point de terminaison privé.
  • L’inscription automatique des noms DNS n’est pas encore prise en charge. Suivez plutôt les étapes décrites dans Configurer la résolution de noms de domaine pour un point de terminaison privé.
  • Les points de terminaison privés à SQL Managed Instance peuvent uniquement être utilisés pour se connecter au port 1433, le port TDS standard pour le trafic SQL. Les scénarios de connectivité plus complexes nécessitant une communication sur d’autres ports doivent être établis via le point de terminaison local du réseau virtuel de l’instance.
  • Les points de terminaison privés pour Azure SQL Managed Instance nécessitent une configuration spéciale pour configurer la résolution DNS requise, comme décrit dans Configurer la résolution de noms de domaine pour un point de terminaison privé.
  • Les points de terminaison privés fonctionnent toujours avec le type de connexion Proxy.

Créer un point de terminaison privé dans votre réseau virtuel

Créez un point de terminaison privé à l’aide du Portail Azure, d’Azure PowerShell ou d’Azure CLI :

Après avoir créé un point de terminaison privé, vous devrez peut-être approuver sa création dans le réseau virtuel cible. Consultez Examiner et approuver une demande de création d’un point de terminaison privé.

Pour rendre le point de terminaison privé SQL Managed Instance entièrement fonctionnel, suivez les instructions pour configurer la résolution de noms de domaine pour le point de terminaison privé.

Créer un point de terminaison privé dans un service PaaS ou SaaS

Certains services PaaS et SaaS Azure peuvent utiliser des points de terminaison privés pour accéder à vos données à partir de leurs environnements. La procédure de configuration d’un point de terminaison privé dans un tel service (parfois appelée « point de terminaison privé managé » ou « point de terminaison privé dans un réseau virtuel managé ») varie d’un service à l’autre. Un administrateur doit toujours examiner et approuver la demande sur Azure SQL Managed Instance, comme décrit dans Examiner et approuver une demande de création d’un point de terminaison privé.

Notes

Azure SQL Managed Instance nécessite que la chaîne de connexion du client SQL porte le nom de l’instance comme premier segment du nom de domaine (par exemple : <instance-name>.<dns-zone>.database.windows.net). Les services PaaS et SaaS qui tentent de se connecter au point de terminaison privé Azure SQL Managed Instance via son adresse IP ne pourront pas se connecter.

Créer un point de terminaison privé inter-locataire

Les points de terminaison privés vers Azure SQL Managed Instance peuvent également être créés dans des locataires Azure différents. Pour ce faire, l’administrateur du réseau virtuel dans lequel le point de terminaison privé doit apparaître doit d’abord obtenir l’ID de ressource complet d’Azure SQL Managed Instance à partir duquel il est sur le point de demander un point de terminaison privé. Avec ces informations, un nouveau point de terminaison privé peut être créé dans le Centre Private Link. Comme précédemment, l’administrateur d’Azure SQL Managed Instance reçoit une demande qu’il peut examiner et approuver ou rejeter, conformément à Revoir et approuver une demande de création d’un point de terminaison privé.

Examiner et approuver une demande de création d’un point de terminaison privé

Une fois qu’une demande de création d’un point de terminaison privé est effectuée, l’administrateur SQL peut gérer la connexion de point de terminaison privé pour Azure SQL Managed Instance. La première étape de la gestion d’une nouvelle connexion de point de terminaison privé consiste à l’examiner et à l’approuver. Cette étape est automatique si l’utilisateur ou le service qui crée le point de terminaison privé dispose d’autorisations RBAC Azure suffisantes sur la ressource Azure SQL Managed Instance. Si l’utilisateur ne dispose pas des autorisations suffisantes, la révision et l’approbation du point de terminaison privé doivent être effectuées manuellement.

Pour approuver un point de terminaison privé, procédez comme suit :

  1. Accédez à votre instance Azure SQL Managed Instance dans le portail Azure.

  2. Sous Sécurité, choisissez Connexions de point de terminaison privé.

    Screenshot of the Azure portal, private endpoint connections page showing two pending connections.

  3. Passez en revue les connexions dont l’état est En attente et cochez la case pour choisir une ou plusieurs connexions de point de terminaison privé à approuver ou à rejeter.

    Screenshot of the Azure portal, one private endpoint connection selected for approval.

  4. Choisissez Approuver ou Rejeter, puis sélectionnez Oui dans la boîte de dialogue qui vérifie votre action.

    Screenshot of dialog prompting for a response message to accompany the approval of a connection.

  5. Une fois que vous avez approuvé ou rejeté une connexion, la liste Connexion de point de terminaison privé reflète l’état de la ou des connexions de point de terminaison privé actuelles, ainsi que le message Demande/Réponse.

    Screenshot of the Azure portal, private endpoint connections page showing one pending and one approved connection.

Configurer la résolution de noms de domaine pour un point de terminaison privé

Après avoir créé un point de terminaison privé pour Azure SQL Managed Instance, vous devez configurer la résolution de noms de domaine, sans quoi les tentatives de connexion échouent. La méthode ci-dessous fonctionne pour les réseaux virtuels qui utilisent la résolution Azure DNS. Si votre réseau virtuel est configuré pour utiliser un serveur DNS personnalisé, ajustez les étapes en conséquence.

Pour configurer la résolution de noms de domaine pour un point de terminaison privé sur une instance dont le nom de domaine du point de terminaison local de réseau virtuel est <instance-name>.<dns-zone>.database.windows.net, suivez l’une des deux procédures ci-dessous, selon que l’instance et son point de terminaison privé se trouvent dans le même réseau virtuel ou dans des réseaux virtuels différents.

Important

Ne modifiez pas la façon dont le nom de domaine du point de terminaison local du réseau virtuel d’Azure SQL Managed Instance se résout au sein de son propre réseau virtuel. Cela perturberait la capacité de l’instance à effectuer des opérations de gestion.

Procédez comme suit si le point de terminaison privé et Azure SQL Managed Instance se trouvent dans des réseaux virtuels différents.

Une fois ces étapes terminées, les clients SQL qui se connectent à <instance-name>.<dns-zone>.database.windows.net à partir du réseau virtuel du point de terminaison sont routés en toute transparence via le point de terminaison privé.

  1. Obtenez l’adresse IP du point de terminaison privé en visitant Private Link Center ou en effectuant les étapes suivantes :

    1. Accédez à votre instance Azure SQL Managed Instance dans le portail Azure.

    2. Sous Sécurité, choisissez Connexions de point de terminaison privé.

    3. Recherchez la connexion de point de terminaison privé dans le tableau et choisissez le Nom du point de terminaison privé pour la connexion que vous avez choisie.

      Screenshot of the Azure portal, private endpoint connections pane the private endpoint name highlighted.

    4. Dans la page *Vue d’ensemble, sélectionnez l’interface réseau.

      Screenshot of the Azure portal, private endpoint connection overview with a highlight on network interface.

    5. Dans la page Vue d’ensemble, cochez Essentials pour identifier et copier l’Adresse IP privée.

      Screenshot of the Azure portal, private endpoint connection's network interface with a highlight on its private IP address.

  2. Créez une zone privée Azure DNS nommée privatelink.<dns-zone>.database.windows.net.

  3. Liez la zone privée DNS au réseau virtuel de point de terminaison.

  4. Dans la zone DNS, créez un jeu d’enregistrements avec les valeurs suivantes :

    • Nom : <instance-name>
    • Type : A
    • Adresse IP : adresse IP du point de terminaison privé obtenue dans l’ensemble précédent.

Étapes suivantes