Realiza una recuperación de un momento determinado (PITR)

Puedes usar la recuperación de un momento determinado (PITR) para restablecer tus instancias principales de Cloud SQL, ya sea que la instancia esté activa o se haya borrado. La PITR te permite restablecer la instancia a un momento determinado. Una recuperación de un momento determinado siempre crea una instancia nueva. No puedes realizar una PITR en una instancia existente.

Cloud SQL proporciona las siguientes opciones para restablecer tu instancia con la PITR:

Para realizar una PITR en una instancia no disponible o borrada, deberás encontrar la hora de recuperación más reciente y más antigua.

Realiza una PITR

Console

  1. En la consola de Google Cloud , ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Abre el menú de más acciones Ícono de más acciones. para la instancia que deseas recuperar y haz clic en Crear clonación.
  3. De manera opcional, en la página Crear una clonación, actualiza el ID de la clonación nueva.
  4. Selecciona Clonar desde un momento anterior.
  5. Ingresa un tiempo de PITR.
  6. Selecciona Todas las bases de datos o especifica un nombre de base de datos.
    Si especificas un nombre de base de datos, solo se puede seleccionar uno. De forma predeterminada, la PITR se aplica a todas las bases de datos.
  7. Haz clic en Crear clon.

gcloud

Crea un clon con PITR.

Reemplaza lo siguiente:

  • SOURCE_INSTANCE_NAME: Es el nombre de la instancia desde la que restableces.
  • NEW_INSTANCE_NAME: Es el nombre para el clon.
  • TIMESTAMP: Es la zona horaria UTC para la instancia de origen en formato RFC 3339. Por ejemplo, 2012-11-15T16:19:00.094Z.
gcloud sql instances clone SOURCE_INSTANCE_NAME \
NEW_INSTANCE_NAME \
--point-in-time 'TIMESTAMP'

REST v1

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • target-instance-id: El ID de la instancia de destino
  • source-instance-id: El ID de la instancia de origen
  • restore-timestamp El momento al que se restablecerá

En la solicitud JSON, tienes la opción de especificar hasta un nombre de base de datos específico, de la siguiente manera: "databaseNames": "my-database"

Método HTTP y URL:

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone

Cuerpo JSON de la solicitud:

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "pointInTime": "restore-timestamp"
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

REST v1beta4

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • target-instance-id: El ID de la instancia de destino
  • source-instance-id: El ID de la instancia de origen
  • restore-timestamp El momento al que se restablecerá

En la solicitud JSON, tienes la opción de especificar hasta un nombre de base de datos específico, de la siguiente manera: "databaseNames": "my-database"

Método HTTP y URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone

Cuerpo JSON de la solicitud:

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "pointInTime": "restore-timestamp"
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Realiza una PITR con la backup vault

Si tu instancia de Cloud SQL está habilitada para usar copias de seguridad mejoradas, puedes realizar una recuperación de un momento determinado para tu instancia con la bóveda de copias de seguridad.

Console

  1. En la consola de Google Cloud , ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Abre el menú de más acciones Ícono de más acciones para la instancia que deseas recuperar y haz clic en Crear clonación.

  3. Selecciona Clonar desde un momento anterior.

  4. Ingresa un tiempo de PITR.

  5. Haz clic en Crear clon.

gcloud

Para realizar una PITR en una instancia desde la backup vault, deberás encontrar el data-source de la copia de seguridad que esté más cerca de la hora en la que deseas realizar la PITR. Para encontrar la copia de seguridad, consulta Enumera todas las copias de seguridad en la backup vault de una instancia. Una vez que hayas identificado la copia de seguridad, ejecuta el siguiente comando para realizar la PITR:

gcloud sql instances point-in-time-restore DATA_SOURCE \
    TARGET_INSTANCE_NAME \
    'PITR_TIMESTAMP' \
    --project=TARGET_PROJECT \
    --region=REGION

Reemplaza lo siguiente:

  • DATA_SOURCE: Es la ruta de acceso del data-source de la instancia de origen que está más cerca de la marca de tiempo de la PITR a la que deseas recuperar.
  • TARGET_INSTANCE_NAME: Es el nombre de la instancia nueva que crea la operación de PITR.
  • PITR_TIMESTAMP: Es la marca de tiempo UTC del registro de PITR de la instancia de origen al que deseas restablecer la instancia, en formato RFC 3339. Por ejemplo, 2025-11-15T16:19:00.094Z.
  • TARGET_PROJECT: Es el ID del proyecto de la instancia nueva.
  • REGION: Es la región de la instancia de destino. Este campo es obligatorio si la fuente de datos de la instancia de origen se encuentra en una multirregión o en una región diferente de la instancia de origen. La región de la instancia de destino debe ser la misma que la de la instancia de origen.

