Traslada una instancia

En esta página, se describe cómo trasladar una instancia en Spanner.

Puedes mover tu instancia de Spanner de cualquier configuración de instancia a cualquier otra configuración de instancia, lo que incluye entre 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 configuración de la instancia personalizada, puedes mover tu instancia de la configuración de la instancia de origen a la nueva configuración de la instancia personalizada.

¿Por qué mover tu instancia de Spanner?

Estos son algunos de los beneficios de mover tu 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.
  • Reducir la latencia: Reduce la latencia y aumenta la cobertura geográfica con réplicas adicionales de solo lectura a través de un traslado de regional a birregional o multirregional, o de multirregional a multirregional.
  • Reducir los costos: Cambia de una configuración regional a una configuración de dos regiones o multirregional para reducir los costos por hora.
  • 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, tanto la configuración de la instancia de origen como la 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 configuración de instancia regional, birregional o multirregional, es posible que debas pagar cargos de transferencia de datos salientes. 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 que use la edición Standard directamente desde la configuración de una instancia regional a una región doble de instancias multirregionales. Debes actualizar la edición. de tu instancia a la edición Enterprise Plus primero y, luego, mover la instancia.
  • No puedes trasladar una instancia de prueba gratuita de Spanner. Puedes trasladar la instancia después de actualizar 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 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 (inhabilitado si se especifica default_leader en la solicitud)
    • DatabaseAdmin.RestoreDatabase
    • DatabaseAdmin.CreateBackup
    • DatabaseAdmin.CreateBackupSchedule
    • DatabaseAdmin.CopyBackup
  • No puedes trasladar 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 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.
  • Cuando mueves una instancia, se cambia el atributo de configuración de la 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 la CPU según las recomendaciones máximas que se indican y, luego, inhabilitar el ajuste de escala automático antes de mover la instancia.

Consideraciones de rendimiento

Cuando se traslada una instancia, experimenta latencias de lectura y escritura más altas, y una tasa de anulación de transacciones más alta. El uso de la CPU durante el traslado puede subir hasta el 100% porque el traslado de la instancia se realiza con la CPU de reserva aprovisionada por el usuario. Sin embargo, mover una instancia no genera ningún tiempo de inactividad. El tiempo que se tarda en mover una instancia depende de varios factores, como el tamaño de las bases de datos, la cantidad de nodos y el tipo de movimiento (p. ej., de regional a multirregional).

Después de mover una instancia, el rendimiento de esta varía según los detalles de su configuración. Por ejemplo, las configuraciones de doble región y multirregionales suelen tener una latencia de escritura más alta y una latencia de lectura más baja que las configuraciones 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 aborta si existen copias de seguridad en la configuración de la instancia de origen cuando inicias el traslado. 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 la instancia de origen que debes conservar, te recomendamos que copias tus copias de seguridad la configuración de la instancia de destino y otra instancia con la misma configuración como la instancia de origen que se moverá. Esto se debe a lo siguiente:

  • 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 crear copias de seguridad en la instancia de origen antes de trasladarla. 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, mueve tus instancias que no son de producción (como las de prueba y de preparación) antes de mover las de producción para ayudar a evaluar y comprender el impacto del rendimiento en las cargas de trabajo durante un traslado de instancias.
  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 que no son de producción en la configuración de la instancia de destino antes de mover tu instancia de producción. 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 de tu instancia sea inferior al 40% para la configuración de la instancia que trasladaste y que la cantidad de almacenamiento por nodo sea inferior a 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 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 carga de trabajo de la aplicación, el tiempo de finalización puede 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 el en la parte inferior de la consola de Google Cloud y muestra un prompt de línea de comandos. La sesión puede tardar unos segundos en inicializarse.

  2. Usa el comando gcloud spanner instances move para mover 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 una configuración de instancia regional, birregional, multirregional o personalizada (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 configuración de la instancia base nam3, haz lo siguiente:

  1. Clona la configuración de 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 configuración actual a esta nueva configuración de instancia 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 una configuración de instancia regional, birregional o multirregional (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 configuración de la instancia base nam3, haz lo siguiente:

  1. Clona la configuración de 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 uno personalizado Panel de Cloud Monitoring para supervisar el progreso del traslado de una instancia.

Cómo ver el progreso de las operaciones de traslado y cancelación

Para hacer un seguimiento del progreso de una operación de traslado o cancelación de traslado de instancias, usa el comando 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. Para obtener el ID de operación de tu operación de traslado de instancia, ejecuta el siguiente comando:

    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 progreso porcentaje y estado:

    gcloud spanner operations describe OPERATION_ID --instance=INSTANCE_ID
    

    Reemplaza lo siguiente:

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

Supervisa una operación de traslado de instancias

Puedes crear un panel personalizado de Cloud Monitoring para mostrar 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 Editor de JSON, 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 del traslado de tu instancia.

gcloud CLI

  1. Descarga el archivo 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 comenzar un nuevo traslado.

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 deben regresar a la instancia de origen. configuración.

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 la instancia. mover:

    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?