Connettersi a una cache Redis utilizzando Memorystore

Per configurare una cache di dati in memoria distribuita per il tuo servizio Cloud Run, puoi utilizzare Memorystore for Redis. Con Memorystore for Redis, puoi utilizzare un datastore Redis in memoria per archiviare la cache delle applicazioni con scalabilità, sicurezza e alta disponibilità. Puoi connetterti a un'istanza Redis direttamente dal tuo servizio Cloud Run, ma questo richiede ulteriori passaggi per la configurazione di un connettore di accesso VPC serverless.

Utilizzando le integrazioni Cloud Run (anteprima) descritte in questa pagina, puoi connettere rapidamente il tuo servizio Cloud Run a una nuova cache Redis utilizzando Memorystore senza dover configurare un connettore di accesso VPC serverless. Se vuoi connettere il tuo servizio Cloud Run a un'istanza Redis esistente, consulta Connessione a un'istanza Redis da un servizio Cloud Run.

Prima di iniziare

  • Assicurati che sia già stato eseguito il deployment del servizio Cloud Run con cui stai eseguendo l'integrazione.
  • Consulta la pagina dei prezzi di Memorystore. Ti vengono addebitati i costi per le singole 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 le integrazioni di Cloud Run, chiedi all'amministratore di concedere al tuo Account Google i seguenti ruoli IAM sul progetto:

Fai clic per visualizzare i ruoli richiesti per l'account di servizio

Per eseguire il deployment del servizio Cloud Run, puoi utilizzare l'account di servizio predefinito di Compute Engine creato automaticamente o specificare un account di servizio gestito dall'utente. L'account di servizio deve avere i ruoli seguenti:

Connettere un servizio a una nuova cache Redis

Qualsiasi modifica alla configurazione porta alla creazione di una nuova revisione. Anche le revisioni successive riceveranno automaticamente questa impostazione di configurazione, a meno che non apporti aggiornamenti espliciti per modificarla.

Puoi connettere un servizio Cloud Run a una cache Redis utilizzando la console o la riga di comando. Se non specifichi una dimensione della memoria, viene utilizzata una cache di 1 gigabyte.

Console

  1. Nella console Google Cloud, vai alla pagina Cloud Run.

    Vai a Cloud Run

  2. Nell'elenco dei servizi, fai clic sul servizio che vuoi utilizzare in questa integrazione.

  3. Fai clic sulla scheda Integrations (Integrazioni).

  4. Fai clic su Aggiungi integrazione.

  5. Fai clic su Redis - Google Cloud MemoryStore.

    immagine

  6. Accetta i valori predefiniti o modifica il nome e le dimensioni della cache con i valori che vuoi utilizzare.

  7. Se ti viene richiesto di abilitare un elenco di API, fai clic su Abilita e attendi che le API vengano abilitate.

  8. In Risorse, prendi nota delle nuove risorse che verranno create a seguito di questa integrazione.

  9. Fai clic su Invia e attendi che l'integrazione e le risorse vengano create. L'operazione potrebbe richiedere fino a 15 minuti.

gcloud

  1. Esegui l'aggiornamento all'ultima versione di Google Cloud CLI:

    gcloud components update
    
  2. 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 di cache. Il valore predefinito è 1 GB.

    Se vuoi, includi il flag --service-account=SERVICE_ACCOUNT_EMAIL.

    • Sostituisci SERVICE_ACCOUNT_EMAIL con l'indirizzo email dell'account di servizio gestito dall'utente (PROJECT_NUMBER-compute@developer.gserviceaccount.com) utilizzato per eseguire il deployment del servizio. Ometti questo flag se vuoi utilizzare l'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 delle integrazioni di Cloud Run, esegui:

      gcloud config set runapps/deployment-service-account
      
  3. Attendi fino a 15 minuti, durante i quali viene creata e connessa una cache Redis completamente configurata. Viene inoltre creata una nuova revisione di Cloud Run, che include la configurazione di rete e le variabili di ambiente necessarie per la cache di Redis. Al termine del processo, viene visualizzato 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 comporta l'aggiornamento di tutte le risorse Google Cloud associate all'integrazione. Per aggiornare un'integrazione della cache Redis dal tuo servizio Cloud Run:

Console

  1. Nella console Google Cloud, vai alla pagina Cloud Run.

    Vai a Cloud Run

  2. Fai clic sul servizio che vuoi aggiornare.

  3. Fai clic sulla scheda Integrations (Integrazioni).

  4. Individua l'integrazione della cache Redis e fai clic su Modifica.

  5. Al termine dell'aggiornamento dei campi, fai clic su Aggiorna.

gcloud

  1. Utilizza il seguente comando per visualizzare un elenco delle integrazioni disponibili:

    gcloud beta run integrations list
  2. Esegui il comando per aggiornare l'integrazione:

    gcloud beta run integrations update INTEGRATION_NAME
    

    Sostituisci:

    • INTEGRATION_NAME con il nome dell'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 il tuo servizio Cloud Run:

Console

  1. Nella console Google Cloud, vai alla pagina Cloud Run.

    Vai a Cloud Run

  2. Nell'elenco dei servizi, fai clic sul servizio che vuoi utilizzare in questa integrazione.

  3. Fai clic sulla scheda Integrations (Integrazioni).

  4. Individua l'integrazione della cache Redis che ti interessa e fai clic su Visualizza dettagli.

gcloud

  1. Utilizza il seguente comando per visualizzare un elenco delle integrazioni disponibili:

    gcloud beta run integrations list
  2. Utilizzando un nome dall'elenco restituito, visualizza i relativi dettagli:

    gcloud beta run integrations describe INTEGRATION_NAME

    Sostituisci INTEGRATION_NAME con il nome dell'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 associate all'integrazione, ma non l'eliminazione del servizio Cloud Run.

Per eliminare un'integrazione della cache Redis dal servizio Cloud Run:

Console

  1. Nella console Google Cloud, vai alla pagina Cloud Run.

    Vai a Cloud Run

  2. Fai clic sul servizio da cui vuoi eliminare un'integrazione.

  3. Fai clic sulla scheda Integrations (Integrazioni).

  4. Individua l'integrazione della cache Redis che ti interessa e fai clic sui puntini di sospensione a destra dell'integrazione, quindi fai clic su Elimina.

gcloud

  1. Utilizza il seguente comando per visualizzare un elenco delle integrazioni disponibili:

    gcloud beta run integrations list
  2. Utilizzando un nome dall'elenco restituito, elimina l'integrazione:

    gcloud beta run integrations delete INTEGRATION_NAME
    

    Sostituisci:

    • INTEGRATION_NAME con il nome dell'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 dopo il completamento dell'integrazione descritta in questa pagina, le variabili di ambiente REDISHOST e REDISPORT vengono aggiunte automaticamente e sono disponibili per essere utilizzate dal codice del servizio Cloud Run.

Codice campione per i servizi che utilizzano Redis

Consulta la documentazione di Memorystore per consultare gli esempi di codice completi di Cloud Run e Redis in diversi linguaggi che utilizzano Redis.

Limitazioni