Extremos de ubicación

En esta página, se describen los extremos de ubicación de Bigtable, se explica lo que debes tener en cuenta antes de usarlos y se muestra cómo configurar un extremo con Google Cloud CLI.

Puedes usar un extremo de servicio global o de ubicación para enviar solicitudes a Bigtable. Los extremos de ubicación de Bigtable garantizan que los datos de una instancia se almacenen y procesen en la región de Bigtable en la que residen. Es posible que debas usar extremos de ubicación para Bigtable en una región geográfica específica para satisfacer las necesidades de seguridad y cumplimiento de tu proyecto.

Antes de leer este documento, debes familiarizarte con los instancias, clústeres y nodos, y los perfiles de apps.

Entre los conceptos clave, se incluyen los siguientes:

  • Extremo de servicio: Un extremo de servicio es una URL base que especifica la dirección de red de un servicio de API. Bigtable tiene extremos globales y de ubicación.

  • Extremo global: Un extremo 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 extremo global de la API de Cloud Bigtable (API de datos) es bigtable.googleapis.com. El extremo predeterminado de la API de datos accede al extremo global.

  • Extremo de ubicación: Un extremo de ubicación aplica restricciones de ubicación para garantizar que los datos se almacenen y procesen en una región especificada.

Puedes usar extremos de ubicación solo con la API de Cloud Bigtable (API de Data). Los extremos de ubicación no son compatibles con la API de Cloud Bigtable Admin.

Cuándo usar extremos de ubicación

El beneficio de usar un extremo de ubicación de Bigtable en lugar de un extremo global es que el extremo de ubicación proporciona aislamiento y protección de ubicación para satisfacer los requisitos de seguridad, cumplimiento y reglamentarios.

Usa un extremo de ubicación si la ubicación de tus datos debe restringirse y controlarse para cumplir con los requisitos reglamentarios.

Usa el extremo global si no tienes requisitos estrictos de restricción de ubicación.

Consideraciones para usar un extremo de ubicación

Ten en cuenta los siguientes factores cuando uses un extremo de ubicación.

Ubicaciones del clúster

Antes de poder usar un extremo de ubicación, debes crear una instancia con al menos un clúster en la región en la que deseas aislar tus datos. Los extremos de ubicación de Bigtable están disponibles en todas las ubicaciones de Bigtable.

Solo puedes usar un extremo de ubicación que pertenezca a la región en la que deseas aislar tus datos. Por ejemplo, no puedes usar us-west1-bigtable.googleapis.com para entregar solicitudes si el clúster al que accedes está en la región us-central1.

Si intentas usar un extremo de ubicación para acceder a un clúster en una región diferente, la solicitud se rechaza con un error FAILED_PRECONDITION y un mensaje que indica que no se puede acceder a ningún clúster con el clúster y el extremo especificados. Por ejemplo, una solicitud enviada a us-west1-bigtable.googleapis.com para clústeres en us-central1 falla con FAILED_PRECONDITION. Para obtener más información sobre FAILED_PRECONDITION, consulta Códigos de estado de Bigtable.

Perfiles de aplicación

Después de establecer un extremo de ubicación, debes usar un perfil de app que esté configurado para enrutar las solicitudes a un clúster en la región del extremo.

Si intentas usar un perfil de app configurado para enviar operaciones de escritura solo a un clúster (con el enrutamiento de un solo clúster) o a clústeres en una región diferente del extremo (con el enrutamiento de varios clústeres), recibirás el mensaje de error de precondición fallida There are no clusters accessible through this app profile and the REGION_NAME endpoint.. Para obtener más información sobre el enrutamiento de clústeres, consulta Política de enrutamiento.

Si usas un perfil de app configurado para enrutar a cualquier clúster en una instancia para alta disponibilidad (HA) y también usas un extremo de ubicación, este extremo garantiza que todas las solicitudes se enruten solo a clústeres en su región, incluso si la instancia tiene clústeres en otras regiones. La conmutación por error automática está restringida, por lo que las solicitudes solo se entregan desde los clústeres de la región del extremo.

