Estabelecendo Conexão com um Cluster do Cache do OCI

O OCI Cache fornece acesso a um cluster em um ponto final privado.

Com pontos finais privados, o tráfego não passa pela internet. Você só pode estabelecer conexão com o cluster de um cliente dentro da mesma VCN que o cluster ou outra VCN com gateways e regras de roteamento apropriados configurados.

Advertência

O comando CHAVE não é suportado para uso regular em ambientes de produção, destina-se apenas a depuração e operações especiais. Quando você envia o comando KEYS para um cluster, o cluster pode sofrer uma falha ou degradação do desempenho.

Para localizar chaves em um subconjunto do espaço de chaves, use o comando SCAN ou um tipo de dados de conjuntos.

Limitações e Considerações

  • Você só pode estabelecer conexão com os nós de um cluster usando os FQDNs (Nomes de Domínio Totalmente Qualificados) fornecidos pelo serviço. Para clusters não fragmentados, os FQDNs se destinam aos pontos finais privados para os nós principais ou de réplica do cluster. Consulte Obtendo Detalhes de Conexão de um Cluster de Cache do OCI. Para clusters com sharding, os FQDNs se destinam aos pontos finais privados para cada nó do shard. Consulte Obtendo Detalhes da Conexão de um Cluster com Sharding do Cache do OCI.
    Importante

    Não use endereços IP para resolver nós na topologia.
  • Por padrão, o OCI Cache só suporta conexões TLS com clusters, independentemente do cliente do qual você está se conectando. Se seu cenário exigir conexão sem TLS, entre em contato com o suporte.

  • Se a versão do mecanismo de cache do cluster for REDIS_7_0, o Redis CLI versão 6 ou mais recente for necessário, o Redis CLI versão 7 será recomendado. Se a versão do mecanismo de cache for VALKEY_7_2, a versão 7.2 da CLI do Valkey será obrigatória. Para obter mais informações, consulte Conexão com a CLI Valkey ou a CLI Redis.

  • Ao estabelecer conexão com bancos de dados como o OCI Cache, use o pool de conexões como uma boa prática de desenvolvimento. Se o número de conexões com o cluster exceder 1024, isso poderá causar carga excessiva no processo do serviço e desacelerar as respostas. Consulte a documentação da estrutura ou biblioteca que você está usando para as práticas de codificação recomendadas.

  • Quando você cria um cluster, o OCI Cache cria e gerencia o conjunto de instâncias do serviço Compute que compõem os nós do cluster. Essas instâncias são as únicas instâncias suportadas como nós de cluster; você não pode anexar nenhuma instância criada separadamente como um nó para o cluster. A tentativa de anexar instâncias adicionais ao cluster faz com que o cluster informe um estado de ciclo de vida FAILED.

  • Qualquer biblioteca cliente Valkey ou Redis que você use para se conectar a um cluster fragmentado deve suportar Valkey ou Redis CLUSTER MODE com suporte a nome de host.

Informações de Conexão do Cluster Não Compartilhado

As informações de conexão do cluster incluem os seguintes pontos finais que você usa para estabelecer conexão com o cluster:

  • Ponto final principal: Este é o ponto final do nó principal do cluster. Esse ponto final sempre se conecta ao nó configurado como principal, mesmo que a instância subjacente configurada como o nó principal tenha sido alterada.

  • Ponto final de réplicas: Este é o ponto final dos nós de réplica do cluster. Esse ponto final sempre se conecta a um nó configurado como réplica, embora para clusters com vários nós de réplica, talvez não seja a mesma réplica a cada vez.

  • Pontos finais do nó: Esses são os pontos finais diretos para cada instância do nó. Só use esses pontos finais para conexões se tiver verificado que você está se conectando ao tipo de nó ao qual espera se conectar. Às vezes, a instância subjacente do nó principal pode ter sido alterada. Para garantir que você esteja se conectando ao nó principal, use o ponto final principal.

Consulte Obtendo Detalhes da Conexão de um Cluster de Cache do OCI para saber como exibir essas informações.

Informações de Conexão do Cluster com Sharding

Os clusters com sharding não têm pontos finais principais ou de réplica no nível do cluster que você usa para estabelecer conexão com o cluster. Em vez disso, você usa os pontos finais privados para os nós principais dos shards de um cluster. Consulte Obtendo Detalhes da Conexão de um Cluster com Sharding no Cache do OCI para obter essas informações. Recomendamos que você especifique os pontos finais privados para os três primeiros shards do cluster nas informações de conexão do seu aplicativo.

Regra de Segurança para Conexão com Clusters

