Cómo mover una instancia

En esta página, se describe el traslado de una instancia en Spanner.

Puedes trasladar la instancia de Spanner desde cualquier instancia a cualquier otra configuración de instancias, incluidas las configuraciones regionales, birregionales y multirregionales. Para mudanza la instancia no cause tiempo de inactividad, y Spanner seguirá proporcionar las garantías de transacción habituales, incluida la coherencia sólida durante la migración.

También puedes trasladar tu instancia de su configuración de instancia de origen a una configuración de instancia personalizada (por ejemplo, una configuración base nam3 con una réplica de solo lectura us-west2). Debido a que no puedes actualizar la topología de las configuraciones de instancias existentes, debes crear una nueva instancia personalizada configuración con la topología que desees primero. Después de crear la nueva campaña configuración de la instancia, puedes trasladarla del directorio configuración a la nueva configuración de instancia personalizada.

¿Por qué mover tu instancia de Spanner?

Estos son algunos de los beneficios de trasladar la instancia:

  • Aumento de la disponibilidad: Obtén una disponibilidad del 99.999% sin tiempo de inactividad. después de realizar un traslado regional a birregional o multirregional.
  • Reduce la latencia: Reduce la latencia y aumenta la cobertura geográfica con réplicas de solo lectura adicionales en una región a birregional o multirregional o multirregional a multirregional.
  • Reducción de costos: Cambia los costos por hora desde una ubicación birregional o multirregional. configuración a una regional.
  • Colocar base de datos: Coloca la base de datos de Spanner con el una aplicación cliente trasladando la instancia a una ubicación más optimizada.

Precios

Cuando trasladas una instancia, los parámetros de configuración de la instancia de origen y de destino están sujetos a cargos por hora de procesamiento y almacenamiento. Cuando se complete el traslado, se te facturará por el almacenamiento de la instancia en el configuración del destino.

Si trasladas tu instancia a una nueva región, región doble o multirregión de la instancia de VM, podrías estar sujeto a cargos por transferencia de datos de salida. Para obtener más información, consulta Precios de Spanner.