Considera un ejemplo en el que envías solicitudes con un perfil de aplicación configurado para el enrutamiento de 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 extremo de ubicación us-central1-bigtable.googleapis.com, us-central1-a entrega todas las solicitudes, incluso si no vuelves a configurar el perfil de la app. Las solicitudes que us-central1-a no puede entregar fallan.

Replicación

Los extremos de ubicación no afectan ni impiden la replicación. Si configuras un extremo de ubicación en la región A y, luego, agregas un clúster a tu instancia en la región B, tus datos se replicarán en la región B de la misma manera que si usas el extremo global.

Para evitar replicar datos en otra región, crea clústeres solo en la región deseada.

Para evitar que los usuarios de tu organización agreguen clústeres fuera de la región del extremo, puedes establecer una política de la organización que use restricciones de ubicación. Para obtener más información, consulta Restringe las ubicaciones de recursos.

Disponibilidad

Cuando usas extremos de ubicación, no puedes configurar Bigtable para lograr un porcentaje de tiempo de actividad mensual superior o igual al 99.999%. Un tiempo de actividad mensual superior o igual al 99.999% requiere una conmutación por error automática de las solicitudes a través de límites de ubicación, lo que un extremo de ubicación evita porque limita todas las solicitudes a una sola región. Para obtener más información sobre los porcentajes de tiempo de actividad mensual, consulta el Acuerdo de Nivel de Servicio (ANS) de Bigtable.

Semántica de los extremos de ubicación

El primer segmento del nombre de un extremo de ubicación de Bigtable es el nombre de la regiónGoogle Cloud . Un extremo de ubicación sigue el formato REGION-bigtable.googleapis.com, en el que REGION es un nombre de región, como northamerica-northeast2.

Por ejemplo, si deseas aislar tus datos en la región de Iowa, porque el nombre de la región de Iowa es us-central1, la URL del extremo de ubicación de la región de Iowa es us-central1-bigtable.googleapis.com. Para obtener una lista de las regiones disponibles, consulta Ubicaciones de Bigtable.

Especifica un extremo de ubicación

Puedes especificar un extremo de ubicación de Bigtable con Google Cloud CLI, la CLI de cbt o las bibliotecas cliente de Cloud Bigtable.

gcloud

Para especificar un extremo de ubicación y anular el extremo global con la gcloud CLI, ejecuta el siguiente comando:

gcloud config set api_endpoint_overrides/bigtable https://REGION-bigtable.googleapis.com/

Reemplaza REGION por la región en la que deseas configurar un extremo de ubicación, como us-central1 o europe-west1.

Por ejemplo, para configurar el extremo de ubicación como us-central1, ejecuta el siguiente comando:

gcloud config set api_endpoint_overrides/bigtable https://us-central1-bigtable.googleapis.com/

cbt

Para especificar un extremo de ubicación y anular el extremo global con la CLI de cbt, puedes usar la opción --data-endpoint en tu solicitud o agregar 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://REGION-bigtable.googleapis.com/

Reemplaza REGION por la región en la que deseas configurar un extremo de ubicación, como us-central1 o europe-west1.

Por ejemplo, para configurar el extremo de ubicación como us-central1, agrega lo siguiente al archivo ~/.cbtrc:

data-endpoint = https://us-central1-bigtable.googleapis.com/

Especifica el extremo global

gcloud

Para volver a configurar un extremo de ubicación en el extremo global, ejecuta este comando:

gcloud config unset api_endpoint_overrides/bigtable

cbt

Para especificar el extremo de servicio global, envía tu solicitud sin usar la opción --data-endpoint. Si anteriormente agregaste una línea data-endpoint a tu archivo ~/.cbtrc, bórrala.

¿Qué sigue?