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.

Passaggi successivi