Para ativar conexões com um cluster, a VCN do cluster deve ter uma regra de segurança de entrada configurada com os seguintes valores:

  • Sem Monitoramento de Estado: Não

  • Protocolo IP: TCP

  • Intervalo de Portas de Origem: Tudo

  • Faixa de Portas de Destino: 6379

  • Permite: Tráfego TCP para as portas: 6379

O serviço Networking fornece dois recursos que você pode usar para aplicar uma regra de segurança a uma VCN, listas de segurança e grupos de segurança de rede (NSGs). O OCI Cache suporta ambos os recursos. Para obter mais informações, consulte Lista de Segurança para Clusters e Usando um NSG para Clusters.

Com listas de segurança, a regra de segurança se aplica a todas as VCNs de uma sub-rede. Certifique-se de que a sub-rede da qual seu aplicativo cliente se conecta ao cluster do OCI Cache tenha uma lista de segurança de saída que permita a comunicação com o OCI Cache na porta de destino 6379.

Se você quiser que a regra de segurança só se aplique ao subconjunto de VCNs, use um NSG. Para obter mais informações sobre as diferenças entre grupos de segurança e NSGs, consulte Comparação de Listas de Segurança e Grupos de Segurança de Rede.

Lista de Segurança para Clusters

Quando você cria um cluster, para tornar os dados acessíveis do cluster, o OCI Cache cria uma lista de segurança com uma regra de segurança de entrada com monitoramento de estado para tráfego TCP na porta de destino 6379 para a VCN do cluster.

Você pode verificar a lista de segurança dessa regra usando as seguintes etapas:

  1. Na página da lista Clusters, selecione o cluster com o qual você deseja trabalhar. Se precisar de ajuda para localizar a página de lista ou o cluster, consulte Listando Clusters do Cache do OCI.

  2. Na página de detalhes do cluster, selecione o link Sub-rede na guia Informações do cluster.

  3. Na página de lista da sub-rede, selecione Segurança.

  4. Na página Listas de Segurança, selecione redis-security-list.

  5. Na página redis-security-list details, selecione Regras de segurança.

  6. Em Regras de Entrada, você deverá ver uma regra listada, com os seguintes valores:

    • Sem Monitoramento de Estado: Não

    • Protocolo IP: TCP

    • Intervalo de Portas de Origem: Tudo

    • Faixa de Portas de Destino: 6379

    • Permite: Tráfego TCP para as portas: 6379

Se você não vir a lista de segurança ou a regra não estiver configurada conforme necessário, poderá criar uma nova lista de segurança e adicionar a regra ou poderá adicionar a regra à lista de segurança padrão da VCN. Para obter mais informações, consulte Listas de Segurança e Criando uma Lista de Segurança.

Ao criar e configurar a regra, você precisa especificar as seguintes opções na página Adicionar Regras de Entrada:
  • Sem monitoramento de estado: Deixe a caixa de seleção desmarcada.

  • Tipo de Origem: CIDR

  • Protocolo IP: TCP

  • Intervalo de Portas de Origem: Tudo

  • Faixa de Portas de Destino: 6379

Usando um NSG para Clusters

Para usar um NSG, em vez de uma lista de segurança, adicione uma regra de segurança de entrada ao NSG com a configuração necessária para estabelecer conexão com um cluster. Para obter mais informações sobre como criar e gerenciar NSGs, consulte o seguinte:

Ao criar e configurar a regra de entrada para o NSG, você precisa especificar a seguinte configuração:
  • Sem monitoramento de estado: Deixe a caixa de seleção desmarcada.

  • Tipo de Origem: CIDR

  • Protocolo IP: TCP

  • Intervalo de Portas de Origem: Tudo

  • Faixa de Portas de Destino: 6379

Você pode configurar de um a cinco NSGs para um cluster. Você pode especificar NSGs para um cluster ao criar o cluster. Você também pode configurar NSGs para um cluster existente. Consulte Configurar Grupos de Segurança de Rede de um Cluster de Cache do OCI.

Criar uma Instância de VM

Você pode estabelecer conexão com o cluster usando os comandos Valkey CLI ou Redis CLI de uma instância de VM dentro da mesma sub-rede do cluster. Consulte um dos seguintes tópicos para saber como criar uma instância:

Depois que a instância for criada, conecte-se à instância. Para obter mais informações, consulte:

Estabelecendo Conexão com a CLI Valkey ou a CLI Redis

Dica

Para clusters configurados com o mecanismo de cache versão REDIS_7_0, o Redis CLI versão 6 ou mais recente é necessário, o Redis CLI versão 7 é recomendado. Para clusters configurados com o mecanismo de cache versão VALKEY_7_2, o Valkey CLI versão 7.2 é obrigatório.

