Endpoint regionali e globali
Questa pagina descrive gli endpoint Bigtable, spiega cosa
devi considerare prima di utilizzarli e mostra come impostare un endpoint utilizzando la
CLI cbt.
Per inviare richieste a Bigtable, puoi utilizzare un endpoint di servizio globale o regionale. Gli endpoint regionali per Bigtable assicurano che i dati di un'istanza vengano archiviati ed elaborati nella regione Bigtable in cui si trovano. Potresti dover utilizzare endpoint regionali per Bigtable in una regione geografica specifica per soddisfare le esigenze di sicurezza e conformità del tuo progetto.
Prima di leggere questo documento, acquisisci familiarità con Istanze, cluster e nodi e Profili app.
I concetti chiave includono:
Endpoint di servizio: un URL di base che specifica l'indirizzo di rete di un servizio API. Bigtable ha endpoint globali e regionali.
Endpoint globale: consente a Bigtable di archiviare e instradare i dati in un'istanza Bigtable a 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 regionale: applica restrizioni regionali, garantendo che Bigtable archivi ed elabori i dati in una regione specificata. Puoi utilizzare gli endpoint regionali solo con l'API Cloud Bigtable (API Data). Bigtable non supporta gli endpoint regionali per l'API Cloud Bigtable Admin.
Quando utilizzare gli endpoint regionali
Il vantaggio di utilizzare un endpoint regionale Bigtable rispetto a un endpoint globale è che l'endpoint regionale fornisce isolamento e protezione regionali per soddisfare i requisiti di sicurezza, conformità e normativi.
Gli endpoint regionali, tuttavia, non supportano Data Boost o l'API Cloud Bigtable Admin. Inoltre, non puoi configurare Bigtable per ottenere una percentuale di tempo di attività mensile >=99,999% quando utilizzi endpoint regionali. Per saperne di più, consulta la sezione Considerazioni per l'utilizzo di un endpoint regionale di questo documento.
Quando utilizzare gli endpoint globali
Utilizza un endpoint globale nei seguenti casi:
- Non hai requisiti di limitazione a livello di regione che richiedono l'utilizzo di un endpoint regionale.
- Devi utilizzare Data Boost.
- Devi utilizzare l'API Cloud Bigtable Admin.
- Richiedi una percentuale di uptime mensile di almeno il 99,999%.
Considerazioni sull'utilizzo di un endpoint regionale
Se utilizzi un endpoint regionale, tieni presente i seguenti fattori:
Località del cluster
Prima di poter utilizzare un endpoint regionale, devi creare un'istanza con almeno un cluster nella regione in cui vuoi isolare i dati. Gli endpoint regionali Bigtable sono disponibili in alcune regioni Bigtable. Per un elenco delle regioni disponibili, consulta Endpoint di servizio regionali.
Puoi utilizzare solo un endpoint regionale appartenente alla regione in cui vuoi isolare i dati. Ad esempio, se un cluster si trova nella regione us-central1, non puoi utilizzare bigtable.us-west1.rep.googleapis.com per gestire le richieste.
Se tenti di utilizzare un endpoint regionale per accedere a un cluster che si trova in una regione diversa, Bigtable rifiuta la richiesta con un messaggio di errore FAILED_PRECONDITION che indica che non è possibile accedere a nessun cluster utilizzando il cluster e l'endpoint specificati. Per ulteriori informazioni su questo messaggio
di errore, consulta Codici di stato di Bigtable.
Profili app
Dopo aver impostato un endpoint regionale, devi utilizzare un profilo app configurato per indirizzare le richieste a un cluster nella regione dell'endpoint.
Se tenti di utilizzare un profilo 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 FAILED_PRECONDITION. Per saperne di più sul routing dei cluster, consulta Policy 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 regionale, l'endpoint regionale garantisce che tutte le richieste vengano instradate 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 regionale bigtable.us-central1.rep.googleapis.com, 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 regionali non influiscono né impediscono la replica. Se configuri un endpoint regionale nella regione A e poi aggiungi un cluster all'istanza nella regione B, i dati vengono replicati nella regione B come se avessi utilizzato 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 una policy dell'organizzazione che utilizza vincoli di località.
Disponibilità
Quando utilizzi endpoint regionali, 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 regionali. Un endpoint regionale impedisce il failover automatico 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) Bigtable.
Semantica degli endpoint regionali
Un endpoint regionale segue il formato
bigtable.REGION.rep.googleapis.com, dove
REGION è un nome di regione Google Cloud , ad esempio
northamerica-northeast2.
Ad esempio, se vuoi isolare i tuoi dati nella regione Iowa, poiché il nome della regione per Iowa è us-central1, l'URL dell'endpoint regionale per la regione Iowa è bigtable.us-central1.rep.googleapis.com.
Specifica un endpoint regionale
Puoi specificare un endpoint regionale Bigtable utilizzando la CLI cbt o le librerie client di Cloud Bigtable.
cbt
Per specificare un endpoint regionale 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://bigtable.REGION.rep.googleapis.com/
Sostituisci REGION con la regione in cui vuoi impostare un endpoint regionale, ad esempio us-central1 o europe-west1.
Ad esempio, per configurare l'endpoint regionale come us-central1, aggiungi quanto segue al file ~/.cbtrc:
data-endpoint = https://bigtable.us-central1.rep.googleapis.com/
Specifica l'endpoint globale
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 regionali, utilizza il vincolo delle policy dell'organizzazione constraints/gcp.restrictEndpointUsage per bloccare le richieste all'endpoint API globale. Per saperne di più, consulta Limitazione dell'utilizzo degli endpoint.