Endpoints de local
Nesta página, descrevemos os endpoints de local do Bigtable, explicamos o que é preciso considerar antes de usá-los e mostramos como definir um endpoint usando a CLI do Google Cloud.
É possível usar um endpoint de serviço global ou local para enviar solicitações ao Bigtable. Os endpoints de localização do Bigtable 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 de localização 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 de localização.
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 do A API Cloud Bigtable (API Data) está
bigtable.googleapis.com
. O padrão de dados Endpoint de API acessa o endpoint global.Endpoint de local: um endpoint de local impõe restrições de local, garantindo que os dados sejam armazenados e processados em uma região especificada.
Só é possível usar endpoints de localização com a API Cloud Bigtable (Data API). Os endpoints de localização não são compatíveis com a API Admin do Cloud Bigtable.
Quando usar endpoints de localização
A vantagem de usar um endpoint de local do Bigtable em vez de um endpoint global é que o endpoint de local oferece isolamento e proteção locais para atender aos requisitos regulamentares, de segurança e de conformidade.
Use um endpoint de localização 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 de local restrito.
Considerações ao usar um endpoint de localização
Considere os fatores a seguir ao usar um endpoint de localização.
Locais do cluster
Antes de poder usar um endpoint de localização, você precisa criar uma instância com pelo pelo menos um cluster na região em que você quer isolar os dados. Os endpoints de local do Bigtable estão disponíveis em todos os locais do Bigtable.
Só é possível usar um endpoint de localização que pertença à região em que você quer
para isolar seus 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 de local
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
Após definir um endpoint de localização, você precisa usar um perfil de aplicativo que seja configurada para rotear 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ê usa um perfil de app configurado para rotear para qualquer cluster em um para alta disponibilidade (HA) e também usa um endpoint de localização, o endpoint de localização garante que todas as solicitações sejam roteadas somente para os clusters em sua região, 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 para a rede de localização us-central1-bigtable.googleapis.com
endpoint, todas as solicitações serão exibidas por us-central1-a
, mesmo se você não
reconfigure o perfil de aplicativo. As solicitações que não podem ser atendidas por us-central1-a
falham.
Replicação
Os endpoints de local não afetam nem impedem a replicação. Se você configurar um endpoint de localização 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 de local, não é possível configurar o Bigtable para atingir uma porcentagem de tempo de atividade mensal de >=99,999%. Tempo de atividade mensal >=99,999% requer failover automático de solicitações em limites de localização, o que um endpoint de localização impede porque ela 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 Bigtable.
Semântica do endpoint de local
O primeiro segmento do nome de um endpoint de localização do Bigtable é o
Nome da região do Google Cloud. Um endpoint de localização segue o formato
REGION-bigtable.googleapis.com
, em que
REGION é um nome de região, como
northamerica-northeast2
.
Por exemplo, se você quiser isolar seus dados na região de Iowa, porque o
o nome da região de Iowa é us-central1
, o URL do endpoint de localização do estado
região é us-central1-bigtable.googleapis.com
. Para uma lista de regiões
disponíveis, consulte Locais do Bigtable.
Especificar um endpoint de localização
É possível especificar um endpoint de localização do Bigtable usando a
CLI do Google Cloud, a CLI cbt
ou as bibliotecas de cliente do Cloud Bigtable.
gcloud
Para especificar um ponto de extremidade de localização e substituir o ponto de extremidade global usando o 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 de localização, como us-central1
ou europe-west1
.
Por exemplo, para configurar o endpoint 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 endpoint de localização e substituir o endpoint global usando a CLI cbt
,
use a opção --data-endpoint
na solicitação ou adicione o
seguinte ao arquivo ~/.cbtrc. 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 de localização, como us-central1
ou europe-west1
.
Por exemplo, para configurar o endpoint de localização 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 de localização 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
- Revise o controle de acesso com o IAM.
- Saiba como criar e gerenciar tags.
- Confira as regiões em que o Bigtable oferece suporte aos recursos regionais endpoints.