Pontos finais de localização

Esta página descreve os pontos finais de localização do Bigtable, explica o que deve considerar antes de os usar e mostra como definir um ponto final através da Google Cloud CLI.

Pode usar um ponto final de serviço global ou de localização para enviar pedidos para o Bigtable. Os pontos finais de localização do Bigtable garantem que os dados de uma instância são armazenados e processados na região do Bigtable onde os dados residem. Pode ter de usar endpoints de localização para o Bigtable numa região geográfica específica para satisfazer as necessidades de segurança e conformidade do seu projeto.

Antes de ler este documento, deve estar familiarizado com instâncias, clusters e nós e perfis de apps.

Os conceitos-chave incluem o seguinte:

  • Ponto final do serviço: um ponto final do serviço é um URL base que especifica o endereço de rede de um serviço de API. O Bigtable tem pontos finais globais e de localização.

  • Ponto final global: um ponto final global permite que o Bigtable armazene e encaminhe os dados numa instância do Bigtable para qualquer região que contenha um dos clusters da instância. O ponto final global da Cloud Bigtable API (Data API) é bigtable.googleapis.com. O ponto final da API Data predefinido acede ao ponto final global.

  • Ponto final de localização Um ponto final de localização aplica restrições de localização, garantindo que os dados são armazenados e processados numa região especificada.

Só pode usar pontos finais de localização com a Cloud Bigtable API (Data API). Os pontos finais de localização não são suportados para a API Cloud Bigtable Admin.

Quando usar pontos finais de localização

A vantagem de usar um ponto final de localização do Bigtable em vez de um ponto final global é que o ponto final de localização oferece isolamento e proteção de localização para cumprir os requisitos de segurança, conformidade e regulamentares.

Use um ponto final de localização se a localização dos seus dados tiver de ser restrita e controlada para estar em conformidade com os requisitos regulamentares.

Use o ponto final global se não tiver requisitos de restrição de localização rigorosos.

Considerações sobre a utilização de um ponto final de localização

Considere os seguintes fatores quando usar um ponto final de localização.

Agrupe localizações

Antes de poder usar um ponto final de localização, tem de criar uma instância com, pelo menos, um cluster na região onde quer isolar os seus dados. Os pontos finais de localização do Bigtable estão disponíveis em todas as localizações do Bigtable.

Só pode usar um ponto final de localização pertencente à região onde quer isolar os seus dados. Por exemplo, não pode usar us-west1-bigtable.googleapis.com para publicar pedidos se o cluster ao qual está a aceder estiver na região us-central1.

Se tentar usar um ponto final de localização para aceder a um cluster numa região diferente, o pedido é rejeitado com um erro FAILED_PRECONDITION com uma mensagem a indicar que não existem clusters acessíveis através do cluster e do ponto final especificados. Por exemplo, um pedido enviado para us-west1-bigtable.googleapis.com para clusters em us-central1 falha com FAILED_PRECONDITION. Para mais informações sobre FAILED_PRECONDITION, consulte os códigos de estado do Bigtable.

Perfis de apps

Depois de definir um ponto final de localização, tem de usar um perfil de app configurado para encaminhar pedidos para um cluster na região do ponto final.

Se tentar usar um perfil de app configurado para enviar gravações apenas para um cluster (usando o encaminhamento de cluster único) ou clusters numa região diferente do ponto final (usando o encaminhamento de vários clusters), recebe a mensagem de erro de pré-condição falhada There are no clusters accessible through this app profile and the REGION_NAME endpoint. Para mais informações sobre o encaminhamento de clusters, consulte a Política de Encaminhamento.

Se usar um perfil de app configurado para encaminhar para qualquer cluster numa instância para alta disponibilidade (AA) e também usar um ponto final de localização, o ponto final de localização garante que todos os pedidos são encaminhados apenas para clusters na respetiva região, mesmo que a instância tenha clusters noutras regiões. A comutação por falha automática está restrita, pelo que os pedidos só são publicados a partir de clusters na região do ponto final.

