Conectando um aplicativo externo

Os seus aplicativos e drivers usam sequências de conexões para fazer uma conexão com o IBM Cloud® Databases for Redis. O serviço fornece sequências de conexões especificamente para drivers e aplicativos. As cadeias de conexão são exibidas no painel Endpoints da página Overview (Visão geral) da sua implantação e também podem ser recuperadas no plug-in Cloud Databases CLI e na API Cloud Databases.

As cadeias de conexão podem ser usadas por qualquer uma das credenciais que você criar em sua implantação. Embora seja possível usar o usuário admin para todas as conexões e os aplicativos, pode ser melhor criar usuários especificamente para as conexões dos aplicativos com eles. Para obter mais informações, consulte Obtenção de cadeias de conexão.

Sequências de conexões para aplicativos

Todas as informações de que um driver precisa para fazer uma conexão com a sua implantação estão na seçãoredis" de uma credencial criada na página Credenciais de serviço. A tabela contém um detalhamento para referência.

informações de conexãoredis
Nome do campo Index Descrição
Type Tipo de conexão - para Redis, é "URI".
Scheme Esquema para um URI - para Redis, é "rediss".
Path Caminho para um URI - para Redis, é o número do banco de dados.
Authentication Username O nome do usuário usado para se conectar.
Authentication Password Uma senha para o usuário - pode ser mostrada como $PASSWORD.
Authentication Method Como a autenticação ocorre; a autenticação "direta" é manipulada pelo driver.
Hosts 0... Um nome do host e uma porta aos quais se conectar.
Composed 0... Um URI que combina esquema, autenticação, host e caminho.
Certificate Name O nome alocado para o certificado proprietário do serviço para a implementação do banco de dados.
Certificate Base64 Uma versão do certificado codificada em Base64.
  • 0... indica que pode haver uma ou mais dessas entradas em uma matriz.

Os drivers do Redis são muitas vezes capazes de fazer uma conexão com sua implementação quando fornecida a sequência de conexões formatada pelo URI localizada no campo "editado" das informações de conexão. Por exemplo, se você definir a string de conexão na variável de ambiente ' REDIS_URL, como no exemplo a seguir:

export REDIS_URL=rediss://admin:$PASSWORD@e6b2c3f8-54a6-439e-8d8a-aa6c4a78df49.8f7bfd8f3faa4218aec56e069eb46187.databases.appdomain.cloud:32371/0

Em seguida, o cliente Node.js pode estabelecer uma conexão com.

let connectionString = process.env.REDIS_URL;

if (connectionString === undefined) {  
  console.error("Please set the REDIS_URL environment variable");
  process.exit(1);
}

let client = null;

client = redis.createClient(connectionString, {
  tls: { servername: new URL(connectionString).hostname }
});

Como alternativa, a string de conexão pode ser analisada e suas partes enviadas ao manipulador de conexão, como no exemplo de cliente Python a seguir:

parsed = urlparse(connection_string)

r = redis.StrictRedis(
    host=parsed.hostname,
    port=parsed.port,
    password=parsed.password,
    ssl=True,
    ssl_ca_certs='/etc/ssl/certs/ca-certificates.crt',
    decode_responses=True)

Redis tem uma matriz de clientes para os aplicativos usarem. Uma lista bastante abrangente é mantida no site Redis. Alguns aspectos úteis que você deve ter em mente ao escolher um cliente são os recursos que permitem projetar facilmente seu aplicativo para a nuvem, como a configuração de alta disponibilidade, segurança e suporte a certificados proprietários de serviços.

Suporte a certificados proprietários de serviços e TLS

Todas as conexões com o Databases for Redis são ativadas pelo TLS 1.2, portanto, o driver usado para a conexão precisa ser capaz de suportar a criptografia TLS.

Se seu driver não suportar o protocolo rediss: ou as conexões TLS/SSL, ainda será possível tunelar conexões com o terminal de banco de dados do Redis usando um aplicativo de túnel TLS/SSL, como o Stunnel. Um exemplo de uso do Stunnel pode ser localizado na página Conectando-se a um cliente da linha de comandos, na qual ele é usado para conectar o aplicativo redis-cli.

As implementações também vêm com um certificado de propriedade do serviço para que você possa verificar o servidor ao iniciar uma conexão. Embora não seja necessária, será uma etapa de segurança adicional recomendada se seu cliente a suportar.

Para obter mais informações, consulte Cloud Databases FAQ de Certificados.

Usando o certificado de propriedade do serviço

  1. Copie as informações do certificado do painel Endpoints ou do campo Base64 das informações de conexão da credencial de serviço.
  2. Se necessário, decodifique a sequência Base64 em texto.
  3. Salve o certificado em um arquivo. (É possível usar o nome fornecido ou o seu próprio nome do arquivo).
  4. Forneça o caminho do certificado para o driver ou o cliente.

Suporte ao plug-in da CLI para o certificado proprietário do serviço

Você pode exibir o certificado decodificado para sua implantação com o plug-in CLI com um comando como:

ibmcloud cdb deployment-cacert <INSTANCE_NAME_OR_CRN>

Esse comando decodifica o endereço Base64 em texto. Copie e salve a saída do comando em um arquivo e forneça o caminho do arquivo para o cliente.