Puntos finales regionales y globales
En esta página se describen los endpoints de Bigtable, se explica qué debes tener en cuenta antes de usarlos y se muestra cómo definir un endpoint con la CLI de cbt.
Para enviar solicitudes a Bigtable, puedes usar un endpoint de servicio global o regional. Los endpoints regionales de Bigtable aseguran que los datos de una instancia se almacenen y procesen en la región de Bigtable en la que residen. Puede que tengas que usar endpoints regionales de Bigtable en una región geográfica concreta para cumplir los requisitos de seguridad y cumplimiento de tu proyecto.
Antes de leer este documento, familiarízate con los conceptos de instancias, clústeres y nodos y perfiles de aplicación.
Entre los conceptos clave se incluyen los siguientes:
Endpoint de servicio: una URL base que especifica la dirección de red de un servicio de API. Bigtable tiene endpoints globales y regionales.
Endpoint global: permite que Bigtable almacene y enrute los datos de una instancia de Bigtable a cualquier región que contenga uno de los clústeres de la instancia. El endpoint global de la API de Cloud Bigtable (API Data) es
bigtable.googleapis.com. El endpoint predeterminado de la API Data accede al endpoint global.Endpoint regional: aplica restricciones regionales, lo que asegura que Bigtable almacene y procese los datos en una región específica. Solo puedes usar endpoints regionales con la API Cloud Bigtable (API Data). Bigtable no admite endpoints regionales para la API Cloud Bigtable Admin.
Cuándo usar puntos finales regionales
La ventaja de usar un endpoint regional de Bigtable en lugar de un endpoint global es que el endpoint regional proporciona aislamiento y protección regionales para cumplir los requisitos de seguridad, cumplimiento y normativos.
Sin embargo, los endpoints regionales no admiten Data Boost ni la API Admin de Cloud Bigtable. Además, no puedes configurar Bigtable para conseguir un porcentaje de tiempo de actividad mensual igual o superior al 99,999% cuando usas endpoints regionales. Para obtener más información, consulta la sección Consideraciones para usar un endpoint regional de este documento.
Cuándo usar endpoints globales
Usa un endpoint global en los siguientes casos:
- No tienes requisitos de restricción regional que te obliguen a usar un endpoint regional.
- Debes usar Impulso de datos.
- Debes usar la API Admin de Cloud Bigtable.
- Debes tener un porcentaje de tiempo de actividad mensual de al menos el 99,999%.
Consideraciones para usar un endpoint regional
Si usas un endpoint regional, ten en cuenta los siguientes factores:
Ubicaciones del clúster
Para poder usar un endpoint regional, debes crear una instancia con al menos un clúster en la región en la que quieras aislar tus datos. Los endpoints regionales de Bigtable están disponibles en determinadas regiones de Bigtable. Para ver una lista de las regiones disponibles, consulta Puntos finales de servicio regionales.
Solo puedes usar un endpoint regional que pertenezca a la región en la que quieras aislar tus datos. Por ejemplo, si un clúster está en la región us-central1, no puedes usar bigtable.us-west1.rep.googleapis.com para servir solicitudes.
Si intentas usar un endpoint regional para acceder a un clúster que se encuentra en otra región, Bigtable rechazará la solicitud con un mensaje de error FAILED_PRECONDITION que indica que no se puede acceder a ningún clúster con el clúster y el endpoint especificados. Para obtener más información sobre este mensaje de error, consulta Códigos de estado de Bigtable.
Perfiles de aplicaciones
Después de definir un endpoint regional, debe usar un perfil de aplicación que esté configurado para enrutar las solicitudes a un clúster de la región del endpoint.
Si intentas usar un perfil de aplicación configurado para enviar escrituras solo a un clúster (mediante el enrutamiento de un solo clúster) o a clústeres de una región diferente a la del endpoint (mediante el enrutamiento de varios clústeres), recibirás el mensaje de error FAILED_PRECONDITION. Para obtener más información sobre el enrutamiento de clústeres, consulta la política de enrutamiento.
Si usas un perfil de aplicación configurado para dirigir las solicitudes a cualquier clúster de una instancia para ofrecer alta disponibilidad y también usas un endpoint regional, este endpoint se asegura de que todas las solicitudes se dirijan solo a los clústeres de su región, aunque la instancia tenga clústeres en otras regiones. La conmutación por error automática está limitada, por lo que las solicitudes solo se atienden desde clústeres de la región del endpoint.
Supongamos que envías solicitudes mediante un perfil de aplicación configurado para el enrutamiento a varios clústeres a una instancia que tiene clústeres en us-west1-a (Oregón), us-west1-b (Oregón) y us-central1-a (Iowa). Si envías estas solicitudes al endpoint regional bigtable.us-central1.rep.googleapis.com, us-central1-a atenderá todas las solicitudes, aunque no vuelvas a configurar el perfil de la aplicación. Las solicitudes que no puede atender us-central1-a
fallan.
Replicación
Los endpoints regionales no afectan ni impiden la replicación. Si configura un endpoint regional en la región A y, a continuación, añade un clúster a su instancia en la región B, sus datos se replicarán en la región B como si hubiera usado el endpoint global.
Para evitar que los datos se repliquen en otra región, crea clústeres solo en la región de destino.
Para evitar que los usuarios de tu organización añadan clústeres fuera de la región del endpoint, puedes definir una política de organización que use restricciones de ubicación.
Disponibilidad
Si usas endpoints regionales, no puedes configurar Bigtable para conseguir un porcentaje de tiempo de actividad mensual igual o superior al 99,999%. Para conseguir un tiempo de actividad mensual igual o superior al 99,999 %, es necesario que se produzca una conmutación por error automática de las solicitudes entre regiones. Un endpoint regional impide la conmutación por error automática porque limita todas las solicitudes a una sola región. Para obtener más información sobre los porcentajes de tiempo de actividad mensuales, consulta el acuerdo de nivel de servicio de Bigtable.
Semántica de los endpoints regionales
Un endpoint regional sigue el formato
bigtable.REGION.rep.googleapis.com, donde
REGION es un nombre de región, como
northamerica-northeast2. Google Cloud
Por ejemplo, si quieres aislar tus datos en la región de Iowa, cuyo nombre es us-central1, la URL del endpoint regional de Iowa es bigtable.us-central1.rep.googleapis.com.
Especificar un endpoint regional
Puedes especificar un endpoint regional de Bigtable mediante la CLI de cbt o las bibliotecas de cliente de Cloud Bigtable.
cbt
Para especificar un endpoint regional y anular el endpoint global mediante la CLI de cbt, puedes usar la opción --data-endpoint en tu solicitud o añadir lo siguiente a tu archivo ~/.cbtrc. Para obtener más información sobre cómo crear un archivo ~/.cbtrc, consulta la referencia de la CLI de cbt.
data-endpoint = https://bigtable.REGION.rep.googleapis.com/
Sustituye REGION por la región en la que quieras definir un endpoint regional, como us-central1 o europe-west1.
Por ejemplo, para configurar el endpoint regional como us-central1, añada lo siguiente al archivo ~/.cbtrc:
data-endpoint = https://bigtable.us-central1.rep.googleapis.com/
Especificar el endpoint global
cbt
Para especificar el punto de envío global, envíe su solicitud sin usar la opción --data-endpoint. Si has añadido una línea data-endpoint a tu archivo ~/.cbtrc, elimínala.
Restringir el uso de endpoints de API globales
Para ayudar a aplicar el uso de endpoints regionales, usa la restricción de la política de organización constraints/gcp.restrictEndpointUsage para bloquear las solicitudes al endpoint de la API global. Para obtener más información, consulta Restringir el uso de endpoints.
Siguientes pasos
- Revisa el control de acceso con la gestión de identidades y accesos.
- Consulta cómo crear y gestionar etiquetas.