Endpoints regionais

Nesta página, descrevemos os endpoints regionais do Cloud Bigtable, explicamos o que é preciso considerar antes de usá-los e mostramos como definir um endpoint usando a Google Cloud CLI.

É possível usar um endpoint de serviço global ou regional para enviar solicitações ao Bigtable. Os endpoints regionais do Bigtable certificam e garantem que os dados de uma instância sejam armazenados e processados na região do Bigtable em que os dados ficam. Talvez seja necessário usar endpoints regionais para o Bigtable em uma região geográfica específica para atender às necessidades de segurança e conformidade do seu projeto.

Antes de ler este documento, você precisa se familiarizar com instâncias, clusters e nós e perfis de app.

Os principais conceitos incluem:

  • Endpoint de serviço: um endpoint de serviço é um URL base que especifica o endereço de rede de um serviço de API. O Bigtable tem endpoints globais e regionais.

  • Endpoint global: um endpoint global permite que o Bigtable armazene e direcione os dados em uma instância do Bigtable para qualquer região que contenha um dos clusters da instância. O endpoint global da API Data do Bigtable é bigtable.googleapis.com. O endpoint padrão da API Data acessa o endpoint global.

  • Endpoint regional: um endpoint regional impõe restrições regionais, garantindo que os dados sejam armazenados e processados em uma região especificada.

Só é possível usar endpoints regionais com a API Data do Bigtable. Os endpoints regionais não são compatíveis com a API Admin do Bigtable.

Quando usar endpoints regionais

A vantagem de usar um endpoint regional em vez de um endpoint global é que o endpoint regional oferece isolamento e proteção regionais para atender aos requisitos regulamentares, de segurança e de conformidade.

Use um endpoint regional se o local dos dados precisar ser restrito e controlado para atender aos requisitos regulamentares.

Use o endpoint global se você não tiver requisitos de restrição regionais estritas.

Considerações ao usar um endpoint regional

Locais do cluster

Antes de usar um endpoint regional, crie uma instância com pelo menos um cluster na região onde você quer isolar seus dados. Os endpoints regionais do Bigtable estão disponíveis em todos os locais do Bigtable.

Só é possível usar um endpoint regional que pertença à região em que você quer isolar os dados. Por exemplo, não é possível usar us-west1-bigtable.googleapis.com para exibir solicitações se o cluster que você está acessando estiver na região us-central1.

Se você tentar usar um endpoint regional para acessar um cluster em uma região diferente, a solicitação será rejeitada com um erro FAILED_PRECONDITION com uma mensagem informando que nenhum cluster está acessível usando o cluster e o endpoint especificados. Por exemplo, uma solicitação enviada para us-west1-bigtable.googleapis.com em clusters em us-central1 falha com FAILED_PRECONDITION. Para mais informações sobre FAILED_PRECONDITION, consulte Códigos de status do Bigtable.

Perfis de app

Depois de definir um endpoint regional, você precisa usar um perfil de aplicativo configurado para encaminhar solicitações para um cluster na região do endpoint.

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

Se você usar um perfil de app configurado para rotear para qualquer cluster em uma instância para alta disponibilidade (HA, na sigla em inglês) e também usar um endpoint regional, o endpoint regional garantirá que todas as solicitações sejam roteadas apenas para clusters na região dele, mesmo que a instância tenha clusters em outras regiões. O failover automático é restrito. Por isso, as solicitações são disponibilizadas apenas de clusters na região do endpoint.

Veja um exemplo em que você envia solicitações usando um perfil de app configurado para roteamento de vários clusters na instância que tem clusters em us-west1-a (Oregon), us-west1-b (Oregon) e us-central1-a (Iowa). Se você enviar essas solicitações ao endpoint regional us-central1-bigtable.googleapis.com, todas as solicitações serão exibidas por us-central1-a, mesmo que você não reconfigure o perfil de app. As solicitações que não podem ser atendidas por us-central1-a falham.

Replicação

Os endpoints regionais não afetam nem impedem a replicação. Se você configurar um endpoint regional na região A e adicionar um cluster à instância na região B, os dados serão replicados para a região B da mesma forma que se você usasse o endpoint global.

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

Para impedir que os usuários da organização adicionem clusters fora da região do endpoint, defina uma política da organização que use restrições de local. Para saber mais, consulte Como restringir locais de recursos.

Disponibilidade

Quando você usa endpoints regionais, não é possível configurar o Bigtable para atingir uma porcentagem de tempo de atividade mensal de >=99,999%. Um tempo de atividade mensal >=99,999% requer failover automático de solicitações acima dos limites regionais, que um ponto de extremidade regional impede, porque limita todas as solicitações a uma única região. Para mais informações sobre porcentagens de tempo de atividade mensal, consulte o contrato de nível de serviço (SLA) do Cloud Bigtable.

Semântica do endpoint regional

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

Por exemplo, se você quiser isolar os dados na região de Iowa, porque o nome da região para Iowa é us-central1, o URL do endpoint regional para Iowa é us-central1-bigtable.googleapis.com. Para uma lista de regiões disponíveis, consulte Locais do Bigtable.

Especificar um endpoint regional

É possível especificar um endpoint regional do Bigtable usando a Google Cloud CLI, a CLI cbt ou as bibliotecas de cliente do Bigtable.

gcloud

Para especificar um endpoint regional e substituir o endpoint global usando a CLI gcloud, execute o seguinte comando:

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

Substitua REGION pela região em que você quer definir um endpoint regional, como us-central1 ou europe-west1.

Por exemplo, para configurar o endpoint regional como us-central1, execute o seguinte comando:

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

cbt

Para especificar um endpoint regional e substituir o endpoint global usando a CLI cbt, use a opção --data-endpoint em sua solicitação ou adicione o seguinte ao seu arquivo ~/.cbtrc (em inglês). Para mais informações sobre como criar um arquivo ~/.cbtrc, consulte a referência da CLI cbt.

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

Substitua REGION pela região em que você quer definir um endpoint regional, como us-central1 ou europe-west1.

Por exemplo, para configurar o endpoint regional como us-central1, adicione isto ao arquivo ~/.cbtrc:

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

Especifique o endpoint global

gcloud

Para reconfigurar um endpoint regional para o endpoint global, execute este comando:

gcloud config unset api_endpoint_overrides/bigtable

cbt

Para especificar o endpoint global, envie sua solicitação sem usar a opção --data-endpoint. Se você já tiver adicionado uma linha data-endpoint ao arquivo ~/.cbtrc, exclua-a.

A seguir