Per configurare una cache di dati in memoria distribuita per Cloud Run puoi utilizzare Memorystore per Redis. Con Memorystore for Redis, viene utilizzato un datastore Redis in memoria per archiviare delle applicazioni con scalabilità, sicurezza e disponibilità elevata. Puoi connetterti a un'istanza Redis direttamente dal tuo servizio Cloud Run, Ciò richiede passaggi aggiuntivi per la configurazione di un connettore di accesso VPC serverless.
Utilizzando i comandi Integrazioni di Cloud Run (anteprima) descritto in questa pagina, puoi connettere rapidamente il tuo Cloud Run su una nuova cache Redis utilizzando Memorystore senza dover configurare un connettore di accesso VPC serverless. Se vuoi collegare il tuo dal servizio Cloud Run a un'istanza Redis esistente, consulta Connessione a un'istanza Redis da un servizio Cloud Run.
Prima di iniziare
- Assicurati che il servizio Cloud Run con cui stai eseguendo l'integrazione sia è già stato eseguito il deployment.
- Consulta la pagina dei prezzi di Memorystore. Ti viene addebitata una fattura per singole di risorse utilizzate nell'integrazione.
Ruoli obbligatori
Per utilizzare le integrazioni di Cloud Run, tu o l'amministratore dovete concedere ruoli IAM su due entità diverse.
Fai clic per visualizzare i ruoli richiesti per il tuo Account Google
Per ottenere le autorizzazioni necessarie per utilizzare Cloud Run integrazioni, chiedi all'amministratore di concederti Account Google: i seguenti ruoli IAM sul tuo progetto:
- Sviluppatore Cloud Run (
roles/run.developer
) - Visualizzatore Compute (
roles/compute.viewer
) - Sviluppatore di integrazioni serverless (
roles/runapps.developer
) - Operatore per integrazioni serverless (
roles/runapps.operator
) - Utente account di servizio (
roles/iam.serviceAccountUser
)
Fai clic per visualizzare i ruoli richiesti per l'account di servizio
Per eseguire il deployment del servizio Cloud Run, puoi utilizzare il cluster creato automaticamente l'account di servizio predefinito di Compute Engine o specifica account di servizio gestito dall'utente. L'account di servizio deve avere i ruoli seguenti:
- Sviluppatore Cloud Run (
roles/run.developer
) - Writer bucket di log (
roles/logging.bucketWriter
) - Utente account di servizio (
roles/iam.serviceAccountUser
) - Storage Admin (
roles/storage.admin
) - Amministratore Cloud Memorystore Redis (
roles/redis.admin
) - Visualizzatore Compute (
roles/compute.viewer
) - Amministratore accesso VPC serverless (
roles/vpcaccess.admin
)
Connettere un servizio a una nuova cache Redis
Qualsiasi modifica alla configurazione porta la creazione di una nuova revisione. Anche le revisioni successive ricevono automaticamente di questa configurazione, a meno che non apporti aggiornamenti espliciti per modificarla.
Puoi connettere un servizio Cloud Run a una cache Redis utilizzando nella console Google Cloud o dalla riga di comando. Se non specifichi una dimensione della memoria, viene calcolato della cache.
Console
Nella console Google Cloud, vai alla pagina Cloud Run.
Nell'elenco dei servizi, fai clic sul servizio che vuoi utilizzare e integrazione.
Fai clic sulla scheda Integrations (Integrazioni).
Fai clic su Aggiungi integrazione.
Fai clic su Redis - Google Cloud MemoryStore.
Accetta i valori predefiniti o modifica il nome e le dimensioni della cache con i valori che preferisci per l'utilizzo.
Se ti viene richiesto di abilitare un elenco di API, fai clic su Abilita e attendi che API da abilitare.
In Risorse, nota che le nuove risorse che verranno create come risorse come risultato di questa integrazione.
Fai clic su Invia e attendi il completamento dell'integrazione e delle risorse. è stato creato. L'operazione potrebbe richiedere fino a 15 minuti.
gcloud
Esegui l'aggiornamento all'ultima versione di Google Cloud CLI:
gcloud components update
Crea l'integrazione:
gcloud beta run integrations create \ --type=redis \ --service=SERVICE \ --parameters=memory-size-gb=MEMORY-SIZE
Sostituisci:
- SERVICE con il nome del tuo servizio Cloud Run.
- MEMORY-SIZE con le dimensioni desiderate in gigabyte del . Il valore predefinito è 1 GB.
Se vuoi, includi il
--service-account=SERVICE_ACCOUNT_EMAIL
flag.Sostituisci SERVICE_ACCOUNT_EMAIL con il servizio gestito dall'utente indirizzo email dell'account (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
) usato per il deployment del servizio. Ometti questo flag se vuoi utilizzare account di servizio Compute predefinito (SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com
).Per continuare a utilizzare l'account di servizio specificato durante il deployment le integrazioni di Cloud Run, esegui:
gcloud config set runapps/deployment-service-account
Attendi fino a 15 minuti, durante i quali una cache Redis completamente configurata viene creato e connesso. Inoltre, una nuova revisione di Cloud Run della rete, incluse la configurazione della rete e le variabili di ambiente necessari per la cache Redis. Al termine della procedura, verranno riportati i viene mostrato il seguente messaggio:
[redis] integration [redis-xxx] has been updated successfully. To connect to the Redis instance, utilize the environment variables REDISHOST and REDISPORT. These have been added to the Cloud Run service for you.
Puoi controllare lo stato utilizzando
gcloud beta run integrations describe
Aggiorna le integrazioni della cache di Redis
L'aggiornamento di un'integrazione aggiorna tutte le risorse Google Cloud associate grazie a questa integrazione. Per aggiornare un'integrazione della cache Redis dal tuo servizio Cloud Run:
Console
Nella console Google Cloud, vai alla pagina Cloud Run.
Fai clic sul servizio che vuoi aggiornare.
Fai clic sulla scheda Integrations (Integrazioni).
Individua l'integrazione della cache Redis e fai clic su Modifica.
Al termine dell'aggiornamento dei campi, fai clic su Aggiorna.
gcloud
Utilizza il seguente comando per visualizzare un elenco delle integrazioni disponibili:
gcloud beta run integrations list
Esegui il comando per aggiornare l'integrazione:
gcloud beta run integrations update INTEGRATION_NAME
Sostituisci:
- INTEGRATION_NAME con il nome del tuo Integrazione della cache Redis.
Facoltativamente, puoi utilizzare le seguenti opzioni di flag:
Opzione Descrizione --parameters
Le dimensioni della memoria in gigabyte per la cache. --service-account
L'indirizzo email dell'account di servizio gestito dall'utente da specificare quando si aggiorna il servizio. Questo account di servizio esegue l'override dell'account di servizio precedente utilizzato al momento del deployment.
Visualizza le integrazioni della cache di Redis
Per visualizzare lo stato attuale delle integrazioni della cache Redis per per il tuo servizio Cloud Run:
Console
Nella console Google Cloud, vai alla pagina Cloud Run.
Nell'elenco dei servizi, fai clic sul servizio che vuoi utilizzare e integrazione.
Fai clic sulla scheda Integrations (Integrazioni).
Individua l'integrazione della cache Redis che ti interessa e fai clic su Visualizza dettagli.
gcloud
Utilizza il seguente comando per visualizzare un elenco delle integrazioni disponibili:
gcloud beta run integrations list
Utilizzando un nome dall'elenco restituito, visualizza i relativi dettagli:
gcloud beta run integrations describe INTEGRATION_NAME
Sostituisci INTEGRATION_NAME con il nome del tuo Integrazione della cache Redis.
Elimina le integrazioni della cache Redis
L'eliminazione di un'integrazione comporta anche l'eliminazione di tutte le risorse Google Cloud associati all'integrazione, ma non eliminerà i tuoi dal servizio Cloud Run.
Per eliminare un'integrazione della cache Redis dal tuo Servizio Cloud Run:
Console
Nella console Google Cloud, vai alla pagina Cloud Run.
Fai clic sul servizio da cui vuoi eliminare un'integrazione.
Fai clic sulla scheda Integrations (Integrazioni).
Individua l'integrazione della cache Redis che ti interessa e fai clic sull'icona dei puntini di sospensione a destra dell'integrazione, quindi fai clic su Elimina.
gcloud
Utilizza il seguente comando per visualizzare un elenco delle integrazioni disponibili:
gcloud beta run integrations list
Utilizzando un nome dall'elenco restituito, elimina l'integrazione:
gcloud beta run integrations delete INTEGRATION_NAME
Sostituisci:
- INTEGRATION_NAME con il nome del tuo Integrazione della cache Redis.
Facoltativamente, puoi utilizzare le seguenti opzioni di flag:
Opzione Descrizione --service-account
L'indirizzo email dell'account di servizio gestito dall'utente per eseguire l'operazione di eliminazione.
Accesso alla cache Redis nel tuo codice
Tieni presente che, in seguito al completamento dell'integrazione descritta in questa pagina,
vengono aggiunte automaticamente le variabili di ambiente REDISHOST
e REDISPORT
e disponibili per essere utilizzate
dal codice del servizio Cloud Run.
Codice campione per i servizi che utilizzano Redis
Consulta la documentazione di Memorystore per completare gli esempi di codice Cloud Run e Redis in diversi linguaggi che usano Redis.
Limitazioni
- Le integrazioni di Cloud Run supportato solo in determinate regioni. Se utilizza una regione non supportata da Cloud Run per le integrazioni, consulta Connessione a un'istanza Redis da un servizio Cloud Run.
- Sono supportati solo i connettori VPC nella rete VPC predefinita. Le reti legacy non sono supportate.