Para configurar um cache de dados distribuído na memória para o serviço do Cloud Run, use o Memorystore para Redis. Com o Memorystore para Redis, você usa um armazenamento de dados do Redis na memória para armazenar o cache de aplicativos com escala, segurança e alta disponibilidade. É possível se conectar a uma instância do Redis diretamente do serviço do Cloud Run, mas isso exige etapas adicionais para configurar um conector de acesso VPC sem servidor.
Ao usar as integrações do Cloud Run (pré-lançamento) descrito nesta página, é possível conectar rapidamente seu serviço do Cloud Run a um novo cache do Redis usando o Memorystore sem precisar configurar um conector de acesso VPC sem servidor. Se você quiser conectar o serviço do Cloud Run a uma instância do redis existente, consulte Como se conectar a uma instância do Redis em um serviço do Cloud Run.
Antes de começar
- Verifique se o serviço do Cloud Run com que você está integrando já está implantado.
- Consulte a página de preços do Memorystore. A cobrança é feita com base nos recursos individuais usados na integração.
Funções exigidas
Para usar as integrações do Cloud Run, você ou seu administrador precisa conceder papéis do IAM em dois principais diferentes.
Clique para conferir os papéis necessários da sua Conta do Google
Para receber as permissões necessárias para usar as integrações do Cloud Run, peça ao administrador para conceder à sua Conta do Google os seguintes papéis do IAM no projeto:
- Desenvolvedor do Cloud Run (
roles/run.developer
) - Leitor do Compute (
roles/compute.viewer
) - Desenvolvedor de integrações sem servidor (
roles/runapps.developer
) - Operador de integrações sem servidor (
roles/runapps.operator
) - Usuário da conta de serviço (
roles/iam.serviceAccountUser
)
Clique para conferir os papéis necessários para a conta de serviço
Para implantar o serviço do Cloud Run, use a conta de serviço padrão do Compute Engine criada automaticamente ou especifique uma conta de serviço gerenciado pelo usuário. Essa conta de serviço precisa ter os seguintes papéis:
- Desenvolvedor do Cloud Run (
roles/run.developer
) - Gravador de bucket de registros (
roles/logging.bucketWriter
) - Usuário da conta de serviço (
roles/iam.serviceAccountUser
) - Administrador do Storage (
roles/storage.admin
) - Administrador do Cloud Memorystore para Redis (
roles/redis.admin
) - Leitor do Compute (
roles/compute.viewer
) - Administrador de acesso VPC sem servidor (
roles/vpcaccess.admin
)
Como conectar um serviço a um novo cache do Redis
Qualquer mudança na configuração leva à criação de uma nova revisão. As próximas revisões também recebem automaticamente essa configuração, a menos que você faça atualizações explícitas para alterá-la.
É possível conectar um serviço do Cloud Run a um cache do Redis usando o console ou a linha de comando. Se você não especificar um tamanho de memória, será usado um cache de 1 gigabyte.
Console
No console do Google Cloud, acesse a página do Cloud Run.
Clique no serviço na lista de serviços que você quer usar na integração.
Clique na guia Integrations.
Clique em Adicionar integração.
Clique em Redis: Google Cloud MemoryStore.
Aceite os padrões ou mude o nome e o tamanho do cache para os valores que você quer usar.
Se for necessário ativar uma lista de APIs, clique em Ativar e aguarde a ativação das APIs.
Em Recursos, observe os novos recursos que serão criados como resultado dessa integração.
Clique em Enviar e aguarde a criação da integração e dos recursos. Isso pode levar até 15 minutos.
Linha de comando
Atualizar para a versão mais recente da Google Cloud CLI:
gcloud components update
Criar a integração:
gcloud beta run integrations create \ --type=redis \ --service=SERVICE \ --parameters=memory-size-gb=MEMORY-SIZE
Substitua:
- SERVICE pelo nome do serviço do Cloud Run.
- MEMORY-SIZE pelo tamanho que você quer em gigabytes do cache. O padrão é 1 GB.
Se quiser, inclua a flag
--service-account=SERVICE_ACCOUNT_EMAIL
.Substitua SERVICE_ACCOUNT_EMAIL pelo endereço de e-mail da conta de serviço gerenciado pelo usuário (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
) que é usado para implantar o serviço. Omita essa flag se quiser usar a conta de serviço padrão do Compute (SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com
).Para continuar usando a conta de serviço especificada ao implantar integrações do Cloud Run, execute:
gcloud config set runapps/deployment-service-account
Aguarde até 15 minutos, período em que um cache do Redis totalmente configurado é criado e conectado. Além disso, uma nova revisão do Cloud Run é criada, incluindo a configuração de rede e as variáveis de ambiente necessárias para o cache do Redis. Quando o processo estiver concluído, a seguinte mensagem será exibida:
[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.
É possível conferir o status usando
gcloud beta run integrations describe
Atualizar integrações de cache do Redis
Atualizar uma integração atualiza todos os recursos do Google Cloud associados a ela. Para atualizar uma integração de cache do Redis do seu serviço do Cloud Run:
Console
No console do Google Cloud, acesse a página do Cloud Run.
Clique no serviço que você quer atualizar.
Clique na guia Integrations.
Localize a integração de cache do Redis e clique em Editar.
Quando terminar de atualizar os campos, clique em Atualizar.
Linha de comando
Use o comando a seguir para ver uma lista de integrações disponíveis:
gcloud beta run integrations list
Use o comando para atualizar a integração:
gcloud beta run integrations update INTEGRATION_NAME
Substitua:
- INTEGRATION_NAME pelo nome da sua integração de cache do Redis.
Se preferir, use as seguintes flags opcionais:
Opção Descrição --parameters
O tamanho da memória em gigabytes do cache. --service-account
O endereço de e-mail da conta de serviço gerenciado pelo usuário que será especificado ao atualizar o serviço. Essa conta de serviço substitui a conta de serviço anterior que foi usada na implantação.
Visualizar integrações de cache do Redis
Para visualizar o status atual das integrações de cache do Redis para seu serviço do Cloud Run:
Console
No console do Google Cloud, acesse a página do Cloud Run.
Clique no serviço na lista de serviços que você quer usar na integração.
Clique na guia Integrations.
Localize a integração de cache do Redis do seu interesse e clique em Visualizar detalhes.
Linha de comando
Use o comando a seguir para ver uma lista de integrações disponíveis:
gcloud beta run integrations list
Usando um nome da lista retornada, exiba os detalhes:
gcloud beta run integrations describe INTEGRATION_NAME
Substitua INTEGRATION_NAME pelo nome da sua integração com o cache do Redis.
Excluir integrações de cache do Redis
A exclusão de uma integração também exclui todos os recursos do Google Cloud associados a ela, mas não exclui o serviço do Cloud Run.
Para excluir uma integração de cache do Redis do seu serviço do Cloud Run:
Console
No console do Google Cloud, acesse a página do Cloud Run.
Clique no serviço do qual você quer excluir uma integração.
Clique na guia Integrations.
Localize a integração de cache do Redis do seu interesse e clique no ícone de reticências à direita da integração e, em seguida, em Excluir.
Linha de comando
Use o comando a seguir para obter uma lista de integrações disponíveis:
gcloud beta run integrations list
Usando um nome da lista retornada, exclua a integração:
gcloud beta run integrations delete INTEGRATION_NAME
Substitua:
- INTEGRATION_NAME pelo nome da sua integração de cache do Redis.
Se preferir, use as seguintes flags opcionais:
Opção Descrição --service-account
O endereço de e-mail da conta de serviço gerenciado pelo usuário para executar a operação de exclusão.
Como acessar o cache do Redis no seu código
Observe que, como resultado da conclusão da integração descrita nesta página,
as variáveis de ambiente REDISHOST
e REDISPORT
são adicionadas automaticamente
e ficam disponíveis para serem usadas pelo seu código de serviço do Cloud Run.
Exemplo de código para serviços que usam o Redis
Consulte a documentação do Memorystore para exemplos de código completos do Cloud Run e do Redis em várias linguagens que usam o Redis.
Limitações
- As integrações do Cloud Run são compatíveis apenas com determinadas regiões. Se você precisar usar uma região não compatível com as integrações do Cloud Run, consulte Como se conectar a uma instância do Redis a partir de um serviço do Cloud Run.
- Só há suporte para conectores VPC na rede VPC padrão. Redes legadas não são compatíveis.