Déplacer une instance

Cette page explique comment déplacer une instance dans Spanner.

Vous pouvez déplacer votre instance Spanner de n'importe quelle configuration d'instance vers n'importe quelle autre configuration d'instance, y compris entre des configurations régionales et multirégionales. Le déplacement de votre instance n'entraîne pas de temps d'arrêt, et Spanner continue de fournir les garanties de transaction habituelles, y compris une cohérence forte, pendant le déplacement.

Pourquoi déplacer votre instance Spanner ?

Déplacer votre instance offre les avantages suivants:

  • Augmentez la disponibilité: obtenez une disponibilité de 99,999% sans temps d'arrêt après avoir effectué un transfert régional vers une zone multirégionale.
  • Réduction de la latence: réduisez la latence et augmentez la couverture géographique à l'aide d'instances répliquées en lecture seule supplémentaires, via une migration régionale vers multirégionale ou d'une zone multirégionale à une zone multirégionale.
  • Réduire les coûts: réduisez vos coûts horaires en passant d'une configuration multirégionale à une configuration régionale.
  • Cohéberger la base de données: cohébergez la base de données Spanner avec l'application cliente en déplaçant l'instance vers un emplacement plus optimisé.

Tarification

Lorsque vous déplacez une instance, les configurations de l'instance source et de destination sont soumises à des frais de calcul et de stockage horaires. Une fois le déplacement terminé, le stockage de l'instance au niveau de la configuration de destination vous est facturé.

Si vous déplacez votre instance vers une nouvelle configuration d'instance régionale ou multirégionale, des frais de transfert de données sortant peuvent s'appliquer. Pour en savoir plus, consultez la page Tarifs de Spanner.