Faça download e instale a CLI Redis ou a CLI Valkey na instância da VM.

Observação

A CLI Redis e Valkey usam a mesma sintaxe de comando. A única diferença entre os dois é a inclusão do identificador redis-cli ou valkey-cli no início do comando. Você pode executar todos os comandos neste tópico usando um desses identificadores, dependendo da CLI instalada. O primeiro dos exemplos a seguir dá os exemplos de Redis e Valkey. Mas você pode usar qualquer identificador para qualquer um dos exemplos.

Para estabelecer conexão com um cluster não fragmentado, execute o seguinte comando para estabelecer conexão com o nó principal do cluster:

redis-cli --tls -h <ID>-p.redis.<region>.oci.oraclecloud.com
valkey-cli --tls -h <ID>-p.redis.<region>.oci.oraclecloud.com

Para estabelecer conexão com um cluster com sharding, execute o seguinte comando para estabelecer conexão com um dos shards do cluster:

redis-cli --tls -h <ID>.redis.<region>.oci.oraclecloud.com -c

Consulte Obtendo Detalhes da Conexão de um Cluster com Shard do OCI Cache para saber como obter a string de conexão do shard.

Importante

Você deve incluir a chave -c para conexões com clusters com sharding. Isso especifica que você está se conectando com a CLI no modo cluster. Consulte 4.2 Usando o Redis-CLI com um Cluster Redis para obter mais informações.

Se você não incluir --tls, o erro Error: connection reset by peer ocorrerá para qualquer comando da CLI do Redis.

O erro Unrecognized option or bad number of args for: '--tls' ocorrerá se a versão da CLI Redis que você está usando for mais antiga que a versão 6. Para verificar a versão da CLI do Redis, execute o seguinte comando:

redis-cli -v

Scripts Lua

Os scripts Lua são executados no servidor, permitindo leitura e gravação eficientes de dados do cluster. Para obter mais informações, consulte Script com Lua. O exemplo a seguir mostra como chamar o comando EVAL na CLI Valkey ou na CLI Redis para definir um valor de chave e, em seguida, recuperar o valor da chave.

Para definir o valor da chave:

redis-cli --tls -h <IP_address> EVAL "return redis.call('SET', 'mykey', 'helloworld')" 0

Para recuperar o valor da chave que você acabou de definir:

redis-cli --tls -h <IP_address> EVAL "return redis.call('GET', 'mykey')" 0

Não recomendamos o uso de scripts Lua de longa execução. Quando um script Lua é executado, outros comandos são bloqueados para execução até que o script Lua seja concluído. O tempo máximo de execução de um script é definido pelo valor busy-reply-threshold. Por padrão, o valor do limite de resposta ocupado é cinco segundos. Quando um script Lua é executado por mais de cinco segundos do tempo de execução padrão, há uma chance maior de que os failovers sejam acionados para o cluster e que o cluster entre em um estado não íntegro. Se você tiver um cluster que exija scripts Lua que levem mais de cinco segundos para serem executados, entre em contato com o suporte para solicitar que o valor busy-reply-threshold do cluster seja aumentado.

Importante

Os scripts Lua não são suportados para clusters fragmentados.

Diagnosticando e Solucionando Problemas de Conexão com um Cluster

Conectividade Básica do Teste com a Ferramenta dig

Use a ferramenta dig para testar a conectividade de rede básica com o cluster, por exemplo, para estabelecer conexão com o nó principal:
dig <primary_endpoint>

Consulte Obtendo Detalhes da Conexão de um Cluster de Cache do OCI para saber como obter o ponto final do nó principal.

Se você executar o comando dig de dentro da mesma VCN do cluster e a conexão falhar na resolução, verifique se a sub-rede tem uma lista de segurança com uma regra de segurança de entrada com monitoramento de estado para tráfego TCP na porta de destino 6379. Quando você cria um cluster, o OCI Cache cria uma lista de segurança com a configuração necessária. No entanto, se isso for removido ou atualizado, você precisará adicionar essa configuração. Para obter detalhes, consulte Lista de Segurança para Clusters.

Se você executar o comando dig de outra VCN como cluster e a conexão não for resolvida, verifique se você tem a configuração correta da tabela de roteamento para as VCNs. Consulte Tabelas de Roteamento da VCN.

Analisador de Caminho de Rede

Você também pode usar o Analisador de Caminho de Rede para testar a conectividade com o cluster. Com essa ferramenta, você pode diagnosticar e identificar problemas de roteamento e outros problemas de configuração de rede com a configuração, quer esteja se conectando de dentro da mesma VCN ou de outra VCN.