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 específico. En el caso de una instancia borrada, puedes restablecerla a un momento específico en una instancia nueva o 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
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Abre el menú de más acciones
para la instancia que deseas recuperar y haz clic en Crear clonación. - De manera opcional, en la página Crear una clonación, actualiza el ID de la clonación nueva.
- Selecciona Clonar desde un momento anterior.
- Ingresa un tiempo de PITR.
- 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 es para todas las bases de datos. - 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 la recuperación de un momento determinado de tu instancia con la bóveda de copias de seguridad.
Console
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
Abre el menú de más acciones
para la instancia que deseas recuperar y haz clic en Crear clonación.Selecciona Clonar desde un momento anterior.
Ingresa un tiempo de PITR.
Haz clic en Crear clon.
gcloud
Para realizar una PITR en una instancia desde la bóveda de copias de seguridad, deberás encontrar el data-source de la copia de seguridad más cercana a la hora en la que deseas realizar la PITR. Para encontrar la copia de seguridad, consulta Cómo enumerar todas las copias de seguridad en la bóveda de copias de seguridad 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
PITR_TIMESTAMP
--project=TARGET_PROJECT
Reemplaza lo siguiente:
- DATA_SOURCE: Es la ruta de acceso del
data-sourcede la copia de seguridad más cercana a la marca de tiempo de la PITR a la que deseas recuperar. - PITR_TIMESTAMP: Es la marca de tiempo UTC del registro de PITR de la instancia de origen a la que deseas restablecer tu instancia, en formato RFC 3339. Por ejemplo, 2012-11-15T16:19:00.094Z.
- TARGET_PROJECT: Es el ID del proyecto de tu instancia de Cloud SQL.
REST v1
REST v1beta4
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 fecha y hora en que se borró la instancia de origen (
source-instance-deletion-time)
Solo puedes usar la recuperación a un momento determinado 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 la PITR.
gcloud
Cómo encontrar tu ventana de PITR
Para encontrar el período de PITR de tu instancia borrada, obtén la hora de recuperación más reciente y más antigua de tu instancia. Puedes seleccionar la marca de tiempo de cualquier momento en esta ventana para realizar una PITR.
Cómo encontrar la hora de eliminación de la instancia de origen y los días de retención de registros
Los valores de source-instance-deletion-time y log-retention-days de la instancia borrada se almacenan con las copias de seguridad retenidas de tu instancia después del borrado. Para encontrar estos valores en tu instancia borrada, consulta Cómo enumerar las copias de seguridad conservadas.
Cómo restablecer con una PITR
Para restablecer tu instancia borrada con la 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 a la que deseas restablecer tu instancia, en formato RFC 3339. Por ejemplo, 2012-11-15T16:19:00.094Z.SOURCE_INSTANCE_DELETION_TIMESTAMP: Es la marca de tiempo UTC de la hora en que se borró la instancia de origen, en formato RFC 3339. Por ejemplo, 2012-11-15T16:19:00.094Z.
REST v1
Cómo encontrar tu ventana de PITR
Para encontrar el período de PITR de tu instancia borrada, obtén la hora de recuperación más reciente y más antigua de tu instancia. Puedes seleccionar la marca de tiempo de cualquier momento en esta ventana para realizar una PITR.
Cómo encontrar la hora de eliminación de la instancia de origen y los días de retención de registros
Los valores de source-instance-deletion-time y log-retention-days de la instancia borrada se almacenan con las copias de seguridad retenidas de tu instancia después del borrado. Para encontrar estos valores en tu instancia borrada, consulta Cómo enumerar las copias de seguridad conservadas.
Cómo restablecer 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 determinado en el 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 tu instancia borrada, obtén la hora de recuperación más reciente y más antigua de tu instancia. Puedes seleccionar cualquier marca de tiempo en esta ventana para realizar la PITR.
Cómo encontrar la hora de eliminación de la instancia de origen y los días de retención de registros
Los valores de source-instance-deletion-time y log-retention-days de la instancia borrada se almacenan con las copias de seguridad retenidas de tu instancia después del borrado. Para encontrar estos valores en tu instancia borrada, consulta Cómo enumerar las copias de seguridad conservadas.
Cómo restablecer 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 determinado en el 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 temprano y más tardío
Para una instancia disponible, puedes realizar una PITR a cualquier marca de tiempo dentro del período 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 reciente. Si la instancia no está disponible y los registros de la instancia se almacenan en Cloud Storage, o si la instancia se borró y tenía habilitada la retención de la PITR, puedes recuperar la hora de recuperación más antigua y más reciente, 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 si proporcionas 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 de Cloud SQL borrada, 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 de la hora 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 fecha y hora en 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 fecha y hora en 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 |
|---|---|
|
O
|
La marca de tiempo que proporcionaste no es válida. |
|
O
|
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?
- Configura marcas en tu clonación.