Limites

  • Pour que vous puissiez déplacer votre instance, elle doit comporter au moins 1 nœud (1 000 unités de traitement).
  • Vous ne pouvez pas déplacer votre instance entre des projets et des comptes Google Cloud.
  • Vous ne pouvez pas déplacer une instance Spanner en essai sans frais. Vous pouvez déplacer l'instance après la mise à niveau vers une instance payante.
  • Si vous avez des requêtes actives utilisant un point de terminaison de service régional sur l'une des ressources d'instance, le déplacement de l'instance affecte toutes les requêtes qui utilisent le point de terminaison régional, car l'application régionale bloque l'accès aux instances interrégionales. Les requêtes qui utilisent un point de terminaison mondial ne sont pas concernées.
  • Les sauvegardes Spanner sont spécifiques à la configuration d'une instance et ne sont pas incluses lors du déplacement d'une instance. Pour en savoir plus, consultez la section Sauvegardes dans la configuration de l'instance source.
  • Les API suivantes sont désactivées lors du déplacement d'une instance :
    • InstanceAdmin.DeleteInstance
    • InstanceAdmin.UpdateInstance
    • DatabaseAdmin.CreateDatabase
    • DatabaseAdmin.UpdateDatabaseDdl (désactivé si default_leader est spécifié dans la requête)
    • DatabaseAdmin.RestoreDatabase
    • DatabaseAdmin.CreateBackup
    • DatabaseAdmin.CopyBackup
  • Vous ne pouvez pas déplacer des instances contenant des bases de données compatibles avec CMEK.
  • Si une base de données possède un leader par défaut modifié, la sélection est conservée si elle nomme une région de lecture/écriture dans la configuration de l'instance de destination, et si cette configuration est multirégionale. Si la configuration de destination est régionale ou n'inclut pas la région de lecture/écriture nommée, la sélection de la variante optimale par défaut est effacée.
  • Le déplacement d'une instance modifie son attribut de configuration. Si vous gérez vos ressources Spanner via l'automatisation, veillez à préparer et à résoudre les éventuelles incohérences.
    • Par exemple, si vous utilisez Terraform pour gérer vos instances et bases de données Spanner et que vous activez terraform apply --auto-approve pour synchroniser vos ressources, toutes les instances et ressources enfants sont supprimées lors du déplacement de l'instance. Mettez à jour la configuration en conséquence pour éviter la suppression et la perte de données. Pour en savoir plus sur la commande apply, consultez la section Options d'application de Terraform.
  • Lors du déplacement de l'instance, les métriques et graphiques de surveillance Spanner peuvent afficher des données à la fois dans les configurations d'instance source et de destination, ou refléter les performances d'une seule configuration d'instance.
  • Si vous avez configuré l'autoscaler Open Source, vous n'avez pas besoin de le désactiver. Elle échoue, car InstanceAdmin.UpdateInstance (utilisée pour les modifications de nœuds et d'unités de traitement) est désactivée.
  • Vous ne pouvez pas déplacer une instance si la fonctionnalité d'autoscaler géré Spanner est activée sur celle-ci. Pour déplacer l'instance, vous devez désactiver l'autoscaler géré, déplacer l'instance, puis réactiver l'autoscaler géré.

Considérations sur les performances

Lorsqu'une instance est déplacée, elle subit des latences de lecture/écriture plus élevées et un taux d'abandon des transactions plus élevé. L'utilisation du processeur lors du déplacement peut atteindre 100 %, car le déplacement de l'instance est effectué à l'aide du processeur de rechange provisionné par l'utilisateur. Toutefois, le déplacement d'une instance n'entraîne aucun temps d'arrêt. Le temps nécessaire au déplacement d'une instance dépend de plusieurs facteurs, y compris de la taille des bases de données, du nombre de nœuds et du type de déplacement (par exemple, une opération régionale vers une zone multirégionale).

Après avoir déplacé une instance, ses performances varient en fonction des détails de sa configuration. Par exemple, les configurations multirégionales présentent généralement une latence en écriture plus élevée et une latence en lecture plus faible que les configurations régionales.

Déplacer une instance

Vous pouvez déplacer une configuration d'instance à l'aide de la console Google Cloud. Vous êtes d'abord invité à remplir un formulaire de demande de déplacement d'instance. L'équipe Spanner vous communiquera ensuite la date de début du déplacement de l'instance. Notez que le déplacement d'une instance ne modifie pas le nom, l'ID ni l'ID du projet de l'instance.

Prérequis

Avant de demander le déplacement de la configuration de votre instance, assurez-vous d'avoir lu les sections Limites et Considérations sur les performances. Ensuite, procédez comme suit:

  1. Vérifiez que vous disposez de l'autorisation IAM spanner.instances.update sur l'instance source.
  2. Ajoutez un libellé de ressource à l'instance à déplacer. La clé de ce libellé est "move-to" et la valeur correspond au nom de la configuration de l'instance de destination (par exemple, "us-east4"). Pour en savoir plus, consultez la section Ajouter un libellé à une instance.
  3. Le cas échéant, demandez le déplacement de vos instances hors production (par exemple, de test et de préproduction) avant de déplacer vos instances de production. Cela vous aidera à évaluer et à comprendre l'impact sur les performances des charges de travail lors du déplacement d'une instance.
  4. Lorsque vous déplacez une instance Spanner, le processus de déplacement supprime les tags d'instance que vous avez créés dans Data Catalog. Pour conserver vos tags, vous devez les exporter avant le déplacement, puis les importer après celui-ci. Pour en savoir plus, consultez Exporter et importer des tags.

Suivez également les bonnes pratiques ci-dessous:

  • Testez d'abord les charges de travail liées aux performances dans des instances hors production dans la configuration de l'instance de destination avant de déplacer votre instance de production.
  • Vérifiez qu'il n'y a pas de hotspots dans vos bases de données à l'aide de Key Visualizer.
  • Vérifiez que vous disposez d'un quota de nœuds suffisant dans la configuration de l'instance de destination pour prendre en charge le pic d'utilisation prévu. Pour en savoir plus, consultez la page Quotas et limites de Spanner.
  • Assurez-vous que le pic d'utilisation du processeur de votre instance respecte les seuils maximums recommandés pour le type de configuration d'instance vers lequel vous souhaitez déplacer la configuration de l'instance source.

    En outre, si vous utilisez l'autoscaling, vous devez provisionner suffisamment de nœuds pour une utilisation maximale du processeur en fonction des recommandations maximales notées, puis désactiver l'autoscaling avant de déplacer l'instance.

  • Ne modifiez pas l'instance pendant la migration. Cela inclut la modification du nombre de nœuds de l'instance, la modification des schémas de base de données, la création ou la suppression de bases de données, ou la création ou la suppression de sauvegardes.

Déplacer une instance

Console

  1. Accédez à la page Instances de Spanner dans la console Google Cloud.

    Accéder à la page Instances

  2. Cliquez sur le nom de l'instance que vous souhaitez déplacer.

    La console Google Cloud affiche la page Présentation de l'instance.

  3. Cliquez sur Modifier l'instance.

  4. Pour planifier le transfert vers une nouvelle configuration d'instance, cliquez sur Contacter Google et remplissez le formulaire de demande de déplacement d'instance Spanner.

    Une fois le formulaire envoyé, Google vous contactera pour vous indiquer la date de début du déplacement de l'instance.

Sauvegardes dans la configuration de l'instance source

Lorsque vous déplacez une configuration d'instance Spanner, les sauvegardes de l'instance source ne sont pas automatiquement déplacées vers la nouvelle configuration de destination. Il est important de copier vos sauvegardes et de prendre en compte votre plan de récupération des données avant de déplacer la configuration de votre instance.

Si des sauvegardes de votre instance source sont nécessaires, vous devez d'abord les copier sur une autre instance avec la même configuration d'instance que l'instance source à déplacer. Après avoir copié vos sauvegardes sur une autre instance, vous devez supprimer toutes les sauvegardes existantes de l'instance source avant de pouvoir déplacer la configuration de l'instance vers une nouvelle configuration. Google ne déplace pas votre instance si des sauvegardes existent dans la configuration de l'instance source à l'heure planifiée du déplacement de l'instance. Nous vous recommandons de copier vos sauvegardes le plus près possible de la date de déménagement (notification par Google).

Pour en savoir plus sur la copie des sauvegardes et les coûts associés, consultez la section Copier une sauvegarde.

Que faire après l'envoi de votre demande de déplacement ?

Après une demande de déplacement d'instance, Google vous contacte pour vous informer de la date de début du déplacement de la configuration d'instance. En règle générale, nous nous attendons à répondre à toutes les demandes de déplacement dans un délai de deux jours ouvrés.

Une fois que vous avez reçu une confirmation de notre part, informez toutes les parties concernées de la date de déménagement et préparez-vous à copier les sauvegardes que vous souhaitez conserver.

Étapes suivantes