Déplacer une instance

Cette page décrit le déplacement d'une instance dans Spanner.

Vous pouvez déplacer votre instance Spanner depuis n'importe quelle instance à toute autre configuration d'instance, y compris entre les configurations régionales, birégionales et multirégionales. En mouvement votre instance n'entraîne pas de temps d'arrêt et Spanner continue fournir les garanties de transactions habituelles ; y compris une cohérence forte, pendant le déplacement.

Vous pouvez aussi déplacer votre instance depuis la configuration de son instance source à une configuration d'instance personnalisée (par exemple, une configuration de base nam3) avec une instance répliquée us-west2 en lecture seule). Comme vous ne pouvez pas mettre à jour la topologie des configurations d'instance existantes, vous devez créer une instance personnalisée avec la topologie souhaitée en premier. Après avoir créé vous pouvez déplacer votre instance de l'instance source à la nouvelle configuration d'instance personnalisée.

Pourquoi déplacer votre instance Spanner ?

Déplacer votre instance présente les avantages suivants:

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

Tarifs

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

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

Limites

  • Pour que vous puissiez déplacer votre instance, elle doit disposer d'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 en essai sans frais Spanner. Vous pouvez déplacer l'instance après l'avoir 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 a un impact sur toutes les requêtes qui utilisent le point de terminaison régional, car les blocages d'application régionaux aux instances interrégionales. Les requêtes qui utilisent un point de terminaison global non concernées.
  • Les sauvegardes Spanner sont spécifiques une configuration d'instance et ne sont pas incluses lors du déplacement d'une instance. Pour Pour en savoir plus, consultez la section Sauvegardes.
  • Les API suivantes sont désactivées lors du déplacement d'une instance: <ph type="x-smartling-placeholder">
      </ph>
    • InstanceAdmin.DeleteInstance
    • InstanceAdmin.UpdateInstance
    • DatabaseAdmin.CreateDatabase
    • DatabaseAdmin.UpdateDatabaseDdl (désactivé si default_leader est spécifiées dans la demande.)
    • DatabaseAdmin.RestoreDatabase
    • DatabaseAdmin.CreateBackup
    • DatabaseAdmin.CopyBackup
  • Vous ne pouvez pas déplacer des instances contenant des CMEK activées les bases de données.
  • Si une base de données possède une principale variante par défaut modifiée, la sélection est conservée si elle nomme une région de lecture/écriture dans le la configuration de l'instance de destination, un emplacement multirégional. Si la configuration de destination est régionale incluent la région de lecture/écriture nommée, la sélection principale par défaut est effacés.
  • Le déplacement d'une instance modifie l'attribut de configuration d'instance Compute Engine. Si vous gérez vos ressources Spanner via l'automatisation, assurez-vous de préparer et de corriger les incohérences qui pourraient surgissent.
    • Par exemple, si vous utilisez Terraform pour gérer vos instances et bases de données Spanner activer 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 toute suppression et perte de données. Voir Options d'application de Terraform pour en savoir plus sur la commande apply.
  • Pendant le déplacement de l'instance, la surveillance Spanner Les métriques et les graphiques peuvent afficher des données à la fois dans la source et dans la destination de configuration d'instance, ou les performances d'une seule instance configuration.
  • Si vous avez configuré l'outil Open Source Autoscaler, n'avez pas besoin de la désactiver. Elle échoue, car InstanceAdmin.UpdateInstance (utilisé pour modifications de nœud et d'unité de traitement) est désactivée.
  • Vous ne pouvez pas déplacer une instance si Autoscaler géré Spanner est activée sur celui-ci. Pour déplacer l'instance, vous devez désactiver l'autoscaler géré, déplacer l'instance, puis réactiver autoscaler.

    De plus, si vous utilisez l'autoscaling, vous devez provisionner suffisamment de nœuds pour une utilisation maximale du processeur le nombre maximal de recommandations, puis désactivez l'autoscaling vous déplacez l'instance.

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 de transaction plus élevé. L'utilisation du processeur pendant le déplacement peut augmenter à 100 %, car le déplacement de l'instance est effectué à l'aide du processeur de secours provisionné par l'utilisateur. Toutefois, le déplacement d'une instance n'entraîne aucun temps d'arrêt. L'heure nécessaire au déplacement d'une instance dépend de plusieurs facteurs, y compris de la taille les bases de données, le nombre de nœuds et le type de déplacement (par exemple, multirégional).

Après le déplacement d'une instance, ses performances varient en fonction de les détails de la configuration de l'instance. Par exemple : birégional et configurations multirégionales présentent généralement une latence d'écriture plus élevée et une latence de lecture plus faible que Configurations régionales.

Sauvegardes

Lorsque vous déplacez une instance, les sauvegardes de l'instance source ne sont pas déplacées vers automatiquement la nouvelle configuration de destination. Le déplacement de l'instance est annulé si des sauvegardes existent dans la configuration de l'instance source lorsque vous démarrez l'instance déplacer. Il est important de copier vos sauvegardes et de tenir compte de vos plan de récupération des données avant de déplacer votre Compute Engine.

Si votre instance source contient des sauvegardes que vous devez conserver, nous vous recommandons de copier vos sauvegardes configuration de l'instance de destination et une autre instance avec la même instance en tant qu'instance source à déplacer. Ainsi:

  • Vous pouvez copier vos sauvegardes dans la configuration de l'instance de destination immédiatement après la fin du déplacement de l'instance.
  • Si vous devez annuler le déplacement de l'instance, vous pouvez également restaurer rapidement vos sauvegardes de l'instance avec la même configuration que la source configuration d'instance.

Après avoir copié vos sauvegardes sur une autre instance, vous devez supprimer toute instance existante des sauvegardes dans l'instance source avant de pouvoir la déplacer. Ensuite, une fois que le déplacement de l'instance est terminé, vous disposez d'une copie de la sauvegarde dans la configuration. Vous pouvez également créer une sauvegarde.

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

Déplacer une instance

Vous pouvez déplacer une instance à l'aide de Cloud Shell dans la console Google Cloud la gcloud CLI à l'aide des commandes gcloud.

Prérequis

Avant de déplacer la configuration de votre instance, assurez-vous que vous avez consultez l'article Limites et Considérations sur les performances . Ensuite, procédez comme suit:

  1. Vérifier que vous disposez de l'autorisation IAM spanner.instances.update sur l'instance source.
  2. Le cas échéant, déplacez vos instances hors production (test et préproduction, par exemple) avant de déplacer vos instances de production Évaluer et comprendre l'impact sur les performances des charges de travail lors d'une instance déplacer.
  3. Lorsque vous déplacez une instance Spanner, le processus de déplacement supprime les tags d'instance que vous avez créés Data Catalog Pour préserver vous devez les exporter avant le déplacement et les importer après le déplacement. Pour en savoir plus, consultez Exporter et importer des tags

Suivez également les bonnes pratiques ci-dessous:

  • Tester les charges de travail axées sur les performances dans des instances hors production dans la destination configuration d'instance avant de déplacer votre instance de production. Essayer en déplaçant une instance de préproduction semblable à votre instance de production pour avoir une idée du temps qu'il faudra pour déplacer votre instance de production.
  • Vérifiez que vos bases de données ne contiennent pas de hotspots à 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 faire face aux pics d'utilisation prévus ; de l'instance. Pour en savoir plus, consultez Quotas et quotas Spanner Limites.
  • Assurez-vous que le pic d'utilisation du processeur votre instance est inférieure à 40% par rapport à la configuration d'instance que vous avez déplacée et la quantité de stockage par nœud est inférieure à 1 tébioctet (Tio).
  • N'apportez aucune modification à l'instance pendant le déplacement. Ce inclut la modification du nombre de nœuds d'instance, la modification des schémas de base de données, créer ou supprimer des bases de données, et créer ou supprimer des sauvegardes.

Si vous déplacez votre instance conformément à ces recommandations, prend généralement 24 heures. Cependant, en fonction de l'application charge de travail, le délai d'exécution peut être plus long ou plus court.

Déplacer une instance

console Google Cloud

  1. Cliquez sur Icône Activer Cloud Shell. Activez Cloud Shell en haut de la console Google Cloud.

    Une session Cloud Shell s'ouvre dans un nouveau cadre au en bas de la console Google Cloud et affiche une invite de ligne de commande. L'initialisation de la session peut prendre quelques secondes.

  2. Utilisez le gcloud spanner instances move pour déplacer l'instance.

    gcloud spanner instances move INSTANCE_ID \
    --target-config=TARGET_CONFIG
    

    Remplacez les éléments suivants :

    • INSTANCE_ID: identifiant permanent de l'instance que vous souhaitez déplacer.
    • TARGET_CONFIG: identifiant permanent de l'instance vers laquelle vous souhaitez déplacer l'instance. La nouvelle zone géographique l'emplacement de votre instance. Il peut s'agir d'une zone régionale, birégionale, une configuration d'instance multirégionale ou personnalisée (par exemple, nam3, us-central1 ou custom-nam3-us-west2).

Par exemple, pour déplacer l'instance test-instance de son emplacement actuel, configuration d'instance sur nam3, exécutez la commande suivante:

  gcloud spanner instances move test-instance --target-config=nam3

Facultatif: Si vous souhaitez ajouter une instance répliquée en lecture seule, us-west2, à l'instance de base configuration d'instance nam3, procédez comme suit:

  1. Clonez la configuration de base et ajoutez l'instance répliquée en lecture seule:

    gcloud spanner instance-configs create custom-nam3-us-west2 \
    --clone-config=nam3 --add-replicas=location=us-west2, type=READ_ONLY
    
  2. Déplacer votre instance test-instance de son instance actuelle à cette nouvelle configuration d'instance custom-nam3-us-west2:

    gcloud spanner instances move test-instance --target-config=custom-nam3-us-west2
    

CLI gcloud

Utilisez le gcloud spanner instances move pour déplacer l'instance.

gcloud spanner instances move INSTANCE_ID \
--target-config=TARGET_CONFIG

Remplacez les éléments suivants :

  • INSTANCE_ID: identifiant permanent de l'instance que vous souhaitez déplacer.
  • TARGET_CONFIG: identifiant permanent de l'instance vers laquelle vous souhaitez déplacer l'instance. La nouvelle zone géographique l'emplacement de votre instance. Il peut s'agir d'un emplacement régional, birégional configuration d'instance multirégionale (par exemple, nam3, us-central1, ou custom-nam3-us-west2).

Par exemple, pour déplacer l'instance test-instance de son emplacement actuel, configuration d'instance sur nam3, exécutez la commande suivante:

  gcloud spanner instances move test-instance --target-config=nam3

Facultatif: Si vous souhaitez ajouter une instance répliquée en lecture seule, us-west2, à l'instance de base configuration d'instance nam3, procédez comme suit:

  1. Clonez la configuration de base et ajoutez l'instance répliquée en lecture seule:

    gcloud spanner instance-configs create custom-nam3-us-west2 \
    --clone-config=nam3 --add-replicas=location=us-west2, type=READ_ONLY
    
  2. Déplacer votre instance test-instance de son instance actuelle à cette nouvelle configuration d'instance custom-nam3-us-west2:

    gcloud spanner instances move test-instance --target-config=custom-nam3-us-west2
    

Surveiller la progression du déplacement et de l'annulation d'une instance

Vous pouvez utiliser gcloud spanner operations describe ou créer une Tableau de bord Cloud Monitoring pour surveiller la progression du déplacement d'une instance.

Afficher la progression des opérations de déplacement et d'annulation

Pour suivre la progression d'un déplacement d'instance ou d'une annulation de déplacement d'instance utilisez l'opération gcloud spanner operations describe . Cette commande nécessite l'identifiant d'opération du déplacement de l'instance en cours opération.

  1. Obtenez l'ID d'opération de déplacement de votre instance en exécutant la commande suivante:

    gcloud spanner operations list --instance="INSTANCE_ID"
    

    Remplacez les éléments suivants :

    • INSTANCE-ID: identifiant permanent de l'instance que vous que vous voulez déplacer.

    Le résultat affiche la liste des opérations de longue durée, y compris le déplacement d'instance opération.

  2. Exécutez la commande gcloud spanner operations describe pour afficher la progression pourcentage et état:

    gcloud spanner operations describe OPERATION_ID --instance=INSTANCE_ID
    

    Remplacez les éléments suivants :

    • OPERATION_ID: ID de l'opération de déplacement de l'instance. que vous voulez vérifier.
    • INSTANCE_ID: ID de l'instance à laquelle vous souhaitez attribuer vérifier.

Surveiller une opération de déplacement d'instance

Vous pouvez créer un tableau de bord Cloud Monitoring personnalisé pour afficher et surveiller pendant le déplacement de l'instance, une opération de longue durée pouvant les conséquences sur les services.

Les graphiques Stockage total et Espace de stockage total par base de données dans la section sont utiles pour surveiller la progression du déplacement. Vous pouvez voir l'espace de stockage de la configuration source diminue progressivement, tandis que le stockage la configuration de la destination augmente.

console Google Cloud

  1. Téléchargez le move-instance-dashboard.json . Ce fichier contient les informations nécessaires pour remplir un tableau de bord personnalisé dans Monitoring.
  2. Dans la console Google Cloud, accédez à la page Tableaux de bord .

    Accéder à la page Tableaux de bord

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  3. Sur la page Dashboards Overview (Aperçu des tableaux de bord), cliquez sur Create dashboard (Créer un tableau de bord).
  4. Dans la barre d'outils du tableau de bord, cliquez sur la liste déroulante Paramètres du tableau de bord. Ensuite, Sélectionnez JSON, puis Éditeur JSON.
  5. Dans le volet de l'éditeur JSON, copiez le contenu du fichier move-instance-dashboard.json que vous avez téléchargé et collez-le dans le éditeur.
  6. Pour appliquer vos modifications au tableau de bord, cliquez sur Appliquer les modifications. Si vous vous ne voulez pas utiliser ce tableau de bord, revenez à la page "Tableaux de bord", Page "Vue d'ensemble".
  7. Une fois le tableau de bord créé, cliquez sur Ajouter un filtre. Sélectionnez ensuite au choix project_id ou instance_id pour surveiller la progression de l'instance déplacer.

CLI gcloud

  1. Téléchargez le move-instance-dashboard.json . Ce fichier contient les informations nécessaires pour remplir un tableau de bord personnalisé dans Monitoring.
  2. Pour créer un tableau de bord dans un projet, utilisez la commande gcloud monitoring dashboards create:

    gcloud monitoring dashboards create --config-from-file=move-instance-dashboard.json
    

    Pour en savoir plus, consultez la documentation de référence sur gcloud monitoring dashboards create.

Annuler un déplacement d'instance

Vous ne pouvez annuler qu'un déplacement d'instance en cours. Si vous souhaitez un déplacement d'instance déjà terminé, vous devez recommencer un nouveau déplacement.

Vous pouvez utiliser gcloud spanner operations cancel pour annuler les opérations de déplacement d'instance. L'annulation n'est pas instantanée et prend à peu près la même durée que le temps écoulé depuis le le début du déplacement. En effet, les données doivent être déplacées vers l'instance source configuration.

Cette commande nécessite l'identifiant d'opération du déplacement de l'instance en cours opération.

  1. Obtenez l'ID d'opération en exécutant la commande suivante:

    gcloud spanner operations list --type=INSTANCE --instance="INSTANCE_ID"
    --filter="done:False AND metadata.@type:MoveInstanceMetadata
    

    Remplacez les éléments suivants :

    • INSTANCE_ID: identifiant permanent de l'instance que vous que vous voulez déplacer.

    Le résultat affiche la liste des opérations de déplacement d'instance en cours.

  2. Exécutez la commande gcloud spanner operations cancel pour annuler l'instance déplacer:

    gcloud spanner operations cancel OPERATION_ID
    

    Remplacez les éléments suivants :

    • OPERATION_ID: ID de l'opération de déplacement d'instance qui que vous souhaitez annuler.

Étape suivante