Endpoint regionali
Questa pagina descrive gli endpoint regionali 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 a livello di regione per inviare richieste a Bigtable. Gli endpoint a livello di regione per Bigtable assicurano e garantiscono che i dati di un'istanza vengano archiviati ed elaborati nella regione di Bigtable in cui si trovano i dati. Potresti dover utilizzare endpoint a livello di regione per Bigtable in una regione geografica specifica per soddisfare le esigenze di sicurezza e conformità del tuo progetto.
Prima di leggere questo documento, dovresti avere familiarità con Istanze, cluster e nodi e Profili di 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 sia globali che a livello di regione.
Endpoint globale: un endpoint globale consente a Bigtable di archiviare e instradare i dati di un'istanza Bigtable a qualsiasi regione che contiene uno dei cluster dell'istanza. L'endpoint globale per l'API Cloud Bigtable (API di dati) è
bigtable.googleapis.com
. L'endpoint predefinito dell'API di dati accede all'endpoint globale.Endpoint a livello di regione: un endpoint a livello di regione applica restrizioni a livello di regione, assicurando che i dati vengano archiviati ed elaborati in una regione specificata.
Puoi utilizzare gli endpoint a livello di regione solo con l'API Cloud Bigtable (API di dati). Gli endpoint a livello di regione non sono supportati per l'API Cloud Bigtable Admin.
Quando utilizzare gli endpoint a livello di regione
Il vantaggio dell'utilizzo di un endpoint a livello di regione Bigtable su un endpoint globale è che quest'ultimo fornisce isolamento e protezione a livello di regione per soddisfare i requisiti di sicurezza, conformità e normative.
Utilizza un endpoint a livello di regione se la località dei dati deve essere limitata e controllata per rispettare i requisiti normativi.
Utilizza l'endpoint globale se non hai requisiti rigidi di limitazione a livello di regione.
Considerazioni sull'utilizzo di un endpoint a livello di regione
Località del cluster
Prima di poter utilizzare un endpoint a livello di regione, devi creare un'istanza con almeno un cluster nella regione in cui vuoi isolare i dati. Gli endpoint a livello di regione di Bigtable sono disponibili in tutte le località di Bigtable.
Puoi utilizzare solo un endpoint a livello di regione che appartiene alla regione in cui vuoi isolare i dati. Ad esempio, non puoi utilizzare us-west1-bigtable.googleapis.com
per gestire le richieste se il cluster a cui stai accedendo si trova nella regione us-central1
.
Se tenti di utilizzare un endpoint a livello di regione per accedere a un cluster in un'altra regione, la richiesta viene rifiutata con un errore FAILED_PRECONDITION
con un messaggio che indica che nessun cluster è accessibile 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 va a buon fine con FAILED_PRECONDITION
. Per maggiori informazioni su FAILED_PRECONDITION
, consulta
Codici di stato di Bigtable.
Profili app
Dopo aver impostato un endpoint a livello di regione, devi utilizzare un profilo app configurato per instradare 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 (con il routing a cluster singolo) o a cluster in una regione diversa dall'endpoint (utilizzando il routing multi-cluster), ricevi il messaggio di errore relativo alla condizione non riuscita There are no clusters accessible through this app profile and the
REGION_NAME endpoint.
Per ulteriori informazioni sul routing del cluster, consulta Criterio di routing.
Se usi un profilo dell'app configurato per l'instradamento a qualsiasi cluster in un'istanza per l'alta disponibilità e usi anche un endpoint a livello di regione, l'endpoint a livello di regione garantisce che tutte le richieste vengano instradate solo ai cluster nella rispettiva regione, anche se l'istanza ha cluster in altre regioni. Il failover automatico è vincolato, pertanto le richieste vengono gestite solo dai cluster nella regione dell'endpoint.
Considera un esempio in cui invii richieste utilizzando un profilo di app configurato per il routing multi-cluster all'istanza con cluster in us-west1-a
(Oregon), us-west1-b
(Oregon) e us-central1-a
(Iowa). Se invii queste richieste all'endpoint regionale us-central1-bigtable.googleapis.com
, tutte le richieste verranno 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 a livello di regione non influiscono né impediscono la replica. Se configuri un endpoint a livello di regione A e poi aggiungi un cluster all'istanza nell'area geografica B, i dati vengono replicati nella regione B come quando utilizzi l'endpoint globale.
Per evitare di replicare i dati in un'altra regione, crea i cluster solo nella regione prevista.
Per impedire agli utenti della tua organizzazione di aggiungere cluster al di fuori della regione degli endpoint, puoi impostare un criterio dell'organizzazione che utilizzi vincoli di località. Per scoprire di più, consulta Limitazione delle località delle risorse.
Disponibilità
Quando utilizzi endpoint a livello di regione, non puoi configurare Bigtable per ottenere una percentuale di uptime mensile >=99,999%. Un uptime mensile >=99,999% richiede il failover automatico delle richieste oltre i confini regionali, evitato da un endpoint a livello di regione perché limita tutte le richieste a una singola regione. Per ulteriori informazioni sulle percentuali di uptime mensile, consulta l'accordo sul livello del servizio (SLA) di Bigtable.
Semantica degli endpoint a livello di regione
Il primo segmento del nome di un endpoint a livello di regione Bigtable
è il nome della regione Google Cloud. Un endpoint a livello di regione ha il formato
REGION-bigtable.googleapis.com
, dove
REGION è un nome di regione, ad esempio
northamerica-northeast2
.
Ad esempio, se vuoi isolare i dati nella regione dell'Iowa, perché il nome della regione per l'Iowa è us-central1
, l'URL dell'endpoint a livello di regione per la regione dell'Iowa è us-central1-bigtable.googleapis.com
. Per un elenco delle aree geografiche
disponibili, consulta le località di Bigtable.
Specifica di un endpoint a livello di regione
Puoi specificare un endpoint regionale Bigtable utilizzando
Google Cloud CLI, l'interfaccia a riga di comando cbt
o le librerie client
di Cloud Bigtable.
gcloud
Per specificare un endpoint a livello di regione ed eseguire l'override dell'endpoint globale utilizzando gcloud CLI, esegui questo comando:
gcloud config set api_endpoint_overrides/bigtable https://REGION-bigtable.googleapis.com/
Sostituisci REGION
con la regione in cui vuoi impostare un
endpoint a livello di regione, come us-central1
o europe-west1
.
Ad esempio, per configurare l'endpoint a livello di regione come us-central1
, esegui questo comando:
gcloud config set api_endpoint_overrides/bigtable https://us-central1-bigtable.googleapis.com/
cbt
Per specificare un endpoint a livello di regione e sostituire l'endpoint globale utilizzando l'interfaccia a riga di comando cbt
, puoi utilizzare l'opzione --data-endpoint
nella richiesta oppure aggiungere quanto segue al tuo file ~/.cbtrc. Per ulteriori informazioni sulla creazione di un file ~/.cbtrc, consulta il riferimento per l'interfaccia a riga di comando cbt.
data-endpoint = https://REGION-bigtable.googleapis.com/
Sostituisci REGION
con la regione in cui vuoi impostare un
endpoint a livello di regione, come us-central1
o europe-west1
.
Ad esempio, per configurare l'endpoint a livello di regione come us-central1
, aggiungi quanto segue al file ~/.cbtrc:
data-endpoint = https://us-central1-bigtable.googleapis.com/
Specifica l'endpoint globale
gcloud
Per riconfigurare un endpoint a livello di regione per l'endpoint globale, esegui questo comando:
gcloud config unset api_endpoint_overrides/bigtable
cbt
Per specificare l'endpoint globale, invia la tua richiesta senza utilizzare l'opzione --data-endpoint
. Se in precedenza hai aggiunto una riga data-endpoint
al tuo file ~/.cbtrc, eliminala.