REST v1

Para realizar la recuperación de un momento determinado con una fuente de datos del backup vault, usa el método instances.pointInTimeRestore con una solicitud POST.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto en el que deseas crear la instancia nueva.
  • DATASOURCE: Es la fuente de datos de Backup and DR que deseas que use el servicio para la operación de restablecimiento de un momento determinado.
  • PITR_TIMESTAMP: Es la marca de tiempo UTC del registro de PITR de la instancia de origen a la que deseas restablecer la instancia, en formato RFC 3339. Por ejemplo, 2012-11-15T16:19:00.094Z.
  • TARGET_INSTANCE_NAME: Es el nombre de la instancia que creó la operación de PITR.
  • REGION: Es la región de la instancia de destino. Este campo es obligatorio si la fuente de datos de la instancia de origen se encuentra en una multirregión. La región de la instancia de destino debe ser la misma que la de la instancia de origen.

Método HTTP y URL:

POST https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID:pointInTimeRestore

Cuerpo JSON de la solicitud:

{
  "datasource": "DATASOURCE",
  "pointInTime": "PITR_TIMESTAMP",
  "targetInstanceName": "TARGET_INSTANCE_NAME",
  "region": "REGION"
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

REST v1beta4

Para realizar la recuperación de un momento determinado con una fuente de datos del backup vault, usa el método instances.pointInTimeRestore con una solicitud POST.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto en el que deseas crear la instancia nueva.
  • DATASOURCE: Es la fuente de datos de Backup and DR que deseas que use el servicio para la operación de restablecimiento de un momento determinado.
  • PITR_TIMESTAMP: Es la marca de tiempo UTC del registro de PITR de la instancia de origen a la que deseas restablecer la instancia, en formato RFC 3339. Por ejemplo, 2012-11-15T16:19:00.094Z.
  • TARGET_INSTANCE_NAME: Es el nombre de la instancia que creó la operación de PITR.
  • REGION: Es la región de la instancia de destino. Este campo es obligatorio si la fuente de datos de la instancia de origen se encuentra en una multirregión. La región de la instancia de destino debe ser la misma que la de la instancia de origen.

Método HTTP y URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID:pointInTimeRestore

Cuerpo JSON de la solicitud:

{
  "datasource": "DATASOURCE",
  "pointInTime": "PITR_TIMESTAMP",
  "targetInstanceName": "TARGET_INSTANCE_NAME",
  "region": "REGION"
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Realiza una PITR entre proyectos

Con las copias de seguridad mejoradas, puedes restablecer una instancia de Cloud SQL en un proyecto que no sea aquel en el que se encuentra la instancia de origen o el backup vault.

La PITR entre proyectos solo se admite a través de la gcloud CLI y las APIs de REST.

Para realizar una PITR entre proyectos, haz lo siguiente:

  • Si usas gcloud CLI, establece la marca --project en el proyecto en el que deseas crear la instancia de destino.

  • Si usas las APIs de REST, establece el campo PROJECT_ID en el proyecto en el que deseas crear la instancia de destino.

Realiza PITR en una instancia borrada

Para usar la PITR y restablecer una instancia borrada, necesitarás lo siguiente:

  • La marca de tiempo de PITR (timestamp) a la que deseas restablecer tu instancia
  • el nombre de la instancia de destino
  • La hora en que se borró la instancia de origen (source-instance-deletion-time)

Solo puedes usar la PITR en una instancia borrada con gcloud CLI o la API de Cloud SQL. Para obtener más información, consulta Restablece una instancia borrada con una PITR.

gcloud

Copia de seguridad estándar

Cómo encontrar tu ventana de PITR

Para encontrar el período de PITR de la instancia borrada, obtén la hora de recuperación más temprana y más tardía de la instancia. Puedes seleccionar cualquier marca de tiempo en esta ventana para realizar una PITR.

Busca la eliminación de la instancia de origen

El source-instance-deletion-time y el log-retention-days de la instancia borrada se almacenan con las copias de seguridad retenidas de tu instancia después de que se borra. Para encontrar una lista de todas las copias de seguridad disponibles de tu instancia borrada, consulta Enumera las copias de seguridad retenidas.

Una vez que identifiques la copia de seguridad que deseas usar, ejecuta el comando gcloud sql backups describe para obtener el source-instance-deletion-time.

Restablece con una PITR

Para restablecer la instancia borrada con una PITR, ejecuta el siguiente comando:

gcloud sql instances clone SOURCE_INSTANCE_NAME \
NEW_INSTANCE_NAME \
--point-in-time='PITR_TIMESTAMP' \
--source-instance-deletion-time=SOURCE_INSTANCE_DELETION_TIMESTAMP

Reemplaza lo siguiente:

  • SOURCE_INSTANCE_NAME: Es el nombre de la instancia de origen que deseas restablecer.
  • NEW_INSTANCE_NAME: es el nombre de la instancia nueva.
  • PITR_TIMESTAMP: Es la marca de tiempo UTC del registro de PITR de la instancia de origen al que deseas restablecer la instancia, en formato RFC 3339. Por ejemplo, 2012-11-15T16:19:00.094Z.
  • SOURCE_INSTANCE_DELETION_TIMESTAMP: Es la marca de tiempo UTC del momento en que se borró la instancia de origen, en formato RFC 3339. Por ejemplo, 2012-11-15T16:19:00.094Z.

Copia de seguridad mejorada

Cómo encontrar tu ventana de PITR

Para encontrar el período de PITR de la instancia borrada, obtén la hora de recuperación más temprana y más tardía de la instancia. Puedes seleccionar cualquier marca de tiempo en esta ventana para realizar una PITR.

Cómo encontrar la fuente de datos

La fuente de datos de la instancia borrada se almacena con las copias de seguridad retenidas de tu instancia después de la eliminación. Para encontrar estos valores de la instancia borrada, consulta Enumera todas las copias de seguridad en la backup vault de tu instancia.

Restablece con una PITR

Para restablecer la instancia borrada con una PITR, ejecuta el siguiente comando:

gcloud sql instances point-in-time-restore DATA_SOURCE \
    TARGET_INSTANCE_NAME \
    'PITR_TIMESTAMP' \
    --project=TARGET_PROJECT \
    --region=REGION

Reemplaza lo siguiente:

  • DATA_SOURCE: Es la ruta de acceso de data-source para la copia de seguridad más cercana a la marca de tiempo de la PITR que deseas recuperar.
  • TARGET_INSTANCE_NAME: Es el nombre de la instancia nueva que crea la operación de PITR.
  • PITR_TIMESTAMP: Es la marca de tiempo UTC del registro de PITR de la instancia de origen al que deseas restablecer la instancia, en formato RFC 3339. Por ejemplo, 2025-11-15T16:19:00.094Z.
  • TARGET_PROJECT: Es el ID del proyecto de la instancia nueva.
  • REGION: Es la región de la instancia de destino. Este campo es obligatorio si la fuente de datos de la instancia de origen se encuentra en una multirregión. La región de la instancia de destino debe ser la misma que la región de la instancia de origen.

REST v1

Cómo encontrar tu ventana de PITR

Para encontrar el período de PITR de la instancia borrada, obtén la hora de recuperación más temprana y más tardía de la instancia. Puedes seleccionar cualquier marca de tiempo en esta ventana para realizar una PITR.

Busca la hora de eliminación de la instancia de origen y los días de retención de registros

El source-instance-deletion-time y el log-retention-days de la instancia borrada se almacenan con las copias de seguridad retenidas de tu instancia después de que se borra. Para encontrar estos valores de tu instancia borrada, consulta Enumera las copias de seguridad retenidas.

Restablece con una PITR

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: Es el ID del proyecto.
  • target-instance-id: el ID de la instancia de destino
  • source-instance-id: el ID de la instancia de origen
  • source-instance-deletion-time: Es la hora de eliminación de la instancia de origen.
  • restore-timestamp El momento al que deseas restablecer la instancia

Método HTTP y URL:

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone

Cuerpo JSON de la solicitud:

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "sourceInstanceDeletionTime: "source-instance-deletion-time",
    "pointInTime": "restore-timestamp"
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

REST v1beta4

Cómo encontrar tu ventana de PITR

Para encontrar el período de PITR de la instancia borrada, obtén la hora de recuperación más temprana y más tardía de la instancia. Puedes seleccionar cualquier marca de tiempo en esta ventana para realizar la PITR.

Busca la hora de eliminación de la instancia de origen y los días de retención de registros

El source-instance-deletion-time y el log-retention-days de la instancia borrada se almacenan con las copias de seguridad retenidas de tu instancia después de que se borra. Para encontrar estos valores de tu instancia borrada, consulta Enumera las copias de seguridad retenidas.

Restablece con la PITR

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: Es el ID del proyecto.
  • target-instance-id: el ID de la instancia de destino
  • source-instance-id: el ID de la instancia de origen
  • source-instance-deletion-time: Es la hora de eliminación de la instancia de origen.
  • restore-timestamp El momento al que deseas restablecer la instancia

En la solicitud JSON, tienes la opción de especificar hasta un nombre de base de datos específico, de la siguiente manera: "databaseNames": "my-database"

Método HTTP y URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone

Cuerpo JSON de la solicitud:

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "sourceInstanceDeletionTime: "source-instance-deletion-time",
    "pointInTime": "restore-timestamp"
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Obtén el tiempo de recuperación más antiguo y el más reciente

Para una instancia disponible, puedes realizar una PITR en cualquier marca de tiempo de la ventana de PITR de la instancia. El período de PITR comienza en el momento de recuperación más temprano y finaliza en el momento de recuperación más tardío. Si la instancia no está disponible y los registros de la instancia se almacenan en Cloud Storage, o si se borró la instancia y tenía habilitada la retención de PITR, puedes recuperar la hora de recuperación más reciente y la más antigua, y realizar la PITR en cualquier marca de tiempo de ese período. En todos los casos, puedes restablecer la instancia en una zona principal o secundaria diferente proporcionando valores para las zonas preferidas.

gcloud

Instancia no disponible

Para obtener la hora más temprana y más tardía a la que puedes recuperar una instancia de Cloud SQL que no está disponible, ejecuta el siguiente comando:

gcloud sql instances get-latest-recovery-time INSTANCE_NAME

Reemplaza lo siguiente:

  • INSTANCE_NAME: Es el nombre de la instancia para la que deseas encontrar el tiempo de recuperación más reciente.

Instancia borrada

Para obtener la hora más temprana y más tardía a la que puedes recuperar una instancia borrada de Cloud SQL, ejecuta el siguiente comando:

gcloud sql instances get-latest-recovery-time INSTANCE_NAME \
    --source-instance-deletion-time='SOURCE_INSTANCE_DELETION_TIMESTAMP'

Reemplaza lo siguiente:

  • INSTANCE_NAME: Es el nombre de la instancia para la que deseas encontrar el tiempo de recuperación más reciente.
  • SOURCE_INSTANCE_DELETION_TIMESTAMP: Es la marca de tiempo UTC del momento en que se borró la instancia de origen, en formato RFC 3339. Por ejemplo, 2012-11-15T16:19:00.094Z.

REST v1

Instancia no disponible

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: el ID del proyecto
  • INSTANCE_NAME: Es el nombre de la instancia para la que consultas el tiempo de recuperación más reciente.

Método HTTP y URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "kind": "sql#getLatestRecoveryTime",
  "earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
  "latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}

Instancia borrada

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto.
  • INSTANCE_NAME: Es el nombre de la instancia de origen para la que consultas el tiempo de recuperación más reciente.
  • SOURCE_INSTANCE_DELETION_TIME: Es la hora en la que se borró la instancia de origen.

Método HTTP y URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "kind": "sql#getLatestRecoveryTime",
  "earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
  "latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}

REST v1beta4

Instancia no disponible

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: el ID del proyecto
  • INSTANCE_NAME: Es el nombre de la instancia para la que consultas el tiempo de recuperación más reciente.

Método HTTP y URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "kind": "sql#getLatestRecoveryTime",
  "earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
  "latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}

Instancia borrada

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto.
  • INSTANCE_NAME: Es el nombre de la instancia de origen para la que consultas el tiempo de recuperación más reciente.
  • SOURCE_INSTANCE_DELETION_TIME: Es la hora en la que se borró la instancia de origen.

Método HTTP y URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "kind": "sql#getLatestRecoveryTime",
  "earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
  "latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}

Solucionar problemas

Problema Soluciona problemas

argument --point-in-time: Failed to parse date/time:
Unknown string format: 2021-0928T30:54:03.094;
received: 2021-0928T30:54:03.094Z

O

Invalid value at 'body.clone_context.point_in_time'
(type.googleapis.com/google.protobuf.Timestamp), Field 'pointInTime',
Invalid time format: Failed to parse input,

La marca de tiempo que proporcionaste no es válida.

HTTP Error 400: Successful backup required for carrying out the operation was not found.

O

Successful backup required for carrying out the operation was not found. or Time where no backups can be found.

La marca de tiempo que proporcionaste se debe a una hora en la que no se pudieron encontrar las copias de seguridad o las coordenadas binlog.

¿Qué sigue?