Pode estabelecer ligação a uma instância do Redis a partir do ambiente padrão do App Engine através do acesso a VPC sem servidor.
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.
Configurar o Acesso a VPC sem servidor
Para estabelecer ligação a partir da sua app do App Engine à rede VPC autorizada da instância do Redis, tem de configurar o Acesso a VPC sem servidor.
Encontre a rede autorizada da sua instância do Redis executando o comando:
gcloud redis instances describe [INSTANCE_ID] --region [REGION]
Siga as instruções em Criar um conetor para criar um conetor do Acesso a VPC sem servidor. Certifique-se de que cria o conector na mesma região que a sua app e certifique-se de que o conector está associado à rede VPC autorizada da instância do Redis. Memorize o nome do conetor.
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 uma app do ambiente padrão do App Engine.
Clone o repositório para a linguagem de programação pretendida 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
Java
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
cd java-docs-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
Java
Esta aplicação baseia-se no servlet Jetty 3.1.
Usa a biblioteca Jedis:
A classe AppServletContextListener
é usada para criar um conjunto de ligações Redis de longa duração:
A classe VisitCounterServlet
é um servlet Web que incrementa um contador 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.
Preparar a aplicação para implementação
Para aceder à instância do Redis, a app do App Engine tem de estar configurada para usar o seu conetor de acesso à VPC sem servidor, e tem de fornecer os detalhes de ligação da instância do Redis.
Se ainda não tiver uma, crie uma aplicação do App Engine.
Atualize a configuração da app para especificar o conetor de acesso à VPC sem servidor e o endereço IP e a porta da sua instância do Redis:
Ir
Atualize o ficheiro
gae_standard_deployment/app.yaml
:Consulte o ficheiro de configuração app.yaml para mais detalhes.
Java
Atualize o ficheiro
gae_standard_deployment/appengine-web.xml
para especificar o conetor de acesso à VPC sem servidor:Atualize o ficheiro
src/main/resources/application.properties
com o endereço IP e a porta da sua instância do Redis:Para mais informações sobre a configuração da sua app, consulte a referência appengine-web.xml.
Node.js
Atualize o ficheiro
gae_standard_deployment/app.yaml
:Consulte o ficheiro de configuração app.yaml para mais detalhes.
Python
Atualize o ficheiro
gae_standard_deployment/app.yaml
:Consulte o ficheiro de configuração app.yaml para mais detalhes.
Implementar a aplicação no ambiente padrão do App Engine
Para implementar a aplicação:
Copie os ficheiros de configuração necessários para o diretório de origem:
Ir
Copie os ficheiros
app.yaml
ego.mod
para o diretório de origem:cp gae_standard_deployment/{app.yaml,go.mod} .
Java
Copie o ficheiro
appengine-web.xml
para o diretório de origem:mkdir -p src/main/webapp/WEB-INF cp gae_standard_deployment/appengine-web.xml src/main/webapp/WEB-INF/
Node.js
Copie o ficheiro
app.yaml
para o diretório de origem:cp gae_standard_deployment/app.yaml .
Python
Copie o ficheiro
app.yaml
para o diretório de origem:cp gae_standard_deployment/app.yaml .
Execute o comando de implementação:
Ir
gcloud app deploy
Java
mvn package appengine:stage gcloud app deploy target/appengine-staging/app.yaml
Node.js
gcloud app deploy
Python
gcloud app deploy
Após a implementação estar concluída, o comando vai gerar o URL onde pode visitar a sua app. Se visitar este URL, vai ver a contagem na sua instância do Redis aumentar sempre que a página for carregada.