Networking

Questa pagina offre una panoramica del networking per Memorystore for Redis.

Memorystore utilizza il peering VPC per connettere la tua rete VPC alla rete di servizi Google interni. Memorystore for Redis fornisce diverse architetture di peering e funzionalità di rete a seconda della modalità di connessione scelta durante la creazione di un'istanza.

L'opzione per selezionare una modalità di connessione è stata introdotta per supportare opzioni di rete avanzate in Google Cloud , come architetture VPC condiviso e una migliore gestione degli IP, garantendo al contempo il supporto dell'architettura di peering esistente di Memorystore.

Memorystore for Redis supporta due modalità di connessione: DIRECT_PEERING e PRIVATE_SERVICE_ACCESS.

Indipendentemente dalla modalità di connessione, Memorystore for Redis utilizza sempre indirizzi IP interni per il provisioning delle istanze Redis.

Modalità di connessione

Memorystore for Redis fornisce due modalità di connessione che supportano funzionalità diverse:

  • Peering diretto
  • Accesso privato ai servizi

Per visualizzare la modalità di connessione di rete per un'istanza esistente, esegui il seguente comando sostituendo variables con i valori appropriati:

gcloud redis instances describe instance-id --region=region
  • Il valore connectMode visualizza DIRECT_PEERING o PRIVATE_SERVICE_ACCESS.

Per istruzioni su come scegliere la modalità di connessione durante la creazione dell'istanza, consulta Creazione di un'istanza Redis con una rete VPC condiviso in un progetto di servizio o Creazione di un'istanza Redis con un intervallo di indirizzi IP centralizzato.

Peering diretto

Quando utilizzi la modalità di peering diretto, Memorystore crea un peering VPC tra la rete VPC del cliente e la rete VPC nel progetto gestito da Google. Il peering viene creato automaticamente durante la creazione dell'istanza e non richiede ulteriori passaggi da parte dell'utente. Altri servizi non condividono il peering. Google CloudMemorystore for Redis utilizzava la modalità di connessione peering diretto prima della disponibilità della modalità di connessione accesso privato ai servizi.

Per impostazione predefinita, le nuove istanze vengono create utilizzando la modalità di connessione peering diretto. Qualsiasi script esistente senza la modalità di connessione specificata utilizza la modalità di peering diretto per impostazione predefinita.

Se stai creando un'istanza con la modalità di connessione peering diretto e vuoi utilizzare il flag gcloud --reserved-ip-range per specificare un intervallo di indirizzi IP, consulta Creazione di un'istanza Redis con un intervallo di indirizzi IP specifico per istruzioni su come specificare un intervallo. La dimensione minima del blocco richiesta è /29 per le istanze senza repliche di lettura. La dimensione del blocco minima richiesta è /28 per le istanze con repliche di lettura.

Accesso privato ai servizi

L'accesso privato ai servizi è un altro modo per creare un peering tra la tua rete VPC e la rete dei servizi Google.

La creazione di una connessione di accesso privato ai servizi per una rete VPC crea un peering tra questa rete VPC e la rete di servizi Google. Una volta stabilita la connessione, puoi creare l'istanza utilizzando la modalità di connessione di accesso privato ai servizi.

L'utilizzo dell'accesso privato ai servizi consente di utilizzare le seguenti funzionalità per l'istanza Redis:

  • Esegui il provisioning di un'istanza Memorystore for Redis in un progetto di servizio utilizzando VPC condivisoa.
  • Gestisci a livello centrale gli intervalli di indirizzi IP in più servizi Google.
  • Connettiti da origini esterne alla tua rete VPC tramite un tunnel VPN o Cloud Interconnect alla tua rete VPC.

Uno dei vantaggi aggiuntivi dell'accesso privato ai servizi è che lo stesso peering di rete viene condiviso tra più servizi Google, limitando così il numero di peering creati dai servizi Google.

Il flag gcloud --reserved-ip-range ha uno scopo diverso quando si creano istanze con la modalità di connessione di accesso privato ai servizi rispetto a quando si creano istanze con la modalità di connessione in peering diretto. Quando crei istanze con la modalità di accesso privato ai servizi, se sono presenti più intervalli di indirizzi IP allocati per l'accesso privato ai servizi, puoi utilizzare il flag --reserved-ip-range gcloud per scegliere gli intervalli allocati da utilizzare durante la creazione dell'istanza Redis. Per istruzioni su come farlo, consulta Creazione di un'istanza Redis con un intervallo di indirizzi IP specifico.

Scegliere una modalità di connessione

La tabella seguente descrive i diversi casi d'uso e le modalità di connessione da utilizzare.

Scenario Modalità di connessione supportata
Provisiona un'istanza Redis con una rete VPC condiviso Solo accesso privato ai servizi
Accedere a un'istanza Redis da reti on-premise utilizzando la VPN Solo accesso privato ai servizi
Utilizzare la gestione centralizzata degli intervalli IP per più servizi Google Solo accesso privato ai servizi
Esegui il provisioning di un'istanza Redis utilizzando una rete VPC dedicata Accesso privato ai servizi (consigliato) o peering diretto

Cambio delle modalità di connessione delle istanze esistenti

Non puoi cambiare la modalità di connessione di un'istanza esistente. Per cambiare la modalità di connessione, devi ricreare l'istanza utilizzando la nuova modalità di connessione. Ciò comporta una modifica dell'indirizzo IP dell'istanza.

Ad esempio, se hai un'istanza esistente creata prima che fosse disponibile la modalità di connessione di accesso privato ai servizi, la proprietà della modalità di connessione per questa istanza è impostata sul peering diretto. Se ricrei l'istanza utilizzando la modalità di connessione di accesso privato ai servizi, l'indirizzo IP dell'istanza cambia.