Considere um exemplo em que está a enviar pedidos através de um perfil de app configurado para o encaminhamento de vários clusters para uma instância que tem clusters em us-west1-a (Oregão), us-west1-b (Oregão) e us-central1-a (Iowa). Se enviar estes pedidos para o ponto final us-central1-bigtable.googleapis.comlocationalus-central1-a, todos os pedidos são publicados pela us-central1-a, mesmo que não reconfigure o perfil da app. As solicitações que não podem ser processadas por us-central1-a falham.

Replicação

Os pontos finais de localização não afetam nem impedem a replicação. Se configurar um ponto final de localização na região A e, em seguida, adicionar um cluster à sua instância na região B, os seus dados são replicados para a região B, tal como acontece se usar o ponto final global.

Para evitar a replicação de dados para outra região, crie clusters apenas na região pretendida.

Para impedir que os utilizadores na sua organização adicionem clusters fora da região do ponto final, pode definir uma política da organização que use restrições de localização. Para saber mais, consulte o artigo Restringir localizações de recursos.

Disponibilidade

Quando usa pontos finais de localização, não pode configurar o Bigtable para alcançar uma percentagem de tempo de atividade mensal de >=99,999%. Um tempo de atividade mensal de >=99,999% requer failover automático de pedidos em limites de localização, o que um ponto final de localização impede porque limita todos os pedidos a uma única região. Para mais informações sobre as percentagens de tempo de atividade mensais, consulte o contrato de nível de serviço (SLA) do Bigtable.

Semântica de ponto final de localização

O primeiro segmento de um nome de ponto final de localização do Bigtable é o Google Cloud nome da região. Um ponto final de localização segue o formato REGION-bigtable.googleapis.com, em que REGION é o nome de uma região, como northamerica-northeast2.

Por exemplo, se quiser isolar os seus dados na região de Iowa, uma vez que o nome da região de Iowa é us-central1, o URL do ponto final de localização para a região de Iowa é us-central1-bigtable.googleapis.com. Para ver uma lista das regiões disponíveis, consulte as localizações do Bigtable.

Especifique um ponto final de localização

Pode especificar um ponto final de localização do Bigtable através da CLI gcloud, da CLI cbt ou das bibliotecas de cliente do Cloud Bigtable.

gcloud

Para especificar um ponto final de localização e substituir o ponto final global através da CLI gcloud, execute o seguinte comando:

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

Substitua REGION pela região onde quer definir um ponto final de localização, como us-central1 ou europe-west1.

Por exemplo, para configurar o ponto final de localização como us-central1, execute o seguinte comando:

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

cbt

Para especificar um ponto final de localização e substituir o ponto final global através da CLI cbt, pode usar a opção --data-endpoint no seu pedido ou adicionar o seguinte ao ficheiro ~/.cbtrc. Para mais informações sobre como criar um ficheiro ~/.cbtrc, consulte a referência da CLI cbt.

data-endpoint = https://REGION-bigtable.googleapis.com/

Substitua REGION pela região onde quer definir um ponto final de localização, como us-central1 ou europe-west1.

Por exemplo, para configurar o ponto final de localização como us-central1, adicione o seguinte ao ficheiro ~/.cbtrc:

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

Especifique o ponto final global

gcloud

Para reconfigurar um ponto final de localização para o ponto final global, execute este comando:

gcloud config unset api_endpoint_overrides/bigtable

cbt

Para especificar o ponto de envio global, envie o seu pedido sem usar a opção --data-endpoint. Se adicionou anteriormente uma linha data-endpoint ao ficheiro ~/.cbtrc, elimine-a.

Restrinja a utilização do ponto final da API global

Para ajudar a aplicar a utilização de pontos finais de localização, use a restrição da política da organização constraints/gcp.restrictEndpointUsage para bloquear pedidos ao ponto final da API global. Para mais informações, consulte o artigo Restringir a utilização de pontos finais.

O que se segue?