Endpoint posizione

Questa pagina descrive gli endpoint di località Bigtable, spiega cosa occorre prendere in considerazione prima di utilizzarli e mostra come impostare un endpoint utilizzando Google Cloud CLI.

Puoi utilizzare un endpoint di servizio globale o basato sulla posizione per inviare richieste a Bigtable. Gli endpoint posizione per Bigtable assicurano che i dati di un'istanza vengano archiviati ed elaborati nella regione Bigtable in cui si trovano. Potresti dover utilizzare endpoint geografici per Bigtable in una regione geografica specifica per soddisfare le esigenze di sicurezza e conformità del tuo progetto.

Prima di leggere questo documento, devi conoscere istanze, cluster e nodi e i 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 gli endpoint sia globali che basati sulla posizione.

  • Endpoint globale: un endpoint globale consente a Bigtable di memorizzare e instradare i dati di un'istanza Bigtable in qualsiasi regione contenente uno dei cluster dell'istanza. L'endpoint globale per l'API Cloud Bigtable (API Data) è bigtable.googleapis.com. L'endpoint predefinito dell'API Data accede all'endpoint globale.

  • Endpoint geografico: un endpoint geografico applica limitazioni geografiche, garantendo che i dati vengano archiviati ed elaborati in una regione specificata.

Puoi utilizzare gli endpoint geografici solo con l'API Cloud Bigtable (API Data). Gli endpoint geografici non sono supportati per l'API Cloud Bigtable Admin.

Quando utilizzare gli endpoint relativi alla posizione

Il vantaggio dell'utilizzo di un endpoint geografico Bigtable rispetto a un endpoint globale è che l'endpoint geografico fornisce isolamento e protezione geografica per soddisfare i requisiti di sicurezza, conformità e normativi.

Utilizza un endpoint geografico se la posizione dei dati deve essere limitata e controllata per rispettare i requisiti normativi.

Utilizza l'endpoint globale se non hai requisiti rigorosi relativi alle limitazioni geografiche.

Considerazioni sull'utilizzo di un endpoint geografico

Quando utilizzi un endpoint posizione, prendi in considerazione i seguenti fattori.

Sedi dei cluster

Prima di poter utilizzare un endpoint geografico, devi creare un'istanza con almeno un cluster nella regione in cui vuoi isolare i dati. Gli endpoint di Bigtable per le località sono disponibili in tutte le località Bigtable.

Puoi utilizzare solo un endpoint posizione 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 accedo si trova nella regione us-central1.

Se tenti di utilizzare un endpoint geografico per accedere a un cluster in una regione diversa, la richiesta viene rifiutata con un errore FAILED_PRECONDITION e un messaggio che indica che non sono accessibili 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 va a buon fine con FAILED_PRECONDITION. Per ulteriori informazioni su FAILED_PRECONDITION, consulta Codici di stato Bigtable.

Profili app

Dopo aver impostato un endpoint geografico, devi utilizzare un profilo dell'app configurato per inoltrare le richieste a un cluster nella regione dell'endpoint.

Se tenti di utilizzare un profilo dell'app configurato per inviare le scritture solo a un cluster (utilizzando il routing a cluster singolo) o a cluster in una regione diversa dall'endpoint (utilizzando il routing a più cluster), viene visualizzato il messaggio di errore Precondizione non riuscita There are no clusters accessible through this app profile and the REGION_NAME endpoint.. Per ulteriori informazioni sul routing dei cluster, consulta Criteri di routing.

Se utilizzi un profilo dell'app configurato per l'instradamento a qualsiasi cluster di un'istanza per l'alta disponibilità (HA) e utilizzi anche un endpoint geografico, quest'ultimo garantisce che tutte le richieste vengano instradate solo ai cluster della sua regione, anche se l'istanza ha cluster in altre regioni. Il failover automatico è limitato, pertanto le richieste vengono inviate solo dai cluster nella regione dell'endpoint.

Prendiamo ad esempio un caso in cui invii richieste utilizzando un profilo dell'app configurato per il routing di più cluster a un'istanza con cluster in us-west1-a (Oregon), us-west1-b (Oregon) e us-central1-a (Iowa). Se invii queste richieste all'endpoint di geolocalizzazione us-central1-bigtable.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 soddisfatte da us-central1-a non vanno a buon fine.

Replica

Gli endpoint posizione non influiscono sulla replica né la impediscono. Se configuri un endpoint geografico nella regione A e poi aggiungi un cluster all'istanza nella regione B, i dati vengono replicati nella regione B 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 utilizzi vincoli di località. Per saperne di più, consulta Limitare le località delle risorse.

Disponibilità

Quando utilizzi endpoint geografici, 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, che un endpoint geografico impedisce perché limita tutte le richieste a una singola regione. Per ulteriori informazioni sulle percentuali di uptime mensili, consulta l'Accordo sul livello del servizio (SLA) di Bigtable.

Semântica degli endpoint posizione

Il primo segmento del nome di un endpoint di località Bigtable è il Google Cloud nome della regione. Un endpoint geografico segue il formato REGION-bigtable.googleapis.com, dove REGION è il nome di una regione, ad esempio northamerica-northeast2.

Ad esempio, se vuoi isolare i dati nella regione dell'Iowa, poiché il nome della regione è us-central1, l'URL dell'endpoint di località per la regione dell'Iowa è us-central1-bigtable.googleapis.com. Per un elenco delle regioni disponibili, consulta Località Bigtable.

Specifica un endpoint geografico

Puoi specificare un endpoint di posizione Bigtable utilizzando Google Cloud CLI, l'interfaccia a riga di comando cbt o le librerie client Cloud Bigtable.

gcloud

Per specificare un endpoint geografico 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 geografico, ad esempio us-central1 o europe-west1.

Ad esempio, per configurare l'endpoint posizione come us-central1, esegui il comando seguente:

gcloud config set api_endpoint_overrides/bigtable https://us-central1-bigtable.googleapis.com/

cbt

Per specificare un endpoint geografico e sostituire l'endpoint globale utilizzando cbt CLI, puoi utilizzare l'opzione --data-endpoint nella richiesta oppure aggiungere quanto segue al file ~/.cbtrc. Per ulteriori informazioni sulla creazione di un file ~/.cbtrc, consulta la documentazione di riferimento della CLI cbt.

data-endpoint = https://REGION-bigtable.googleapis.com/

Sostituisci REGION con la regione in cui vuoi impostare un endpoint geografico, ad esempio us-central1 o europe-west1.

Ad esempio, per configurare l'endpoint posizione 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 locale sull'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.

Passaggi successivi