Inoltre, Memorystore for Redis supporta istanze Redis che utilizzano l'accesso ai servizi privati e istanze che utilizzano il peering diretto, nello stesso progetto e nella stessa rete.

Accesso on-premise con l'accesso privato ai servizi

Puoi connetterti da un client in una rete on-premise se la rete on-premise è connessa alla rete VPC a cui è connessa l'istanza Memorystore for Redis. Per consentire le connessioni da una rete on-premise:

  1. Assicurati che la tua rete VPC condiviso condivisa sia connessa alla tua rete on-premise utilizzando una delle seguenti opzioni
  2. Assicurati che le sessioni BGP sui router Cloud che gestiscono i tunnel Cloud VPN e i collegamenti Cloud Interconnect (VLAN) abbiano ricevuto prefissi (destinazioni) specifici dalla tua rete on-premise. Le route predefinite (destinazione 0.0.0.0/0) non possono essere importate nella rete VPC Memorystore for Redis perché questa rete ha una propria route predefinita locale. Le route locali per una destinazione vengono sempre utilizzate, anche quando il peering Memorystore for Redis è configurato per importare route personalizzate dalla rete VPC.
  3. Identifica il peering prodotto dalla connessione di servizi privati. Il peering utilizzato da Memorystore for Redis si chiama servicenetworking-googleapis-com.
  4. Aggiorna la connessione di peering per scambiare route personalizzate impostando entrambi i flag --import-custom-routes e --export-custom-routes.
  5. Identifica l'intervallo allocato utilizzato dalla connessione ai servizi privati.
  6. Crea una route annunciata personalizzata del router Cloud per l'intervallo allocato sui router Cloud che gestiscono le sessioni BGP per i tuoi tunnel Cloud VPN o i collegamenti Cloud Interconnect (VLAN).

Comunicare i requisiti di networking

In genere, il team di networking e/o l'amministratore di rete della tua organizzazione è responsabile della configurazione di una connessione di accesso privato ai servizi. In questo modo, il team di networking può assicurarsi che non si verifichi una sovrapposizione di indirizzi o intervalli IP utilizzati per altre risorseGoogle Cloud , il che può causare problemi di connettività.

Ti consigliamo di contattare il team di rete/sicurezza della tua organizzazione per configurare la connessione privata ai servizi, soprattutto se si verifica un errore durante la procedura di configurazione. Quando contatti il team di networking, invia le seguenti informazioni:

The Memorystore for Redis instance cannot be created due to the following
error:

"Google private services access is not enabled. Enable privates service access
and try again."

Before an instance can be created, a private service access connection needs to
be established for network <project name: network>. Please refer to the
following Memorystore documentation links for more information on how to create
this connection:

* Networking.
* Establishing a private services access connection.
* Verifying a private services access connection.

Requisiti di networking per le istanze con repliche di lettura abilitate

Per utilizzare la funzionalità delle repliche di lettura per Memorystore for Redis, l'istanza deve avere un intervallo di indirizzi IP CIDR pari a /28 o superiore. Sono validi intervalli più ampi, ad esempio /27 e /26. Intervalli più piccoli, come /29, non sono supportati per questa funzionalità.

Autorizzazioni richieste per stabilire una connessione di accesso privato ai servizi

Per gestire una connessione di accesso privato ai servizi, l'utente deve disporre dei seguenti ruoli IAM. Se non disponi delle autorizzazioni richieste, potresti ricevere errori di autorizzazioni insufficienti. Per un elenco degli errori di rete comuni, vedi Scenari di errore di rete.

Autorizzazioni UI

Autorizzazioni necessarie per elencare le reti del progetto locale e host nella UI:
  • compute.networks.list
    • Necessario sia nel progetto locale che in quello host.
Autorizzazione richiesta per controllare la connessione di accesso privato ai servizi nella UI:
  • compute.networks.list
    • Necessario sia nel progetto locale che in quello host.
Autorizzazione richiesta per creare una connessione di accesso privato ai servizi nella UI:
  • serviceusage.services.enable
    • Necessario per abilitare l'API Service Networking.
  • compute.addresses.create
  • compute.addresses.list
  • servicenetworking.services.addPeering

Autorizzazioni gcloud

Autorizzazioni gcloud richieste per controllare la connessione di accesso privato ai servizi
  • compute.networks.list
    • Necessario sia nel progetto locale che in quello host.
Autorizzazioni gcloud richieste per creare una connessione di accesso privato ai servizi
  • serviceusage.services.enable
    • Necessario per abilitare l'API Service Networking.
  • compute.addresses.create
  • compute.addresses.list
  • servicenetworking.services.addPeering

Reti supportate e intervalli IP client

Memorystore for Redis supporta gli indirizzi IP privati RFC 1918 e alcuni indirizzi IP privati non RFC 1918.

  • Intervalli validi fornisce un elenco di intervalli accettabili per Memorystore for Redis. Tuttavia, Memorystore for Redis non supporta gli indirizzi IP pubblici utilizzati privatamente (PUPI) elencati nella tabella degli intervalli validi collegata qui.
  • Intervalli limitati fornisce un elenco di intervalli di indirizzi IP che non possono essere utilizzati per creare istanze Memorystore for Redis.
  • Se un'istanza Memorystore utilizza la modalità di connessione accesso privato ai servizi, i client degli intervalli PUPI non possono connettersi all'istanza Memorystore.

Memorystore supporta anche le reti VPC, ad eccezione delle reti legacy, dell'accesso on-premise e delle reti VPC condivise.