Limitaciones

  • Para trasladar la instancia, debe tener un mínimo de 1 nodo (1,000 unidades de procesamiento)
  • No puedes trasladar tu instancia entre proyectos y cuentas de Google Cloud.
  • No puedes trasladar una instancia de prueba gratuita de Spanner. Puedes mover la instancia después de actualizarla a una instancia pagada.
  • Si tienes solicitudes activas que usan un extremo de servicio regional en cualquiera de los recursos de la instancia, el traslado de la instancia afecta a todas las solicitudes que usan el extremo regional porque bloquean la aplicación regional acceso a instancias entre regiones. Las solicitudes que usan un extremo global se no se vean afectados.
  • Las copias de seguridad de Spanner son específicas de una configuración de instancia y no se incluyen cuando se mueve una instancia. Para para obtener más información, consulta Copias de seguridad.
  • Las siguientes APIs se inhabilitan durante el traslado de una instancia:
    • InstanceAdmin.DeleteInstance
    • InstanceAdmin.UpdateInstance
    • DatabaseAdmin.CreateDatabase
    • DatabaseAdmin.UpdateDatabaseDdl (se inhabilita si default_leader es especificadas en la solicitud).
    • DatabaseAdmin.RestoreDatabase
    • DatabaseAdmin.CreateBackup
    • DatabaseAdmin.CopyBackup
  • No puedes mover instancias que contengan cualquier tipo de CMEK habilitada bases de datos.
  • Si una base de datos tiene un líder predeterminado modificado, la selección se conserva si nombra una región de lectura y escritura en el la configuración de la instancia de destino, y esa configuración se multirregionales. Si la configuración de destino es regional o no incluye la región de lectura y escritura nombrada, se borra la selección de líder predeterminada.
  • Mover una instancia cambia el atributo de configuración de la instancia de tu instancia. Si administras tus recursos de Spanner automatización, asegúrate de preparar y abordar las incoherencias que puedan surgir.
    • Por ejemplo, si usas Terraform para administrar tus instancias y bases de datos de Spanner, y tú habilita terraform apply --auto-approve para mantener tus recursos sincronizados Todas las instancias y los recursos secundarios se borran cuando trasladamos la instancia. Actualiza la configuración según corresponda para evitar la eliminación y la pérdida de datos. Consulta Opciones de aplicación de Terraform para obtener más información sobre el comando apply.
  • Mientras se mueve la instancia, es posible que las métricas y los gráficos de supervisión de Spanner muestren datos en las configuraciones de las instancias de origen y destino, o bien que solo reflejen el rendimiento en una configuración de instancia.
  • Si configuraste la herramienta Escalador automático de código abierto, no es necesario debes inhabilitarla. Falla porque InstanceAdmin.UpdateInstance (se usa para (cambios en el nodo y la unidad de procesamiento) está inhabilitada.
  • No puedes mover una instancia si la función escalador automático administrado de Spanner está habilitada en ella. Para mover la instancia, debes inhabilitar el escalador automático administrado, mover la instancia y, luego, volver a habilitar el escalador automático administrado.

    Además, si usas el ajuste de escala automático, debes aprovisionar suficientes nodos para el uso máximo de CPU de acuerdo con máximas de las recomendaciones indicadas y, luego, inhabilita el ajuste de escala automático antes mueves la instancia.

Consideraciones de rendimiento

Cuando se mueve una instancia, experimenta latencias de operaciones de lectura y escritura más altas y una tasa de aborto de transacciones más alta. El uso de CPU durante el traslado podría aumentar al 100% porque el traslado de la instancia se realiza con la CPU libre aprovisionada por del usuario. Sin embargo, mover una instancia no causa ningún tiempo de inactividad. La hora que se necesita para trasladar una instancia depende de varios factores, incluido el tamaño las bases de datos, la cantidad de nodos y el tipo de traslado (p.ej., regional a multirregional).

Después de trasladar una instancia, su rendimiento varía según los detalles de la configuración de la instancia. Por ejemplo: región doble y parámetros de configuración multirregionales suelen tener una latencia de escritura más alta y una latencia de lectura menor que parámetros de configuración regionales.

Copias de seguridad

Cuando mueves una instancia, las copias de seguridad de la instancia de origen no se mueven a la nueva configuración de destino automáticamente. El traslado de la instancia se anula si las copias de seguridad existen en la configuración de la instancia de origen cuando la inicias mover. Es importante que copies las copias de seguridad y consideres plan de recuperación de datos antes de transferir tu instancia.

Si hay copias de seguridad en tu instancia de origen que necesitas conservar, te recomendamos que copies tus copias de seguridad en la configuración de la instancia de destino y en otra instancia con la misma configuración de la instancia de origen que se moverá. Esto es así:

  • Puedes copiar tus copias de seguridad en la configuración de la instancia de destino inmediatamente después de que se complete el traslado de la instancia.
  • Si necesitas cancelar el traslado de la instancia, también puedes restablecer rápidamente tus copias de seguridad desde la instancia con la misma configuración que la fuente la configuración de una instancia de Compute Engine.

Después de copiar tus copias de seguridad en otra instancia, debes borrar las existentes en la instancia de origen antes de moverla. Luego, una vez que se complete el traslado de la instancia, tendrás una copia de la copia de seguridad en el destino configuración existente. También puedes crear una copia de seguridad nueva.

Para obtener más información sobre la copia de copias de seguridad y los costos asociados, consulta Cómo copiar una copia de seguridad.

Cómo trasladar una instancia

Puedes trasladar una instancia con Cloud Shell de la consola de Google Cloud gcloud CLI con comandos gcloud

Requisitos previos

Antes de trasladar la configuración de tu instancia, asegúrate de haber consulta el artículo Limitaciones y Consideraciones de rendimiento secciones. Luego, sigue estos pasos:

  1. Verifica que tengas el permiso de IAM spanner.instances.update en la instancia de origen.
  2. Si corresponde, transfiere las instancias de no producción. (como los de prueba y etapa de pruebas) antes de trasladar las instancias de producción para Evaluar y comprender el impacto en el rendimiento de las cargas de trabajo durante una instancia mover.
  3. Cuando migras una instancia de Spanner, el proceso de traslado elimina las etiquetas de la instancia que creaste en Data Catalog. Para preservar tu etiquetas, debes exportarlas antes del traslado y, luego, impórtalos después de la migración. Para obtener más información, consulta Importa y exporta etiquetas.

Para conocer las prácticas recomendadas, sigue estos lineamientos:

  • Prueba las cargas de trabajo de rendimiento en instancias de no producción en el destino la configuración de la instancia antes de trasladarla. Probar trasladar una instancia de etapa de pruebas similar a la de producción para tener una idea de cuánto tardará el traslado de la instancia de producción.
  • Verifica que no haya hotspots en tus bases de datos con Key Visualizer.
  • Revisa para asegurarte de que tienes suficiente cuota de nodos en la configuración de la instancia de destino para admitir el uso máximo esperado de la instancia. Para obtener más información, consulta Cuotas y límites de Spanner.
  • Asegúrate de que el uso de CPU máximo del tu instancia es inferior al 40% para la configuración de instancia que trasladaste y la cantidad de almacenamiento por nodo es menor que 1 tebibyte (TiB).
  • No realices cambios en la instancia durante el traslado. Esto incluye cambiar el recuento de nodos de instancia, cambiar los esquemas de la base de datos, crear o descartar bases de datos, y crear o borrar copias de seguridad.

Si mueves tu instancia según estas recomendaciones, el traslado suele completarse en un plazo de 24 horas. Sin embargo, según la aplicación la carga de trabajo, el tiempo de finalización podría ser más largo o más corto.

Traslada una instancia

Consola de Google Cloud

  1. Haz clic en Activa el ícono de Cloud Shell. Activa Cloud Shell en la parte superior de la consola de Google Cloud.

    Se abrirá una sesión de Cloud Shell en un marco nuevo en la parte inferior de la consola de Google Cloud que mostrará una ventana emergente con una línea de comandos. La sesión puede tardar unos segundos en inicializarse.

  2. Usa la gcloud spanner instances move. comando para trasladar la instancia.

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

    Reemplaza lo siguiente:

    • INSTANCE_ID: El identificador permanente de la instancia que que quieres mover.
    • TARGET_CONFIG: Es un identificador permanente de la configuración de la instancia a la que deseas mover la instancia. La nueva ubicación geográfica de tu instancia. Puede ser una configuración de instancia regional, birregional, multirregional o personalizada (por ejemplo, nam3, us-central1 o custom-nam3-us-west2).

Por ejemplo, para mover tu instancia test-instance de su configuración actual a nam3, ejecuta lo siguiente:

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

Opcional: Si deseas agregar una réplica de solo lectura, us-west2, a la base la configuración de instancia nam3, haz lo siguiente:

  1. Clona la configuración base y agrega la réplica de solo lectura:

    gcloud spanner instance-configs create custom-nam3-us-west2 \
    --clone-config=nam3 --add-replicas=location=us-west2, type=READ_ONLY
    
  2. Mueve tu instancia test-instance de su instancia actual actual a esta configuración de instancia nueva de custom-nam3-us-west2:

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

gcloud CLI

Usa la gcloud spanner instances move. comando para trasladar la instancia.

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

Reemplaza lo siguiente:

  • INSTANCE_ID: El identificador permanente de la instancia que que quieres mover.
  • TARGET_CONFIG: Es un identificador permanente de la instancia. configuración a la que quieres mover tu instancia. La nueva ubicación geográfica de tu instancia. Puede ser regional, birregional o configuración de instancias multirregionales (por ejemplo, nam3, us-central1, o custom-nam3-us-west2).

Por ejemplo, para trasladar tu instancia test-instance de su actual la configuración de la instancia en nam3, ejecuta lo siguiente:

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

Opcional: Si deseas agregar una réplica de solo lectura, us-west2, a la base la configuración de instancia nam3, haz lo siguiente:

  1. Clona la configuración base y agrega la réplica de solo lectura:

    gcloud spanner instance-configs create custom-nam3-us-west2 \
    --clone-config=nam3 --add-replicas=location=us-west2, type=READ_ONLY
    
  2. Mueve tu instancia test-instance de su instancia actual actual a esta configuración de instancia nueva de custom-nam3-us-west2:

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

Cómo supervisar el progreso del traslado y la cancelación de una instancia

Puedes usar gcloud spanner operations describe o crear un panel personalizado de Cloud Monitoring para supervisar el progreso de un traslado de instancias.

Visualiza el progreso de la operación de traslado y cancelación

Para realizar un seguimiento del progreso de un traslado de instancia o su cancelación de traslado de instancia usa gcloud spanner operations describe . Este comando requiere que el ID de operación del traslado de la instancia en curso una sola operación.

  1. Ejecuta el siguiente comando para obtener el ID de operación de tu operación de traslado de instancias:

    gcloud spanner operations list --instance="INSTANCE_ID"
    

    Reemplaza lo siguiente:

    • INSTANCE-ID: El identificador permanente de la instancia que que quieres mover.

    El resultado muestra una lista de operaciones de larga duración, incluida la migración de instancias una sola operación.

  2. Ejecuta el comando gcloud spanner operations describe para ver el porcentaje de progreso y el estado:

    gcloud spanner operations describe OPERATION_ID --instance=INSTANCE_ID
    

    Reemplaza lo siguiente:

    • OPERATION_ID: El ID de la operación de traslado de instancias que deseas verificar.
    • INSTANCE_ID: Es el ID de la instancia que deseas verificar.

Supervisa una operación de traslado de instancias

Puedes crear un panel personalizado de Cloud Monitoring para visualizar y supervisar métricas durante el traslado de la instancia, una operación de larga duración con posibles implicancias del servicio.

Los gráficos de Almacenamiento total y Almacenamiento total de la base de datos por bases de datos en la panel de control son útiles para supervisar el progreso de la migración. Puedes consultar en la configuración de origen disminuyen de forma gradual, mientras que el almacenamiento aumentos en la configuración del destino.

Consola de Google Cloud

  1. Descargue la move-instance-dashboard.json . Este archivo tiene la información necesaria para propagar un panel personalizado en Monitoring.
  2. En la consola de Google Cloud, ve a la página  Paneles.

    Dirígete a Paneles de control

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

  3. En la página Descripción general de los paneles, haz clic en Crear panel.
  4. En la barra de herramientas del panel, haz clic en el menú desplegable Configuración del panel. Después Selecciona JSON, seguido de Editor de JSON.
  5. En el panel JSON Editor, copia el contenido del archivo move-instance-dashboard.json que descargaste y pégalo en el Editor.
  6. Para aplicar los cambios en el panel, haz clic en Aplicar cambios. Si Si no quieres usar este panel, regresa a Paneles de control Página Resumen.
  7. Después de crear el panel, haz clic en Agregar filtro. Luego, selecciona project_id o instance_id para supervisar el progreso de la instancia mover.

gcloud CLI

  1. Descargue la move-instance-dashboard.json . Este archivo tiene la información necesaria para propagar un panel personalizado en Monitoring.
  2. Para crear un panel en un proyecto, usa el comando gcloud monitoring dashboards create:

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

    Para obtener más información, consulta la referencia de gcloud monitoring dashboards create.

Cómo cancelar el traslado de una instancia

Solo puedes cancelar un traslado de instancia que aún esté en curso. Si quieres revertir un traslado de instancia ya completado, debes iniciar un traslado nuevo.

Puedes usar gcloud spanner operations cancel para cancelar las operaciones de traslado de instancias. La cancelación no es instantánea y tarda más o menos la misma cantidad de tiempo que el tiempo transcurrido desde el inicio de la mudanza. Esto se debe a que los datos se deben volver a mover a la configuración de la instancia de origen.

Este comando requiere el ID de la operación de traslado de instancias en curso.

  1. Para obtener el ID de operación, ejecuta lo siguiente:

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

    Reemplaza lo siguiente:

    • INSTANCE_ID: El identificador permanente de la instancia que que quieres mover.

    El resultado muestra una lista de operaciones de traslado de instancias en curso.

  2. Ejecuta el comando gcloud spanner operations cancel para cancelar el movimiento de la instancia:

    gcloud spanner operations cancel OPERATION_ID
    

    Reemplaza lo siguiente:

    • OPERATION_ID: Es el ID de la operación de traslado de instancia que que quieres cancelar.

¿Qué sigue?