Partager via


Comment créer et gérer des réplicas en lecture dans Azure Database pour MySQL à l’aide d’Azure CLI et de l’API REST

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 ?

Dans cet article, vous allez apprendre à créer et à gérer des réplicas en lecture dans le service Azure Database pour MySQL à l’aide d’Azure CLI et de l’API REST. Pour en savoir plus sur les réplicas en lecture, consultez vue d’ensemble.

Azure CLI

Vous pouvez créer et gérer des réplicas en lecture à l’aide d’Azure CLI.

Prérequis

Important

La fonctionnalité de réplica en lecture 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 source se trouve dans l’un de ces niveaux tarifaires.

Créer un réplica en lecture

Important

Si votre serveur source n’a pas de serveurs de réplication existants, le serveur source peut nécessiter un redémarrage pour se préparer à la réplication en fonction du stockage utilisé (v1/v2). Veuillez envisager le redémarrage du serveur et effectuer cette opération pendant les heures creuses. Pour plus d’informations, consultez Redémarrage du Serveur Source.

Si le GTID est activé sur un serveur primaire (gtid_mode = ON), il sera également activé sur les réplicas nouvellement créés, et ceux-ci utiliseront la réplication basée sur GTID. Pour en savoir plus, reportez-vous à Identificateur de transaction global (GTID)

Un serveur réplica en lecture peut être créé en utilisant la commande suivante :

az mysql server replica create --name mydemoreplicaserver --source-server mydemoserver --resource-group myresourcegroup

La commande az mysql server replica create requiert les paramètres suivants :

Paramètre Exemple de valeur Description
resource-group  myResourceGroup  Groupe de ressources dans lequel le serveur réplica sera créé. 
name mydemoreplicaserver Nom du nouveau serveur réplica créé.
source-server mydemoserver Nom ou ID du serveur source à partir duquel la réplication doit être effectuée.

Pour créer un réplica en lecture entre régions, utilisez le paramètre --location. L’exemple CLI ci-dessous crée le réplica dans la région USA Ouest.

az mysql server replica create --name mydemoreplicaserver --source-server mydemoserver --resource-group myresourcegroup --location westus

Notes

Pour en savoir plus sur les régions dans lesquelles vous pouvez créer un réplica, consultez l’article Concepts relatifs aux réplicas en lecture.

Notes

  • La commande az mysql server replica create possède un argument --sku-name qui vous permet de spécifier le niveau tarifaire ({pricing_tier}_{compute generation}_{vCores}) lorsque vous créez un réplica à l’aide d’Azure CLI.
  • Le serveur primaire et le réplica en lecture doivent avoir le même niveau tarifaire (Usage général ou À mémoire optimisée).
  • La configuration du serveur réplica peut également être modifiée après sa création. Il est recommandé de maintenir la configuration du serveur réplica à des valeurs égales ou supérieures à celles du serveur source pour garantir que le réplica sera à la hauteur du serveur maître.

Répertorier les réplicas d'un serveur source

Pour afficher tous les réplicas d'un serveur source donné, exécutez la commande suivante :

az mysql server replica list --server-name mydemoserver --resource-group myresourcegroup

La commande az mysql server replica list requiert les paramètres suivants :

Paramètre Exemple de valeur Description
resource-group  myResourceGroup  Groupe de ressources dans lequel le serveur réplica sera créé. 
server-name mydemoserver Nom ou ID du serveur source.

Arrêter la réplication vers un serveur réplica

Important

L’arrêt de la réplication vers un serveur est irréversible. Une fois la réplication entre un serveur source et un serveur réplica arrêtée, il est impossible de revenir en arrière. Le serveur réplica devient un serveur autonome et prend désormais en charge la lecture et les écritures. Ce serveur ne peut pas être à nouveau transformé en réplica.

La réplication d'un serveur réplica en lecture peut être arrêtée en utilisant la commande suivante :

az mysql server replica stop --name mydemoreplicaserver --resource-group myresourcegroup

La commande az mysql server replica stop requiert les paramètres suivants :

Paramètre Exemple de valeur Description
resource-group  myResourceGroup  Groupe de ressources où se trouve le serveur réplica. 
name mydemoreplicaserver Nom du serveur réplica pour lequel arrêter la réplication.

