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