

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Uso de Amazon Neptune con una base de datos global
<a name="neptune-global-database"></a><a name="gdb"></a><a name="globaldb"></a><a name="global_database"></a>

Una base de datos global de Amazon Neptune abarca varias áreas Regiones de AWS, lo que permite lecturas globales de baja latencia y proporciona una recuperación rápida en el raro caso de que una interrupción afecte a una totalidad. Región de AWS

Una base de datos global de Neptune tiene un clúster de base de datos principal en una región y hasta cinco clústeres de base de datos secundarios en diferentes regiones.

Las escrituras solo se pueden realizar en la región principal. Las regiones secundarias solo admiten lecturas. Cada región secundaria puede tener hasta 16 instancias de lector.

## Bases de datos globales de Amazon Neptune
<a name="neptune-gdb-overview"></a>

Mediante una base de datos global de Neptune, puede ejecutar sus aplicaciones distribuidas globalmente con una única base de datos que abarque varias Regiones de AWS.

Una base de datos global de Neptune tiene un clúster de base de datos en una Región de AWS principal en la que se pueden escribir datos y hasta cinco clústeres de base de datos de solo lectura en Regiones de AWS secundarias. Cuando realiza una operación de escritura en el clúster de base de datos principal, Neptune replica los datos escritos en todos los clústeres de base de datos secundarios con una infraestructura dedicada y con una latencia que suele ser inferior a un segundo.

El siguiente diagrama muestra un ejemplo de base de datos global que abarca dos: Regiones de AWS