Supprimer un serveur réplica

La suppression d’un serveur réplica en lecture peut être effectuée en exécutant la commande az mysql server delete .

az mysql server delete --resource-group myresourcegroup --name mydemoreplicaserver

Supprimer un serveur source

Important

La suppression d’un serveur source arrête la réplication vers tous les serveurs réplicas et supprime le serveur source proprement dit. Les serveurs réplicas deviennent des serveurs autonomes qui prennent désormais en charge la lecture et les écritures.

Pour supprimer un serveur source, vous pouvez exécuter la commande az mysql server delete .

az mysql server delete --resource-group myresourcegroup --name mydemoserver

API REST

Vous pouvez créer et gérer des réplicas en lecture à l’aide de l’API REST Azure.

Créer un réplica en lecture

Vous pouvez créer un réplica en lecture à l’aide de l’API de création :

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{replicaName}?api-version=2017-12-01
{
  "location": "southeastasia",
  "properties": {
    "createMode": "Replica",
    "sourceServerId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{masterServerName}"
  }
}

Notes

Pour en savoir plus sur les régions dans lesquelles vous pouvez créer un réplica, consultez l’article Concepts relatifs aux réplicas en lecture.

Le réplica doit être créé en utilisant les mêmes paramètres de calcul et de stockage que le serveur maître. Une fois le réplica créé, vous pouvez changer plusieurs paramètres indépendamment du serveur source : génération de calcul, vCores, stockage et durée de conservation des sauvegardes. Le niveau tarifaire peut également être changé indépendamment, sauf vers ou depuis le niveau De base.

Important

Avant de modifier un paramètre du serveur source, remplacez la valeur du paramètre du réplica par une valeur supérieure ou égale à celle du serveur maître. Vous garantissez ainsi l’alignement du réplica sur les changements apportés au serveur maître.

Lister les réplicas

Vous pouvez afficher la liste des réplicas d'un serveur source à l'aide de l'API Lister les réplicas :

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{masterServerName}/Replicas?api-version=2017-12-01

Arrêter la réplication vers un serveur réplica

Vous pouvez arrêter la réplication entre un serveur source et un réplica en lecture à l'aide de l'API de mise à jour.

Une fois que vous avez arrêté la réplication entre un serveur source et un réplica en lecture, vous ne pouvez pas revenir en arrière. Le réplica en lecture devient un serveur autonome qui prend en charge les lectures et les écritures. Le serveur autonome ne peut pas être retransformé en réplica.

PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{masterServerName}?api-version=2017-12-01
{
  "properties": {
    "replicationRole":"None"  
   }
}

Supprimer un serveur source ou réplica

Pour supprimer un serveur source ou réplica, vous devez utiliser l'API de suppression :

Lorsque vous supprimez un serveur source, la réplication est arrêtée sur tous les réplicas en lecture. Les réplicas en lecture deviennent des serveurs autonomes qui prennent désormais en charge les lectures et les écritures.

DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}?api-version=2017-12-01

Problème connu

Il existe deux générations de stockage que les serveurs des niveaux Usage général et À mémoire optimisée utilisent : le stockage Usage général v1 (prend en charge jusqu’à 4 To) et le stockage Usage général v2 (prend en charge jusqu’à 16 To). Le serveur source et le serveur réplica doivent avoir le même type de stockage. Le stockage Usage général v2 n’étant pas disponible dans toutes les régions, veillez à choisir la région de réplica appropriée lorsque vous utilisez l’emplacement avec l’interface CLI ou l’API REST pour la création de réplica en lecture. Pour savoir comment identifier le type de stockage de votre serveur source, consultez le lien Comment puis-je déterminer le type de stockage sur lequel mon serveur s’exécute ?

Si vous choisissez une région dans laquelle vous ne pouvez pas créer de réplica en lecture pour votre serveur source, vous rencontrerez le problème suivant : le déploiement continuera à s’exécuter comme indiqué dans la figure ci-dessous, puis expirera avec l’erreur « L’opération d’approvisionnement en ressources ne s’est pas terminée dans le délai imparti » .

az mysql server replica create -n <replica-servername> -g <resource group> --location <replica-region> -s <source-servername>
/ Running . .

Étapes suivantes