En este documento, se describe cómo iniciar y detener la replicación asíncrona.
La replicación asíncrona es útil para la recuperación ante desastres con un RPO y un RTO bajos. Para obtener más información sobre la replicación asíncrona, consulta Información sobre la replicación asíncrona.
Limitaciones
- Un disco principal solo se puede replicar en un disco secundario a la vez.
- Después de que se detiene la replicación, no puedes reanudarla en el mismo disco. Debes crear un disco secundario nuevo y reiniciar la replicación.
- No se pueden adjuntar, borrar ni crear instantáneas de los discos secundarios mientras están en proceso de replicación.
- Si usas un disco regional como disco secundario y se produce una interrupción zonal en una de las zonas del disco secundario, falla la replicación del disco principal al disco secundario.
Antes de comenzar
- Si necesitas alinear la replicación en varios discos, crea un grupo de coherencia.
- Crea un disco principal.
- Crea un disco secundario.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación verifica tu identidad para acceder a los servicios y las APIs de Google Cloud . Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Selecciona la pestaña que corresponda a la forma en que planeas usar las muestras de esta página:
Console
Cuando usas la consola de Google Cloud para acceder a los servicios y las APIs de Google Cloud , no necesitas configurar la autenticación.
gcloud
-
Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:
gcloud initSi usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
- Configura una región y una zona predeterminadas.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad (IdP) externo, primero debes acceder a gcloud CLI con tu identidad federada.
-
Si usas un shell local, crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
No es necesario que lo hagas si usas Cloud Shell.
Si se devuelve un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a la gcloud CLI con tu identidad federada.
Terraform
Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa la gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
REST
Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.
Instala Google Cloud CLI.
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Google Cloud .
Roles y permisos requeridos
Para obtener los permisos que necesitas para iniciar o detener la replicación, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto:
- Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1) -
Para conectarte a una instancia que tiene una cuenta de servicio adjunta:
Usuario de cuenta de servicio (v1) (
roles/iam.serviceAccountUser)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para iniciar o detener la replicación. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para iniciar o detener la replicación:
-
Para comenzar a replicar el disco de arranque de una instancia que tiene una cuenta de servicio adjunta, haz lo siguiente:
-
compute.disks.startAsyncReplication -
iam.serviceAccounts.actAsen la cuenta de servicio de la instancia
-
-
Para iniciar la replicación de todos los demás discos, haz lo siguiente:
compute.disks.startAsyncReplication -
Para detener la replicación en un solo disco, haz lo siguiente:
compute.disks.stopAsyncReplication -
Para detener la replicación de todos los discos en un grupo de coherencia, haz lo siguiente:
compute.disks.stopGroupAsyncReplication
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Iniciar la replicación
Inicia la replicación con la consola de Google Cloud , Google Cloud CLI, REST o Terraform.
Console
En la consola de Google Cloud , ve a la página Replicación asíncrona.
Haz clic en el nombre del disco secundario en el que deseas iniciar la replicación.
Haz clic en Comenzar replicación. Se abrirá la ventana Iniciar replicación.
Haz clic en Comenzar replicación.
gcloud
Inicia la replicación con el comando gcloud compute disks start-async-replication:
gcloud compute disks start-async-replication PRIMARY_DISK_NAME \
--PRIMARY_LOCATION_FLAG=PRIMARY_LOCATION \
--secondary-disk=SECONDARY_DISK_NAME \
--SECONDARY_LOCATION_FLAG=SECONDARY_LOCATION \
--secondary-disk-project=SECONDARY_PROJECT
Reemplaza lo siguiente:
PRIMARY_DISK_NAME: el nombre del disco principal.PRIMARY_LOCATION_FLAG: la marca de ubicación para el disco principal. Para los discos regionales, usa--region. Para los discos zonales, usa--zone.PRIMARY_LOCATION: la región o la zona del disco principal. Para los discos regionales, usa la región. Para los discos zonales, usa la zona.SECONDARY_DISK_NAME: el nombre del disco secundario.SECONDARY_LOCATION_FLAG: la marca de ubicación para el disco secundario. Para los discos regionales, usa--secondary-disk-region. Para los discos zonales, usa--secondary-disk-zone.SECONDARY_LOCATION: la región o la zona del disco secundario. Para los discos regionales, usa la región. Para los discos zonales, usa la zona.SECONDARY_PROJECT: el proyecto que contiene el disco secundario.
Go
Java
Node.js
Python
REST
Inicia la replicación con uno de los siguientes métodos:
Inicia la replicación de los discos zonales con el método
disks.startAsyncReplication:POST https://compute.googleapis.com/compute/v1/projects/PRIMARY_DISK_PROJECT/zones/PRIMARY_LOCATION/disks/PRIMARY_DISK_NAME/startAsyncReplication { "asyncSecondaryDisk": "projects/SECONDARY_DISK_PROJECT/SECONDARY_LOCATION_PARAMETER/SECONDARY_LOCATION/disks/SECONDARY_DISK_NAME" }Inicia la replicación de los discos regionales con el método
regionDisks.startAsyncReplication:POST https://compute.googleapis.com/compute/v1/projects/PRIMARY_DISK_PROJECT/regions/PRIMARY_LOCATION/regionDisks/PRIMARY_DISK_NAME/startAsyncReplication { "asyncSecondaryDisk": "projects/SECONDARY_DISK_PROJECT/SECONDARY_LOCATION_PARAMETER/SECONDARY_LOCATION/disks/SECONDARY_DISK_NAME" }
Reemplaza lo siguiente:
PRIMARY_DISK_PROJECT: el proyecto que contiene el disco principal.PRIMARY_LOCATION: la región o la zona del disco principal. Para los discos regionales, usa la región. Para los discos zonales, usa la zona.PRIMARY_DISK_NAME: el nombre del disco principal.SECONDARY_DISK_PROJECT: el proyecto que contiene el disco secundario.SECONDARY_LOCATION_PARAMETER: el parámetro de ubicación para el disco secundario. Para los discos regionales, usaregions. Para los discos zonales, usazones.SECONDARY_LOCATION: la región o la zona del disco secundario. Para los discos regionales, usa la región. Para los discos zonales, usa la zona.SECONDARY_DISK_NAME: el nombre del disco secundario.
Terraform
Para iniciar la replicación entre los discos principal y secundario, usa el recurso compute_disk_async_replication.
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Detener la replicación
Puedes detener la replicación de un solo disco principal o secundario, o de todos los discos de un grupo de coherencia. Si detienes la replicación de un solo disco en un grupo de coherencia, el tiempo de replicación de ese disco se desincroniza con los otros discos del grupo de coherencia.
La detención de la replicación se realiza en situaciones de conmutación por error y recuperación tras conmutación por error. Si detienes la replicación, no podrás reiniciarla en el mismo disco secundario. Si quieres reiniciar la replicación, debes crear un disco secundario nuevo y comenzar de nuevo.
Cuando detienes la replicación en un disco, el estado de replicación del disco cambia a STOPPED. El estado de replicación del otro disco en el par de replicación del disco (el disco principal o secundario correspondiente) se actualiza a STOPPED en un momento posterior. Si quieres evitar la brecha de tiempo y actualizar el estado de replicación del otro disco a STOPPED de inmediato, también debes detener manualmente la replicación en el otro disco. Detener la replicación en ambos discos no afecta el momento en que se detiene la replicación, sino que solo afecta los estados de replicación de los discos.
Detén la replicación en un solo disco
Detén la replicación en un solo disco usando la Google Cloud consola, Google Cloud CLI o REST.
Console
Para detener la replicación, haz lo siguiente:
En la consola de Google Cloud , ve a la página Replicación asíncrona.
Haz clic en el nombre del disco principal o secundario para el que deseas detener la replicación. Se abrirá la página Administrar disco.
Haz clic en Finalizar replicación. Se abrirá la ventana Finalizar replicación.
Haz clic en Finalizar replicación.
gcloud
Detén la replicación con el comando gcloud compute disks stop-async-replication:
gcloud compute disks stop-async-replication DISK_NAME \
--LOCATION_FLAG=LOCATION
Reemplaza lo siguiente:
DISK_NAME: el nombre del disco.LOCATION_FLAG: la marca de ubicación para el disco. Para un disco regional, usa--region. Para un disco zonal, usa--zone.LOCATION: la región o la zona del disco. Para los discos regionales, usa la región. Para los discos zonales, usa la zona.
Go
Java
Node.js
Python
REST
Detén la replicación con uno de los siguientes métodos:
Detén la replicación de los discos zonales con el método
disks.stopAsyncReplication:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/DISK_NAME/stopAsyncReplication { }Detén la replicación de discos regionales con el método
regionDisks.stopAsyncReplication:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/regionDisks/DISK_NAME/stopAsyncReplication { }
Reemplaza lo siguiente:
PROJECT: el proyecto que contiene el disco.DISK_NAME: el nombre del disco.LOCATION: la zona o la región del disco. Para los discos zonales, usa la zona. Para los discos regionales, usa la región.
Terraform
Para detener la replicación en los discos principales y secundarios, quita el recurso compute_disk_async_replication.
Detén la replicación en un grupo de coherencia
Detén la replicación para todos los discos en un grupo de coherencia usando laGoogle Cloud consola, Google Cloud CLI o REST.
Console
Para detener la replicación de todos los discos en un grupo de coherencia, haz lo siguiente:
En la consola de Google Cloud , ve a la página Consistency Groups.
En la pestaña Grupos de coherencia de discos, haz clic en el nombre del grupo de coherencia para el que deseas detener la replicación. Se abrirá la página Administrar grupo de coherencia.
Haz clic en Finalizar replicación. Se abrirá la ventana Finalizar replicación.
Haz clic en Finalizar replicación.
gcloud
Detén la replicación para todos los discos en un grupo de coherencia con el comando gcloud compute disks stop-group-async-replication:
gcloud compute disks stop-group-async-replication CONSISTENCY_GROUP \ --LOCATION_FLAG=LOCATION
Reemplaza lo siguiente:
CONSISTENCY_GROUP: la URL del grupo de coherencia. Por ejemplo,projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAMELOCATION_FLAG: la marca de ubicación para los discos en el grupo de coherencia. Para los discos regionales, usa--region. Para los discos zonales, usa--zone.LOCATION: la región o la zona del disco. Para los discos regionales, usa la región. Para los discos zonales, usa la zona.
Go
Java
Node.js
Python
REST
Detén la replicación para todos los discos en un grupo de coherencia con uno de los siguientes métodos:
Detén la replicación de los discos zonales con el método
disks.stopGroupAsyncReplication:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/stopGroupAsyncReplication { "resourcePolicy": "CONSISTENCY_GROUP" }Detén la replicación de discos regionales con el método
regionDisks.stopGroupAsyncReplication:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/regionDisks/DISK_NAME/stopAsyncReplication { "resourcePolicy": "CONSISTENCY_GROUP" }
Reemplaza lo siguiente:
DISK_NAME: Es el nombre del discoLOCATION: la zona o la región del disco. Para los discos zonales, usa la zona. Para los discos regionales, usa la región.CONSISTENCY_GROUP: la URL del grupo de coherencia. Por ejemplo,projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
¿Qué sigue?
- Aprende cómo conmutar por error y por recuperación.
- Obtén información para supervisar el rendimiento de la replicación asíncrona.