Alias DNS pour Azure SQL Database

S’applique à : Azure SQL Database Azure Synapse Analytics

Azure SQL Database dispose d’un serveur DNS (Domain Name System). PowerShell et les API REST acceptent des appels pour créer et gérer des alias DNS pour le nom de votre serveur SQL logique.

Un alias DNS peut être utilisé à la place du nom du serveur. notamment dans la chaîne de connexion des programmes clients. Il représente une couche de traduction capable de rediriger les programmes clients sur différents serveurs. Il évite ainsi d’avoir à rechercher et à modifier tous les clients et leur chaîne de connexion.

Notes

Dans Azure Synapse Analytics, l’alias DNS du serveur logique Azure SQL n’est pris en charge que pour le pool SQL dédié (anciennement DW). Pour des pools SQL dédiés dans des espaces de travail Azure Synapse, l’alias DNS n’est actuellement pas pris en charge. Quelle est la différence ?

Voici quelques-unes des utilisations courantes d’un alias DNS :

  • Créer un nom facile à retenir pour un serveur.
  • Pendant le développement initial, l’alias peut faire référence à un serveur de test. Lorsque l’application est publiée, vous pouvez le modifier afin qu’il fasse référence au serveur de production. La transition du test à la production n’implique aucune modification des configurations de plusieurs clients qui se connectent au serveur.
  • Supposons que l’unique base de données de votre application soit déplacée vers un autre serveur. Vous pouvez modifier l’alias sans avoir à changer les configurations de plusieurs clients.
  • Pendant une panne régionale, la restauration géographique vous permet de récupérer votre base de données dans un autre serveur et une autre région. Vous pouvez modifier votre alias existant de façon à pointer vers le nouveau serveur, de sorte que l’application cliente existante puisse s’y connecter à nouveau.

DNS (Domain Name System) d’Internet

Internet s’appuie sur le serveur DNS. Le serveur DNS traduit les noms conviviaux pour trouver le nom du serveur.

Scénarios avec un seul alias DNS

Supposons que vous deviez faire passer votre système à un nouveau serveur. Auparavant, il vous fallait rechercher et mettre à jour la chaîne de connexion de chacun des programmes clients. Maintenant, si les chaînes de connexion utilisent un alias DNS, il n’y a qu’une propriété d’alias à modifier.

La fonctionnalité d’alias DNS d’Azure SQL Database est utile dans les cas suivants :

Passage des tests à la production

Lorsque vous commencez à développer les programmes clients, demandez-leur d’utiliser un alias DNS dans leur chaîne de connexion. Faites en sorte que les propriétés de l’alias pointent vers une version de test de votre serveur.

Quand le nouveau système passera en production, vous pourrez les mettre à jour afin qu’elles pointent vers le serveur de production. Aucune modification des programmes clients n’est nécessaire.

Prise en charge interrégionale

Il peut arriver qu’une reprise d’activité après sinistre déplace un serveur dans une autre région géographique. Pour les systèmes utilisant un alias DNS, il n’est pas nécessaire de rechercher et de mettre à jour la chaîne de connexion de tous les clients. Vous pouvez modifier un alias de sorte qu’il fasse référence au nouveau serveur qui héberge maintenant votre base de données Azure SQL.

Propriétés d’un alias DNS

Les propriétés suivantes s’appliquent à tous les alias DNS du serveur :

  • Nom unique : Chaque nom d’alias créé est unique sur tous les serveurs, tout comme les noms de serveurs.
  • Un serveur est obligatoire : Vous ne pouvez pas créer d’alias DNS sauf s’il référence un serveur exactement et que celui-ci existe déjà. Un alias mis à jour doit toujours faire référence à un seul serveur existant.
    • En cas de suppression d’un serveur, le système Azure supprime également tous les alias DNS qui y font référence.
  • Pas de liaison à une région : Les alias DNS ne sont pas liés à une région. Ils peuvent être mis à jour de façon à faire référence à un serveur quelle que soit sa région géographique.
    • Toutefois, en cas de référence à un autre serveur, les deux serveurs doivent se trouver dans le même abonnement Azure.
  • Autorisations : Pour gérer un alias DNS, l’utilisateur doit au moins avoir l’autorisation Contributeur de serveur. Pour plus d’informations, consultez Bien démarrer avec le contrôle d’accès Azure en fonction du rôle dans le portail Azure.

Gérer les alias DNS

Les cmdlets PowerShell comme les API REST permettent de gérer les alias DNS par programme.

API REST pour gérer les alias DNS

La documentation des API REST est disponible près de l’emplacement web suivant :

Par ailleurs, les API REST peuvent être consultées sur GitHub à l’adresse :

PowerShell pour gérer les alias DNS

Notes

Cet article utilise le module Azure Az PowerShell, qui est le module PowerShell recommandé pour interagir avec Azure. Pour démarrer avec le module Az PowerShell, consulter Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

Important

Le module PowerShell Azure Resource Manager est toujours pris en charge, mais tous les développements à venir sont destinés au module Az.Sql. Pour ces cmdlets, voir AzureRM.Sql. Les arguments des commandes dans le module Az sont sensiblement identiques à ceux des modules AzureRm.

Les cmdlets PowerShell appellent les API REST.

Un exemple de code des cmdlets PowerShell utilisées pour gérer les alias DNS est documenté ici :

Voici les cmdlets utilisées dans l’exemple de code :

Limites

Actuellement, un alias DNS présente les limitations suivantes :

  • Délai de 2 minutes max. : La mise à jour ou la suppression d’un alias DNS peut prendre jusqu’à 2 minutes.
    • Indépendamment du bref délai, l’alias arrête immédiatement de faire référence aux connexions clientes au serveur hérité.
  • Recherche DNS : Pour l’instant, le seul moyen sûr de vérifier quel serveur est référencé par un alias DNS donné est d’effectuer une recherche DNS.
  • L’alias DNS est soumis à des restrictions d’affectation de noms.

Étapes suivantes