Pode ligar-se a uma instância do Redis a partir do Cloud Run através da saída da VPC direta.
Configuração
Se já instalou a CLI Google Cloud e criou uma instância do Redis, pode ignorar estes passos.
Instale a CLI gcloud e inicialize-a:
gcloud init
Siga o guia de início rápido para criar uma instância do Redis. Tome nota da zona, do endereço IP e da porta da instância do Redis.
Prepare a saída da rede VPC para configuração
Para se ligar à sua instância do Redis, o seu serviço do Cloud Run tem de ter acesso à rede VPC autorizada da instância do Redis.
Para encontrar o nome desta rede, execute o seguinte comando:
gcloud redis instances describe INSTANCE_ID --region REGION --format "value(authorizedNetwork)"
Tome nota do nome da rede.
Aplicação de exemplo
Esta aplicação de servidor HTTP de exemplo estabelece uma ligação a uma instância do Redis a partir de um serviço do Cloud Run.
Clone o repositório para a linguagem de programação escolhida e navegue para a pasta que contém o código de exemplo:
Ir
git clone https://github.com/GoogleCloudPlatform/golang-samples
cd golang-samples/memorystore/redis
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
cd nodejs-docs-samples/memorystore/redis
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/memorystore/redis
Esta aplicação de exemplo incrementa um contador do Redis sempre que o ponto final /
é acedido.
Ir
Esta aplicação usa o cliente
github.com/gomodule/redigo/redis
. Instale-o executando o seguinte comando:
go get github.com/gomodule/redigo/redis
Node.js
Esta aplicação usa o módulo redis
.
Python
Esta aplicação usa o Flask
para o serviço Web e o pacote redis-py
para comunicar com a instância do Redis.
Implementar a aplicação no Cloud Run
Para implementar a aplicação:
Copie o ficheiro
Dockerfile
para o diretório de origem:cp cloud_run_deployment/Dockerfile .
Crie uma imagem de contentor com o Cloud Build executando o seguinte comando:
gcloud builds submit --tag gcr.io/PROJECT_ID/visit-count
Implemente o contentor no Cloud Run executando o seguinte comando:
gcloud run deploy \ --image gcr.io/PROJECT_ID/visit-count \ --allow-unauthenticated \ --region REGION \ --network NETWORK \ --subnet SUBNET \ --set-env-vars REDISHOST=REDIS_IP,REDISPORT=REDIS_PORT
where:
PROJECT_ID
é o ID do seu projeto Google Cloud .REGION
é a região onde a sua instância do Redis está localizada.NETWORK
é o nome da rede VPC autorizada à qual a sua instância do Redis está associada.SUBNET
é o nome da sua sub-rede. A sub-rede tem de ter/26
ou mais. A saída direta da VPC suporta intervalos IPv4 RFC 1918, RFC 6598 e Classe E.REDIS_IP
eREDIS_PORT
são o endereço IP e o número da porta da sua instância do Redis.
Após a conclusão bem-sucedida da implementação, a linha de comandos apresenta o URL do serviço do Cloud Run. Visite este URL num navegador de Internet (ou use uma ferramenta como curl
) e veja a contagem na sua instância do Redis aumentar
sempre que o serviço é visitado.