Nesta página, explicamos como se conectar a uma instância do cluster do Memorystore para Redis.
Suporte ao cliente
O Memorystore para Redis Cluster não fornece bibliotecas de cliente próprias, mas é compatível com bibliotecas de cliente de terceiros que oferecem suporte ao protocolo Redis. Uma lista de clientes de exemplo pode ser encontrada na página Clientes do Redis.
Prática recomendada do cliente redis-py
Para se conectar à instância do cluster do Memorystore para Redis usando o cliente Python redis-py, adicione o skip_full_coverage_check=True
ao declarar um cluster do Redis:
from rediscluster import RedisCluster
endpoints = [{"host": "IPADDRESS", "port": "6379"}]
rdb = RedisCluster(
startup_nodes=endpoints,
skip_full_coverage_check=True, # Required for Memorystore
decode_responses = True)
print(rdb.set('PYTHON', 'CLUSTER'))
print(rdb.get('PYTHON'))
print(rdb.unlink('PYTHON'))
Adicionar portas à lista de permissões no firewall
Se você não colocar as portas corretas na lista de permissões do firewall, a instância poderá encontrar erros de conexão. Para mais informações sobre como adicionar portas à lista de permissões, consulte Resolver problemas.
Acesso entre regiões
É possível acessar uma instância do Memorystore para Redis Cluster de um cliente localizado em uma região diferente da instância do Memorystore.
Ver o endpoint de descoberta do cluster
Para conferir o endpoint de descoberta do cluster do Memorystore, siga estas instruções:
Console
Acesse a página Memorystore para Redis Cluster no console Google Cloud .
Clique no ID do cluster.
Na seção Conectar-se a esta instância, anote o endereço IP e o número da porta ao lado de Endpoint de descoberta. Esses dois valores usados juntos são o endpoint de descoberta do cluster.
gcloud
Para conferir o endpoint de descoberta do cluster, execute a CLI gcloud describe
conforme explicado na seção Ver detalhes da instância.
A saída será semelhante a esta:
authorizationMode: AUTH_MODE_DISABLED
createTime: '2023-08-04T17:49:07.988918793Z'
discoveryEndpoints:
- address: 10.142.0.13
port: 6379
pscConfig:
- network: projects/my-project-364018/global/networks/default
name: projects/my-project-364018/locations/us-east1/clusters/my-cluster-1
pscConnections:
- address: 10.142.0.13
forwardingRule: https://www.googleapis.com/compute/v1/projects/my-project-364018/regions/us-east1/forwardingRules/sca-auto-fr-5bc46f69-ec80-4c5a-8971-ce267a4d8ddd
network: projects/my-project-364018/global/networks/default
projectId: my-project-364018
pscConnectionId: '25734306048376845'
- address: 10.142.0.10
forwardingRule: https://www.googleapis.com/compute/v1/projects/my-project-364018/regions/us-east1/.
forwardingRules/sca-auto-fr-817b64c5-85ac-48d0-82e3-c6fa99b4e67d
network: projects/my-project-364018/global/networks/default
projectId: my-project-364018
pscConnectionId: '25734306048376842'
replicaCount: 0
shardCount: 3
sizeGb: 39
state: ACTIVE
tier: PERFORMANCE
transitEncryptionMode: TRANSIT_ENCRYPTION_MODE_DISABLED
uid: cddda5de-d91f-449b-8755-3a665430271a
Anote o endereço do endpoint e o número da porta listados na seção
discovery_endpoints:
. Esses dois valores usados juntos são o endpoint de descoberta do cluster.
Conectar-se de uma VM do Compute Engine usando redis-cli
É possível se conectar à instância do cluster do Memorystore para Redis de qualquer VM do Compute Engine que use a rede autorizada da instância do Memorystore.
Para se conectar à instância:
Se você ainda não tem uma VM do Linux no Compute Engine que use a rede autorizada para sua instância do Memorystore para Redis Cluster, crie uma e conecte-se a ela seguindo o Guia de início rápido para criar uma VM do Linux.
Instale a versão 6.0 ou mais recente do
redis-cli
na VM do Compute Engine seguindo as instruções em Instalar o Redis no Linux.Conecte-se ao endpoint de descoberta da instância executando o seguinte comando:
redis-cli -h DISCOVERY_ENDPOINT_ADDRESS -p PORT_NUMBER -c
Em que:
- DISCOVERY_ENDPOINT_ADDRESS e PORT_NUMBER são os valores anotados na etapa anterior.
Execute o comando
CLUSTER SHARDS
para conferir a topologia do cluster. Anote um dos endereços IP e números de porta do nó.Conecte-se ao nó desejado executando o seguinte comando:
redis-cli -h NODE_IP_ADDRESS -p NODE_PORT -c
Substitua:
- NODE_IP_ADDRESS é o endereço IP do nó que você encontrou na etapa anterior.
- NODE_PORT é o número da porta do nó que você encontrou na etapa anterior.
Depois de se conectar ao nó, insira alguns comandos do Redis:
Insira o seguinte:
PING
Result:
PONG
Enter
SET HELLO WORLD
Result:
OK
Insira o seguinte:
GET HELLO
Resultado:
"WORLD"
Após concluir o teste de conexão com o nó do Redis, exclua a VM do Compute Engine usada para se conectar à instância do Redis. Isso ajuda a evitar cobranças na sua conta do Cloud Billing.
Conectar-se a uma instância com a criptografia em trânsito ativada
Nesta seção, você vai encontrar um exemplo de como se conectar a uma instância do Memorystore para Redis Cluster com a criptografia em trânsito ativada.
Se você ainda não tem uma VM do Compute Engine que use a mesma rede autorizada da instância do Redis da etapa anterior, crie uma e conecte-se a ela seguindo o Guia de início rápido sobre como usar uma VM do Linux.
- Instale a versão 6.0 ou mais recente do
redis-cli
na VM do Compute Engine seguindo as instruções em Instalar o Redis no Linux.
- Instale a versão 6.0 ou mais recente do
Instale a autoridade de certificação da instância na VM do Linux seguindo as instruções em Instalar autoridades de certificação no cliente.
Conecte-se ao endpoint de descoberta da instância executando o seguinte comando:
redis-cli -h DISCOVERY_ENDPOINT_ADDRESS -p PORT_NUMBER -c --tls --cacert /tmp/server_ca.pem
Em que:
- DISCOVERY_ENDPOINT_ADDRESS e PORT_NUMBER são os valores anotados na etapa anterior.
Execute o comando
CLUSTER SHARDS
para conferir a topologia do cluster. Anote um dos endereços IP e números de porta do nó.Conecte-se ao nó desejado executando o seguinte comando:
redis-cli -h NODE_IP_ADDRESS -p NODE_PORT -c --tls --cacert /tmp/server_ca.pem
Substitua:
- NODE_IP_ADDRESS é o endereço IP do nó que você encontrou na etapa anterior.
- NODE_PORT é o número da porta do nó que você encontrou na etapa anterior.
Depois de se conectar ao nó, insira alguns comandos do Redis:
Insira o seguinte:
PING
Resultado:
PONG