![\[Una base de datos global de Neptune tiene un clúster de base de datos principal y uno o varios clústeres de base de datos secundarios.\]](http://docs.aws.amazon.com/es_es/neptune/latest/userguide/images/neptune-gdb-example.png)


Puede escalar cada clúster secundario de forma independiente para gestionar cargas de trabajo de solo lectura. Para ello, añada una o varias instancias de réplica de lectura.

Para realizar operaciones de escritura, debe conectar el punto de conexión del clúster de base de datos del clúster de base de datos principal. Solo el clúster principal realiza operaciones de escritura. A continuación, tal y como se muestra en el diagrama anterior, la replicación la realiza el [volumen de almacenamiento del clúster](feature-overview-storage.md), no el motor de la base de datos.

Las bases de datos globales de Neptune están diseñadas para aplicaciones con una huella mundial. Los clústeres de base de datos secundarios de solo lectura admiten operaciones de lectura más cercanas a los usuarios de la aplicación.

Una base de datos global de Neptune admite dos enfoques diferentes para la conmutación por error:
+ Para recuperarse de una interrupción en la región principal, utilice el detach-and-promote proceso [manual no planificado](neptune-gdb-disaster-recovery.md#neptune-gdb-detach-and-promote), en el que se separa uno de los clústeres secundarios, se convierte en un clúster independiente y, a continuación, se convierte en el nuevo clúster principal.
+ Para los procedimientos operativos planificados, como el mantenimiento, utilice la [conmutación por error planificada administrada](neptune-gdb-disaster-recovery.md#neptune-gdb-managed-failover), donde reubica el clúster principal en una de sus regiones secundarias sin que se pierdan los datos.

## Ventajas de usar bases de datos globales de Amazon Neptune
<a name="neptune-gdb-advantages"></a>

Mediante el uso de una base de datos global, puede obtener las siguientes ventajas:
+ **Lecturas globales con latencia local**: si tiene oficinas en todo el mundo, una base de datos global le permite a las oficinas de regiones secundarias acceder a los datos de su propia región con latencia local.
+ **Clústeres de bases de datos de Neptune secundarios y escalables**: añada instancias de base de datos de réplica de lectura para escalar clústeres secundarios. Dado que los clústeres secundarios son de solo lectura, cada uno puede admitir hasta 16 réplicas de lectura en lugar del límite habitual de 15.
+ **Replicación rápida en clústeres de base de datos secundarios**: la replicación de clústeres de base de datos principales a secundarios es rápida, con una latencia que suele ser inferior a un segundo y con poco impacto en el rendimiento del clúster de base de datos principal. Dado que la replicación se realiza en el nivel de almacenamiento, los recursos de la instancia de base de datos están totalmente disponibles para las cargas de trabajo de lectura y escritura de las aplicaciones.
+ **Recuperación de interrupciones en toda la región**: los clústeres de bases de datos secundarios le permiten trasladar el clúster principal a una nueva región de forma más rápida con menor RTO y menos pérdida de datos (menor RPO) que las soluciones de replicación tradicionales.

## Limitaciones de las bases de datos globales de Amazon Neptune
<a name="neptune-gdb-limitations"></a>

Las limitaciones siguientes se aplican actualmente a las bases de datos globales de :
+ Las bases de datos globales de Neptune están disponibles en las siguientes Regiones de AWS:
  + Este de EE. UU. (Norte de Virginia): `us-east-1`
  + Este de EE. UU. (Ohio): `us-east-2`
  + Oeste de EE. UU. (Norte de California): `us-west-1`
  + Oeste de EE. UU. (Oregón): `us-west-2`
  + Canadá oeste (Calgary): `ca-west-1`
  + Europa (España): `eu-south-2`
  + Europa (Irlanda): `eu-west-1`
  + Europa (Londres): `eu-west-2`
  + Europa (Fráncfort): `eu-central-1`
  + Asia-Pacífico (Tokio): `ap-northeast-1`
  + Asia-Pacífico (Osaka): `ap-northeast-3`
  + Asia-Pacífico (Singapur): `ap-southeast-1`
  + Asia-Pacífico (Yakarta): `ap-southeast-3`
  + Asia Pacífico (Melbourne): `ap-southeast-4`
  + Asia Pacífico (Malasia): `ap-southeast-5`
  + Israel (Tel Aviv):   `il-central-1`
+  Las bases de datos globales de Neptune no admiten ningún tipo de instancia `db.t3.medium` o `db.t4g.medium`. 
+ Las bases de datos globales de Neptune actualmente no admiten el escalado automático para clústeres de bases de datos secundarios.
+ No puede aplicar un grupo de parámetros personalizado al clúster de base de datos global mientras realiza una actualización importante de la versión de esa base de datos global. En su lugar, cree grupos de parámetros personalizados en cada región del clúster global y luego aplíquelos manualmente a los clústeres regionales después de la actualización.
+ No puede detener ni iniciar de forma individual los clústeres de base de datos en una base de datos global.
+ Las instancias de réplica de lectura de un clúster de base de datos secundario pueden reiniciarse en determinadas circunstancias, incluidas las actualizaciones planificadas durante el periodo de mantenimiento. Si la instancia de escritor del clúster principal se reinicia o se conmuta por error, también se reiniciarán todas las instancias de las regiones secundarias. El clúster secundario no estará disponible hasta que todas las instancias vuelvan a estar sincronizadas con la instancia de escritor del clúster de base de datos principal.

# Configuración de una base de datos global de Amazon Neptune
<a name="neptune-gdb-setup"></a>

Puede crear una base de datos global de Neptune de una de las siguientes maneras:
+ [Cree una base de datos global con todos los clústeres e instancias de bases de datos nuevos](#neptune-gdb-creating-cli).
+ [Cree una base de datos global con un clúster de base de datos de Neptune existente como clúster principal](#neptune-gdb-add-existing).

**Topics**
+ [Requisitos de configuración para una base de datos global de Amazon Neptune](#neptune-gdb-setup-config)
+ [Uso del AWS CLI para crear una base de datos global en Amazon Neptune](#neptune-gdb-creating-cli)
+ [Convertir un clúster de base de datos existente en una base de datos global](#neptune-gdb-add-existing)
+ [Añadir regiones de bases de datos globales secundarias a una región principal en Amazon Neptune](#neptune-gdb-attaching)
+ [Conexión a una base de datos global de Neptune](#neptune-gdb-connect)

## Requisitos de configuración para una base de datos global de Amazon Neptune
<a name="neptune-gdb-setup-config"></a>

Una base de datos global de Neptune abarca al menos dos. Regiones de AWS La Región de AWS principal cuenta con un clúster de base de datos de Neptune que tiene una instancia de escritor. De una a cinco Regiones de AWS secundarias; cada una cuenta con un clúster de base de datos de Neptune de solo lectura compuesto por instancias de réplica de lectura. Región de AWS Se requiere al menos una secundaria.

Los clústeres de base de datos de Neptune que componen una base de datos global tienen los siguientes requisitos específicos:
+ **Requisitos de clase de instancia de base de datos**: una base de datos global requiere clases de instancia de base de datos `r5` o `r6g` optimizadas para cargas de trabajo con uso intensivo de memoria, como, por ejemplo, un tipo de instancia `db.r5.large`.
+ **Región de AWS requisitos**: una base de datos global necesita un clúster de base de datos de Neptune principal en una región Región de AWS y al menos un clúster de base de datos de Neptune secundario en una región diferente. Puede crear hasta cinco clústeres de base de datos de Neptune secundarios (de solo lectura) y cada uno debe estar en una región diferente. Es decir, no hay dos clústeres de base de datos de Neptune en una base de datos global de Neptune en la misma Región de AWS.
+ **Requisitos de la versión del motor**: la versión del motor de Neptune utilizada por todos los clústeres de base de datos de la base de datos global debe ser la misma y debe ser `1.2.0.0` o posterior. Si no especifica la versión del motor al crear una nueva base de datos global, clúster o instancia, se utilizará la versión del motor más reciente.

**importante**  
Si bien los grupos de parámetros del clúster de base de datos se pueden configurar de forma independiente para cada clúster de base de datos de una base de datos global, se recomienda mantener la misma configuración en todos los clústeres para evitar cambios de comportamiento inesperados en caso de que un clúster secundario se convierta en principal. Por ejemplo, utilice la misma configuración de índices de objetos, transmisiones, etc. en todos los clústeres de base de datos.

## Uso del AWS CLI para crear una base de datos global en Amazon Neptune
<a name="neptune-gdb-creating-cli"></a>

**nota**  
Los ejemplos de esta sección siguen la convención de UNIX de utilizar una barra diagonal inversa (`\`) como carácter de extensión de línea. En Windows, sustituya la barra diagonal inversa por un signo de intercalación (`^`).

**Para crear una base de datos global mediante el AWS CLI**

1. Comience por crear una base de datos global vacía mediante el `[create-global-cluster](https://docs.aws.amazon.com/cli/latest/reference/neptune/create-global-cluster.html)` AWS CLI comando (que contiene la [CreateGlobalCluster](api-global-dbs.md#CreateGlobalCluster) API). Especifique el nombre de la Región de AWS que desee que sea principal, establezca Neptune como motor de base de datos y, si lo desea, especifique la versión del motor que desee utilizar (debe ser la versión 1.2.0.0 o posterior):

   ```
   aws neptune create-global-cluster
     --region (primary region, such as us-east-1) \
     --global-cluster-identifier (ID for the global database) \
     --engine neptune \
     --engine-version (engine version; this is optional)
   ```

1. La base de datos global puede tardar unos minutos en estar disponible, así que antes de continuar con el siguiente paso, utilice el comando `[describe-global-clusters](https://docs.aws.amazon.com/cli/latest/reference/neptune/describe-global-clusters.html)` de la CLI (que incluye la API de [DescribeGlobalClusters](api-global-dbs.md#DescribeGlobalClusters)) para comprobar que la base de datos global esté disponible:

   ```
   aws neptune describe-global-clusters \
     --region (primary region) \
     --global-cluster-identifier (global database ID)
   ```

1. Cuando la base de datos global de Neptune esté disponible, puede crear un nuevo clúster de base de datos de Neptune para que sea el clúster principal:

   ```
   aws neptune create-db-cluster \
     --region (primary region) \
     --db-cluster-identifier (ID for the primary DB cluster) \
     --engine neptune \
     --engine-version (engine version; must be >= 1.2.0.0) \
     --global-cluster-identifier (global database ID)
   ```

1. Utilice el `[describe-db-clusters](https://docs.aws.amazon.com/cli/latest/reference/neptune/describe-db-clusters.html)` AWS CLI comando para confirmar que el nuevo clúster de base de datos está listo para añadir su instancia de base de datos principal:

   ```
   aws neptune describe-db-clusters \
     --region (primary region) \
     --db-cluster-identifier (primary DB cluster ID)
   ```

   Cuando la respuesta indique `"Status": "available"`, continúe con el siguiente paso.

1. Cree la instancia de base de datos principal para el clúster principal mediante el `[create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/neptune/create-db-instance.html)` AWS CLI comando. Debe usar uno de los tipos de instancia `r5` o `r6g` optimizados para la memoria, como, por ejemplo, `db.r5.large`.

   ```
   aws neptune create-db-instance \
     --region (primary region) \
     --db-cluster-identifier (primary cluster ID) \
     --db-instance-class (instance class) \
     --db-instance-identifier (ID for the DB instance) \
     --engine neptune \
     --engine-version (optional: engine version)
   ```

**nota**  
Si tiene previsto añadir datos al nuevo clúster de base de datos principal mediante el programa de carga masiva Neptune, hágalo *antes* de añadir regiones secundarias. Este proceso es más rápido y rentable que realizar una carga masiva una vez que la base de datos global esté completamente configurada.

Ahora añada una o varias regiones secundarias a la nueva base de datos global, tal y como se describe en [Agregar una región secundaria mediante el AWS CLI](#neptune-gdb-attach-cli).

## Convertir un clúster de base de datos existente en una base de datos global
<a name="neptune-gdb-add-existing"></a>

Para convertir un clúster de base de datos existente en una base de datos global, utilice el `[create-global-cluster](https://docs.aws.amazon.com/cli/latest/reference/neptune/create-global-cluster.html)` AWS CLI comando para crear una nueva base de datos global en la Región de AWS misma ubicación en la que se encuentra el clúster de base de datos existente y establezca su `--source-db-cluster-identifier` parámetro en el nombre de recurso de Amazon (ARN) del clúster existente ubicado allí:

```
aws neptune create-global-cluster \
  --region (region where the existing cluster is located) \
  --global-cluster-identifier (provide an ID for the new global database) \
  --source-db-cluster-identifier (the ARN of the existing DB cluster) \
  --engine neptune \
  --engine-version (engine version; this is optional)
```

Ahora añada una o varias regiones secundarias a la nueva base de datos global, tal y como se describe en [Agregar una región secundaria mediante el AWS CLI](#neptune-gdb-attach-cli).

### Uso de un clúster de base de datos restaurado a partir de una instantánea como clúster principal
<a name="neptune-gdb-use-snapshot"></a>

Puede convertir un clúster de base de datos restaurado a partir de una instantánea en una base de datos global de Neptune. Una vez finalizada la restauración, convierta el clúster de base de datos que ha creado en el clúster principal de una nueva base de datos global, tal y como se ha descrito anteriormente.

## Añadir regiones de bases de datos globales secundarias a una región principal en Amazon Neptune
<a name="neptune-gdb-attaching"></a>

Una base de datos global de Neptuno necesita al menos un clúster de base de datos de Neptuno secundario en un clúster de base de datos Región de AWS diferente al principal. Puede adjuntar hasta cinco clústeres de base de datos secundarios al clúster de base de datos principal.

Cada clúster de base de datos secundario que añada reduce en uno el número máximo de instancias de réplica de lectura que puede tener en el clúster principal. Por ejemplo, si hay cuatro clústeres secundarios, el número máximo de instancias de réplica de lectura que puede tener en el clúster principal es `15 - 4 = 11`. Esto significa que si tiene 14 instancias de lector en el clúster de base de datos principal y un clúster secundario, no podrá añadir otro clúster secundario.

### Uso de AWS CLI para añadir una región secundaria a una base de datos global en Neptune
<a name="neptune-gdb-attach-cli"></a>

**Para añadir un secundario Región de AWS a una base de datos global de Neptune mediante el AWS CLI**

1. Utilice el `[create-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/neptune/create-db-cluster.html)` AWS CLI comando para crear un nuevo clúster de base de datos en una región diferente a la del clúster principal y establezca su `--global-cluster-identifier` parámetro para especificar el ID de la base de datos global:

   ```
   aws neptune create-db-cluster \
     --region (the secondary region) \
     --db-cluster-identifier (ID for the new secondary DB cluster) \
     --global-cluster-identifier (global database ID)
     --engine neptune \
     --engine-version (optional: engine version)
   ```

1. Utilice el `[describe-db-clusters](https://docs.aws.amazon.com/cli/latest/reference/neptune/describe-db-clusters.html)` AWS CLI comando para confirmar que el nuevo clúster de base de datos está listo para añadir su instancia de base de datos principal:

   ```
   aws neptune describe-db-clusters \
     --region (primary region) \
     --db-cluster-identifier (primary DB cluster ID)
   ```

   Cuando la respuesta indique `"Status": "available"`, continúe con el siguiente paso.

1. Cree la instancia de base de datos principal para el clúster principal mediante el `[create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/neptune/create-db-instance.html)` AWS CLI comando, utilizando un tipo de instancia de la clase de `r6g` instancia `r5` o:

   ```
   aws neptune create-db-instance \
     --region (secondary region) \
     --db-cluster-identifier (secondary cluster ID) \
     --db-instance-class (instance class) \
     --db-instance-identifier (ID for the DB instance) \
     --engine neptune \
     --engine-version (optional: engine version)
   ```

**nota**  
Si no tiene previsto atender a un gran número de solicitudes de lectura en la región secundaria, y lo que más le preocupa es mantener copias de seguridad de sus datos de forma fiable en esa región, puede crear un clúster de base de datos secundario con instancias sin bases de datos. Esto le permite ahorrar dinero, ya que entonces solo paga por el almacenamiento del clúster secundario, que Neptune mantendrá sincronizado con el almacenamiento del clúster de base de datos principal.

## Conexión a una base de datos global de Neptune
<a name="neptune-gdb-connect"></a>

La forma en que se conecta a una base de datos global de Neptune depende de si necesita escribir en ella o leer de ella:
+ Para solicitudes o consultas de solo lectura, conéctese al punto de conexión del lector del clúster de Neptune en su Región de AWS.
+ Para ejecutar consultas de mutación, conéctese al punto final del clúster del clúster de base de datos principal, que puede estar en un Región de AWS lugar diferente al de su aplicación.

# Administración de una base de datos Amazon Neptune Global Database
<a name="neptune-gdb-managing"></a>

A excepción del proceso de conmutación por error planificada administrada, realiza la mayor parte de las operaciones de administración en los clústeres individuales que componen una base de datos global de Neptune. El proceso de conmutación por error planificada administrada solo está disponible para bases de datos globales de Neptune, no para clústeres de base de datos individuales de Neptune. Para obtener más información, consulte [Ejecución de la conmutación por error planificada administrada para bases de datos globales de Neptune](neptune-gdb-disaster-recovery.md#neptune-gdb-managed-failover).

Para recuperar una base de datos global de Neptune de una interrupción no planificada en la región principal, consulte [Detach-and-promote una base de datos global de Neptune en caso de una interrupción imprevista](neptune-gdb-disaster-recovery.md#neptune-gdb-detach-and-promote).

Si bien puede configurar los grupos de parámetros del clúster de base de datos de forma independiente para cada clúster de Neptune de una base de datos global, se recomienda mantener la misma configuración en todos los clústeres para evitar cambios de comportamiento inesperados en caso de que un clúster secundario se convierta en principal. Por ejemplo, utilice la misma configuración de índices de objetos, transmisiones, etc. en todos los clústeres de base de datos.

# Eliminación de un clúster de una base de datos global de Neptune
<a name="neptune-gdb-detaching"></a>

Hay varios motivos por los que desee eliminar un clúster de base de datos de una base de datos global. Por ejemplo:
+ Si el clúster principal se degrada o se aísla, puede eliminarlo de la base de datos global, y se convierte en un clúster aprovisionado independiente que se puede utilizar para crear una nueva base de datos global (consulte [Detach-and-promote una base de datos global de Neptune en caso de una interrupción imprevista](neptune-gdb-disaster-recovery.md#neptune-gdb-detach-and-promote)).
+ Si desea eliminar una base de datos global, primero tiene que eliminar (desconectar) todos los clústeres asociados y dejar el principal para lo último (consulte [Eliminación de una base de datos global de Neptune](neptune-gdb-deleting.md)).

Puede usar el comando [remove-from-global-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/remove-from-global-cluster.html)CLI (que incluye la [RemoveFromGlobalCluster](api-global-dbs.md#RemoveFromGlobalCluster) API) para separar un clúster de base de datos Neptune de una base de datos global:

```
aws neptune remove-from-global-cluster \
  --region (region of the cluster to remove) \
  --global-cluster-identifier (global database ID) \
  --db-cluster-identifier (ARN of the cluster to remove)
```

El clúster de base de datos desconectado se convierte en un clúster de base de datos independiente.

# Eliminación de una base de datos global de Neptune
<a name="neptune-gdb-deleting"></a>

No puede eliminar una base de datos global y los clústeres asociados en un único paso. Por tanto, debe eliminar sus componentes uno por uno:

1. Desconecte todos los clústeres de base de datos secundarios de la base de datos global, tal y como se describe en [Eliminación de un clúster](neptune-gdb-detaching.md). Si lo desea, ya puede eliminarlos de forma individual.

1. Elimine el clúster de base de datos principal de la base de datos global.

1. Elimine todas las instancias de base de datos de réplica de lectura del clúster principal.

1. Elimine la instancia de base de datos principal (escritor) del clúster principal. Si lo hace en la consola, también se eliminará el clúster de base de datos.

1. Elimine la base de datos global. Para ello AWS CLI, utilice el comando [delete-global-cluster](https://docs.aws.amazon.com/cli/latest/reference/neptune/delete-global-cluster.html)CLI (que agrupa la [DeleteGlobalCluster](api-global-dbs.md#DeleteGlobalCluster) API), de la siguiente manera:

   ```
   aws neptune delete-global-cluster \
     --region (region of the DB cluster to delete) \
     --global-cluster-identifier (global database ID)
   ```

# Modificación de una base de datos global de Neptune
<a name="neptune-gdb-modifying"></a>

Los grupos de parámetros del clúster de base de datos se pueden configurar de forma independiente para cada clúster de base de datos de Neptune de una base de datos global, pero se recomienda mantener la misma configuración en todos los clústeres para evitar cambios de comportamiento inesperados en caso de que un clúster secundario se convierta en principal.

Puede modificar la configuración de la propia base de datos global mediante el comando [modify-global-cluster](https://docs.aws.amazon.com/cli/latest/reference/neptune/modify-global-cluster.html)CLI (que agrupa la [ModifyGlobalCluster](api-global-dbs.md#ModifyGlobalCluster) API). Por ejemplo, puede cambiar el identificador de la base de datos global y, al mismo tiempo, desactivar la protección contra la eliminación de la siguiente manera:

```
aws neptune modify-global-cluster \
  --region (region of the DB cluster to modify) \
  --global-cluster-identifier (current global database ID) \
  --new-global-cluster-identifier (new global database ID to assign) \
  --no-deletion-protection
```

# Realización de la recuperación ante desastres de Amazon Neptune
<a name="neptune-gdb-disaster-recovery"></a>

Una base de datos global de Neptune proporciona capacidades de conmutación por error más completas que un clúster de base de datos de Neptune independiente. Al utilizar una base de datos global, puede planificar y recuperarse de desastres con bastante rapidez. Por lo general, la recuperación de desastres se valora mediante la evaluación del objetivo de tiempo de recuperación (RTO) y el objetivo de punto de recuperación (RPO):
+ **Objetivo de tiempo de recuperación (RTO)**: la rapidez con la que un sistema vuelve a un estado operativo después de un desastre. En otras palabras, el RTO mide el tiempo de inactividad. Para una base de datos global de Neptune, el RTO puede estar en el orden de minutos.
+ **Objetivo de punto de recuperación (RPO)**: cantidad de tiempo durante la cual se pierden los datos. Para una base de datos global de Neptune, el RPO se mide normalmente en segundos (consulte [Ejecución de la conmutación por error planificada administrada para bases de datos globales de Neptune](#neptune-gdb-managed-failover)).

Para una base de datos global de Neptune, hay dos enfoques diferentes para la conmutación por error:
+ **Detach-and-promote (recuperación manual no planificada)**: para recuperarse de una interrupción imprevista o para realizar pruebas de recuperación ante desastres (pruebas de DR), realice una operación interregional detach-and-promote en uno de los clústeres de bases de datos secundarios de la base de datos global. El RTO para este proceso manual depende de la rapidez con la que pueda realizar las tareas enumeradas en [Desconexión y promoción](#neptune-gdb-detach-and-promote). Por lo general, el RPO es un número en segundos, pero esto depende del retraso de replicación del almacenamiento en la red en el momento en el que se produce el error.
+ **Conmutación por error planificada administrada**: este enfoque está diseñado para el mantenimiento operativo y otros procedimientos operativos planificados, como la reubicación del clúster de base de datos principal de la base de datos global en una de las regiones secundarias. Dado que este proceso sincroniza los clústeres secundarios de base de datos con el principal antes de realizar cualquier otro cambio, el RPO es efectivamente 0 (es decir, sin pérdida de datos). Consulte [Ejecución de la conmutación por error planificada administrada para bases de datos globales de Neptune](#neptune-gdb-managed-failover).

## Detach-and-promote una base de datos global de Neptune en caso de una interrupción imprevista
<a name="neptune-gdb-detach-and-promote"></a>

En la muy poco frecuente situación en la que la base de datos global de Neptuno sufre una interrupción inesperada en su nodo principal Región de AWS, el clúster de base de datos Neptune principal y su nodo de escritura dejan de estar disponibles y la replicación entre el clúster principal y los secundarios cesa. Para minimizar tanto el tiempo de inactividad (RTO) como la pérdida de datos (RPO) resultantes, realice rápidamente una operación interregional para reconstruir la base de datos global. detach-and-promote

**sugerencia**  
Es buena idea entender este proceso antes de usarlo y tener un plan para proceder rápidamente ante el primer indicio de que se produzca un problema en toda la región.  
Utiliza Amazon CloudWatch con regularidad para realizar un seguimiento de los tiempos de retraso de los clústeres secundarios, de modo que puedas identificar la región secundaria con el menor tiempo de retraso en caso de que necesites realizar una conmutación por error.
Asegúrese de probar el plan para verificar que sus procedimientos sean completos y precisos.
Utilice un entorno simulado para asegurarse de que el personal esté capacitado y preparado para realizar una conmutación por error de recuperación de desastres rápidamente en caso de que sea necesaria.

**Para conmutar por error a un clúster secundario después de una interrupción no planificada en la región principal**

1. Deje de realizar consultas de mutación y otras operaciones de escritura en el clúster de base de datos principal.

1. Identifique un clúster de base de datos en un clúster secundario Región de AWS para usarlo como el nuevo clúster de base de datos principal de la base de datos global. Si la base de datos global tiene dos o varias Regiones de AWS secundarias, elija el clúster secundario que tenga el menor tiempo de retraso.

1. Desconecte el clúster de base de datos secundario que haya elegido de la base de datos global de Neptune.

   Al eliminar un clúster de base de datos secundario de una base de datos global de Neptune, se detiene inmediatamente la replicación de los datos de la base de datos principal a la secundaria y la convierte en un clúster de base de datos independiente con todas las capacidades. read/write El resto de clústeres secundarios de la base de datos global seguirán estando disponibles y podrán aceptar llamadas de lectura de la aplicación.

   Antes de volver a crear la base de datos global de Neptune, también tendrá que desconectar los demás clústeres secundarios para evitar incoherencias de datos entre los clústeres (consulte [Eliminación de un clúster](neptune-gdb-detaching.md)).

1. Vuelva a configurar la aplicación para enviar todas las operaciones de escritura al clúster de base de datos de Neptune independiente que ha elegido para convertirse en el nuevo clúster principal con su nuevo punto de conexión. Si ha aceptado los nombres predeterminados al crear la base de datos global de Neptune, puede cambiar el punto de conexión. Para ello, elimine `-ro` de la cadena del punto de conexión del clúster en la aplicación.

   Por ejemplo, el punto de conexión del clúster secundario `my-global.cluster-ro-aaaaaabbbbbb.us-west-1.neptune.amazonaws.com` se convierte en `my-global.cluster-aaaaaabbbbbb.us-west-1.neptune.amazonaws.com` cuando ese clúster se desconecta de la base de datos global.

   Este clúster de base de datos de Neptune se convierte en el clúster principal de una nueva base de datos global de Neptune cuando, en el siguiente paso, comienza a añadirle regiones.

1. Agregue un Región de AWS al clúster de base de datos. Al hacerlo, comienza el proceso de reproducción de clúster principal a secundario. Consulte [Añadir regiones de bases de datos globales secundarias a una región principal en Amazon Neptune](neptune-gdb-setup.md#neptune-gdb-attaching). 

1. Agregue más Regiones de AWS según sea necesario para recrear la topología necesaria para respaldar su aplicación.

Asegúrese de que las escrituras de la aplicación se envíen al clúster de base de datos de Neptune correcto antes, durante y después de realizar estos cambios. De este modo, se evitan incoherencias con respecto a los datos entre los clústeres de la base de datos global de Neptune (problemas del tipo cerebro dividido).

## Ejecución de la conmutación por error planificada administrada para bases de datos globales de Neptune
<a name="neptune-gdb-managed-failover"></a>

La conmutación por error planificada gestionada le permite reubicar el clúster principal de su base de datos global de Neptune en un lugar diferente Región de AWS cuando lo desee. Algunas organizaciones querrán rotar periódicamente las ubicaciones de sus clústeres principales.

**nota**  
La conmutación por error planificada administrada está diseñada para utilizarse en una base de datos global de Neptune en buen estado. Para recuperarse de una interrupción no planificada o para realizar pruebas de recuperación de desastres (DR), siga el proceso de [desconectar y promover](#neptune-gdb-detach-and-promote).

Durante una conmutación por error planificada administrada, el clúster principal se conmuta por error a la región secundaria que elija mientras se mantiene la topología de replicación existente de la base de datos global. Antes de que comience el proceso de conmutación por error planificada administrada, la base de datos global sincroniza todos los clústeres secundarios con su clúster principal. Después de asegurarse de que todos los clústeres están sincronizados, comienza la conmutación por error administrada. El clúster de base de datos de la región principal se convierte en solo de lectura, y el clúster secundario elegido promueve una de sus instancias de solo lectura al estado de escritor completo, lo que permite que el clúster asuma el rol de clúster principal. Dado que todos los clústeres secundarios se sincronizaron con el principal al principio del proceso, el nuevo clúster principal continúa las operaciones para la base de datos global sin perder ningún dato. La base de datos no estará disponible durante un breve periodo, mientras los clústeres principales y secundarios seleccionados asumen nuevos roles.

Para optimizar la disponibilidad de las aplicaciones, realice la conmutación por error durante los horarios menos concurridos, en un momento en que las escrituras en el clúster principal de base de datos sean mínimas. Asimismo, siga estos pasos antes de iniciar la conmutación por error:
+ Desconecte las aplicaciones siempre que sea posible para reducir las escrituras en el clúster principal.
+ Compruebe los tiempos de retraso de todos los clústeres de base de datos secundarios de Neptune en la base de datos global y elija el secundario con el menor tiempo de retraso total para que se convierta en el principal. Usa Amazon CloudWatch para ver la `NeptuneGlobalDBProgressLag` métrica de todos los secundarios. Esta métrica le indica qué tan lejos (en milisegundos) está un clúster secundario con respecto al clúster principal de base de datos. Su valor es directamente proporcional al tiempo que tardará Neptune en completar la conmutación por error. Dicho de otro modo, cuanto mayor sea el valor de retraso, más extensa será la interrupción por conmutación por error, así que elija el clúster secundario con el menor retraso. Para obtener más información, consulte [Métricas de Neptune CloudWatch](cw-metrics.md).

Durante una conmutación por error planificada administrada, el clúster de base de datos secundario elegido se promueve a su nuevo rol de clúster principal, pero no hereda la configuración completa del clúster principal de base de datos. Una falta de coincidencia en la configuración puede provocar problemas de rendimiento, incompatibilidades de carga de trabajo y otros comportamientos anómalos. Para evitar estos problemas, solucione los siguientes tipos de diferencias de configuración entre los clústeres de bases de datos globales antes de la conmutación por error:
+ **Configurar los parámetros del nuevo clúster principal para que coincidan con el principal actual**.
+ **Configurar alarmas, opciones y herramientas de monitorización**: configure el clúster de base de datos que será el nuevo clúster principal con la misma capacidad de registro, alarmas, etc. que tiene el principal actual.
+ **Configure las integraciones con otros AWS servicios**: si su base de datos global de Neptune se integra AWS con servicios AWS Identity and Access Management como (IAM), Amazon S3 AWS Lambda o, asegúrese de que estén configurados según sea necesario para integrarse con el nuevo clúster de base de datos principal.

Cuando finalice el proceso de conmutación por error y el clúster de base de datos promovido esté preparado para gestionar las operaciones de escritura en la base de datos global, asegúrese de cambiar las aplicaciones para que utilicen el nuevo punto de conexión del nuevo clúster principal.

### Utilizándolo AWS CLI para iniciar una conmutación por error planificada y gestionada
<a name="neptune-gdb-managed-failover-cli"></a>

Utilice el comando [failover-global-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/failover-global-cluster.html)CLI (que agrupa la [FailoverGlobalCluster](api-global-dbs.md#FailoverGlobalCluster) API) para realizar una conmutación por error de la base de datos global de Neptune:

```
aws neptune failover-global-cluster \
  --region (the region where the primary cluster is located) \
  --global-cluster-identifier (global database ID) \
  --target-db-cluster-identifier (the ARN of the secondary DB cluster to promote)
```

# Supervisión de una base de datos global de Amazon Neptune mediante métricas de CloudWatch
<a name="neptune-gdb-monitoring"></a>

Neptune admite las siguientes métricas de CloudWatch que puede utilizar para monitorizar una base de datos global de Neptune:
+ **`GlobalDbDataTransferBytes`**: el número de bytes de datos de registro redo transferidos de la Región de AWS principal a una Región de AWS secundaria en una base de datos global de Neptune.
+ **`GlobalDbReplicatedWriteIO`**: el número de operaciones de E/S de escritura replicadas desde la Región de AWS principal de la base de datos global hasta el volumen de clúster de una Región de AWS secundaria.

  Los cálculos de facturación de cada clúster de base de datos de una base de datos global de Neptune utilizan la métrica `VolumeWriteIOPS` para contabilizar las escrituras realizadas dentro del clúster. En el caso del clúster de base de datos principal, los cálculos de facturación utilizan `NeptuneGlobalDbReplicatedWriteIO` para contabilizar la replicación entre regiones en clústeres de bases de datos secundarios.
+ **`GlobalDbProgressLag`**: el número de milisegundos que un clúster secundario está por detrás del clúster principal tanto para las transacciones de usuario como para las del sistema.


| Métrica | Dimensión | Publicado en | Unidades | 
| --- | --- | --- | --- | 
| `GlobalDbDataTransferBytes` | SourceRegion, DBClusterIdentifier | Secondary | Bytes | 
| `GlobalDbReplicatedWriteIO` | SourceRegion, DBClusterIdentifier | Secondary | Recuento | 
| `GlobalDbProgressLag` | DBClusterIdentifier, SecondaryRegion: en Primary; DBClusterIdentifier, SourceRegion: en Secondary | Primary, Secondary | Milisegundos | 