Endpoint di localizzazione
Questa pagina descrive gli endpoint di località di Bigtable, spiega cosa devi considerare prima di utilizzarli e mostra come impostare un endpoint utilizzando Google Cloud CLI.
Puoi utilizzare un endpoint di servizio globale o basato sulla località per inviare richieste a Bigtable. Gli endpoint basati sulla località per Bigtable garantiscono che i dati di un'istanza vengano archiviati ed elaborati nella regione Bigtable in cui si trovano. Potresti dover utilizzare endpoint localizzati per Bigtable in una regione geografica specifica per soddisfare le esigenze di sicurezza e conformità del tuo progetto.
Prima di leggere questo documento, devi avere familiarità con istanze, cluster e nodi e con i profili app.
I concetti chiave includono:
Endpoint di servizio:un endpoint di servizio è un URL di base che specifica l'indirizzo di rete di un servizio API. Bigtable ha endpoint globali e basati sulla località.
Endpoint globale: un endpoint globale consente a Bigtable di archiviare e instradare i dati in un'istanza Bigtable in qualsiasi regione che contenga uno dei cluster dell'istanza. L'endpoint globale per l'API Cloud Bigtable (API Data) è
bigtable.googleapis.com
. L'endpoint API Data predefinito accede all'endpoint globale.Endpoint basato sulla posizione Un endpoint basato sulla posizione applica restrizioni basate sulla posizione, garantendo che i dati vengano archiviati e trattati in una regione specifica.
Puoi utilizzare gli endpoint basati sulla località solo con l'API Cloud Bigtable (API Data). Gli endpoint basati sulla località non sono supportati per l'API Cloud Bigtable Admin.
Quando utilizzare gli endpoint basati sulla località
Il vantaggio di utilizzare un endpoint Bigtable posizionale rispetto a un endpoint globale è che l'endpoint posizionale fornisce isolamento e protezione posizionali per soddisfare i requisiti di sicurezza, conformità e normativi.
Utilizza un endpoint basato sulla posizione se la posizione dei dati deve essere limitata e controllata per rispettare i requisiti normativi.
Utilizza l'endpoint globale se non hai requisiti di limitazione della località rigidi.
Considerazioni sull'utilizzo di un endpoint basato sulla posizione
Tieni in considerazione i seguenti fattori quando utilizzi un endpoint di localizzazione.
Località del cluster
Prima di poter utilizzare un endpoint localizzato, devi creare un'istanza con almeno un cluster nella regione in cui vuoi isolare i dati. Gli endpoint di località Bigtable sono disponibili in tutte le località Bigtable.
Puoi utilizzare solo un endpoint di localizzazione appartenente alla regione in cui vuoi
isolare i tuoi dati. Ad esempio, non puoi utilizzare
us-west1-bigtable.googleapis.com
per gestire le richieste se il cluster a cui
accedi si trova nella regione us-central1
.
Se tenti di utilizzare un endpoint
di localizzazione per accedere a un cluster in una regione diversa, la richiesta viene rifiutata con
un errore FAILED_PRECONDITION
con un messaggio che indica che non è possibile accedere
a nessun cluster utilizzando il cluster e l'endpoint specificati. Ad esempio, una richiesta inviata
a us-west1-bigtable.googleapis.com
per i cluster in us-central1
non riesce e restituisce
FAILED_PRECONDITION
. Per ulteriori informazioni su FAILED_PRECONDITION
, consulta la pagina
Codici di stato di Bigtable.
Profili app
Dopo aver impostato un endpoint geografico, devi utilizzare un profilo app configurato per indirizzare le richieste a un cluster nella regione dell'endpoint.
Se tenti di utilizzare un profilo dell'app configurato per inviare scritture solo a un cluster (utilizzando il routing a cluster singolo) o a cluster in una regione diversa dall'endpoint (utilizzando il routing multi-cluster), viene visualizzato il messaggio di errore di precondizione non riuscita There are no clusters accessible through this app profile and the
REGION_NAME endpoint.
. Per saperne di più sul routing dei cluster, consulta Norme di routing.
Se utilizzi un profilo app configurato per il routing a qualsiasi cluster in un'istanza per l'alta disponibilità (HA) e utilizzi anche un endpoint basato sulla posizione, quest'ultimo garantisce che tutte le richieste vengano indirizzate solo ai cluster nella sua regione, anche se l'istanza ha cluster in altre regioni. Il failover automatico è limitato, quindi le richieste vengono gestite solo dai cluster nella regione dell'endpoint.
Considera un esempio in cui invii richieste utilizzando un profilo dell'app configurato per il routing multi-cluster all'istanza che ha cluster in us-west1-a
(Oregon), us-west1-b
(Oregon) e us-central1-a
(Iowa). Se
invii queste richieste all'endpoint
us-central1-bigtable.googleapis.com
basato sulla posizione, tutte le richieste vengono gestite da us-central1-a
anche se non
riconfiguri il profilo dell'app. Le richieste che non possono essere gestite da us-central1-a
non vanno a buon fine.
Replica
Gli endpoint basati sulla località non influiscono sulla replica né la impediscono. Se configuri un endpoint localizzato nella regione A e poi aggiungi un cluster all'istanza nella regione B, i dati vengono replicati nella regione B proprio come se utilizzassi l'endpoint globale.
Per evitare di replicare i dati in un'altra regione, crea cluster solo nella regione prevista.
Per impedire agli utenti della tua organizzazione di aggiungere cluster al di fuori della regione dell'endpoint, puoi impostare un criterio dell'organizzazione che utilizza vincoli di località. Per saperne di più, consulta Limitare le località delle risorse.
Disponibilità
Quando utilizzi endpoint basati sulla località, non puoi configurare Bigtable per ottenere una percentuale di tempo di attività mensile >=99,999%. Un tempo di attività mensile >=99,999% richiede il failover automatico delle richieste oltre i confini geografici, cosa che un endpoint geografico impedisce perché limita tutte le richieste a una singola regione. Per saperne di più sulle percentuali di uptime mensili, consulta l'accordo sul livello del servizio (SLA) di Bigtable.
Semantica degli endpoint basati sulla posizione
Il primo segmento del nome di un endpoint regionale Bigtable è il
Google Cloud nome della regione. Un endpoint di localizzazione segue il formato
REGION-bigtable.googleapis.com
, dove
REGION è il nome di una regione, ad esempio
northamerica-northeast2
.
Ad esempio, se vuoi isolare i tuoi dati nella regione Iowa, poiché il nome della regione per l'Iowa è us-central1
, l'URL dell'endpoint di localizzazione per la regione Iowa è us-central1-bigtable.googleapis.com
. Per un elenco delle regioni disponibili, consulta Località Bigtable.
Specifica di un endpoint basato sulla posizione
Puoi specificare un endpoint regionale Bigtable utilizzando Google Cloud CLI, l'interfaccia a riga di comando cbt
o le librerie client Cloud Bigtable.
gcloud
Per specificare un endpoint di località e sostituire l'endpoint globale utilizzando gcloud CLI, esegui il seguente comando:
gcloud config set api_endpoint_overrides/bigtable https://REGION-bigtable.googleapis.com/
Sostituisci REGION
con la regione in cui vuoi impostare un
endpoint basato sulla posizione, ad esempio us-central1
o europe-west1
.
Ad esempio, per configurare l'endpoint di localizzazione come us-central1
, esegui il
seguente comando:
gcloud config set api_endpoint_overrides/bigtable https://us-central1-bigtable.googleapis.com/
cbt
Per specificare un endpoint locale e sostituire l'endpoint globale utilizzando la CLI cbt
,
puoi utilizzare l'opzione --data-endpoint
nella richiesta oppure puoi aggiungere
quanto segue al file ~/.cbtrc. Per ulteriori informazioni sulla creazione di un file
~/.cbtrc, consulta il riferimento alla CLI cbt.
data-endpoint = https://REGION-bigtable.googleapis.com/
Sostituisci REGION
con la regione in cui vuoi impostare un
endpoint basato sulla posizione, ad esempio us-central1
o europe-west1
.
Ad esempio, per configurare l'endpoint di localizzazione come us-central1
, aggiungi questo elemento al file ~/.cbtrc:
data-endpoint = https://us-central1-bigtable.googleapis.com/
Specifica l'endpoint globale
gcloud
Per riconfigurare un endpoint di località in modo che diventi l'endpoint globale, esegui questo comando:
gcloud config unset api_endpoint_overrides/bigtable
cbt
Per specificare l'endpoint globale, invia la richiesta senza utilizzare l'opzione
--data-endpoint
. Se in precedenza hai aggiunto una riga data-endpoint
al file ~/.cbtrc, eliminala.
Limita l'utilizzo degli endpoint API globali
Per contribuire a imporre l'utilizzo di endpoint locali, utilizza il vincolo delle policy dell'organizzazione constraints/gcp.restrictEndpointUsage
per bloccare le richieste all'endpoint API globale. Per ulteriori informazioni, vedi
Limitare l'utilizzo degli endpoint.
Passaggi successivi
- Rivedi controllo dell'accesso con IAM.
- Scopri come creare e gestire i tag.
- Visualizza le regioni in cui Bigtable supporta gli endpoint regionali.