Verbindung mit einer externen Anwendung herstellen
Ihre Anwendungen und Treiber verwenden Verbindungszeichenfolgen, um eine Verbindung zu IBM Cloud® Databases for Redis herzustellen. Der Service bietet Verbindungszeichenfolgen speziell für Treiber und Anwendungen. Die Verbindungszeichenfolgen werden im Bereich Endpunkte auf der Übersichtsseite Ihrer Bereitstellung angezeigt und können auch über das Cloud Databases CLI-Plug-in und die Cloud Databases API abgerufen werden.
Die Verbindungszeichenfolgen können von jedem der Anmeldeinformationen verwendet werden, die Sie in Ihrer Einrichtung erstellen. Sie können zwar den Benutzer mit Administratorberechtigung für alle Verbindungen und Anwendungen verwenden, es kann jedoch sinnvoller sein, Benutzer speziell für die Anwendungen zu erstellen, zu denen diese eine Verbindung herstellen möchten. Weitere Informationen finden Sie unter Abrufen von Verbindungsstrings.
Verbindungszeichenfolgen für Anwendungen
Alle Informationen, die ein Treiber benötigt, um eine Verbindung zu Ihrer Bereitstellung herzustellen, befinden sich im Abschnittredis" eines Berechtigungsnachweises, der auf der Seite " Service credentials" erstellt wurde. Die Tabelle enthält eine Aufgliederung zu Referenzzwecken.
| Feldname | Index | Beschreibung |
|---|---|---|
Type |
Art der Verbindung - für Redis ist es "URI". | |
Scheme |
Schema für einen URI - für Redis ist es "rediss". | |
Path |
Pfad für einen URI - bei Redis ist es die Datenbanknummer. | |
Authentication |
Username |
Der Benutzername, den Sie zum Herstellen einer Verbindung verwenden |
Authentication |
Password |
Ein Passwort für den Benutzer - könnte als $PASSWORD angezeigt werden. |
Authentication |
Method |
Gibt an, wie die Authentifizierung erfolgt; die 'direkte' Authentifizierung wird vom Treiber abgewickelt |
Hosts |
0... |
Hostname und Port, zu denen die Verbindung hergestellt werden soll. |
Composed |
0... |
Ein URI, der Schema, Authentifizierung, Host und Pfad kombiniert. |
Certificate |
Name |
Der zugewiesene Name für das diensteigene Zertifikat für die Datenbankbereitstellung. |
Certificate |
Base64 | Eine Version des Zertifikats in Base64-Codierung |
0...Gibt an, dass es möglicherweise weitere derartige Einträge in einem Array gibt.
Redis-Treiber sind häufig in der Lage, eine Verbindung zu Ihrer Bereitstellung herzustellen, wenn die URI-formatierte Verbindungszeichenfolge aus dem Feld 'Erstellt' der Verbindungsinformationen angegeben wird. Wenn Sie beispielsweise die Verbindungszeichenfolge
in der Umgebungsvariablen " REDIS_URL festlegen, wie im folgenden Beispiel:
export REDIS_URL=rediss://admin:$PASSWORD@e6b2c3f8-54a6-439e-8d8a-aa6c4a78df49.8f7bfd8f3faa4218aec56e069eb46187.databases.appdomain.cloud:32371/0
Dann kann der Node.js-Client eine Verbindung mit dem Internet herstellen.
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 }
});
Alternativ kann der Verbindungsstring geparst und seine Teile an den Verbindungshandler gesendet werden, wie im folgenden Python Client-Beispiel:
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 verfügt über eine Reihe von Clients, die von Anwendungen genutzt werden können. Eine recht umfassende Liste ist auf der Website Redis zu finden. Einige nützliche Dinge, die Sie bei der Auswahl eines Clients beachten sollten, sind Funktionen, die es Ihnen ermöglichen, Ihre Anwendung einfach für die Cloud zu entwerfen, wie z. B. die Konfiguration von Hochverfügbarkeit, Sicherheit und die Unterstützung von serviceeigenen Zertifikaten.
Unterstützung für TLS und diensteigene Zertifikate
Sämtliche Verbindungen zu Databases for Redis sind für TLS 1.2 aktiviert, sodass der für die Verbindung verwendete Treiber in der Lage sein muss, die TLS-Verschlüsselung zu unterstützen.
Wenn Ihr Treiber keine Unterstützung für das Protokoll rediss: oder für TLS/SSL-Verbindungen bietet, ist es immer noch möglich, Verbindungen zum Redis-Datenbankendpunkt im Tunnelungsverfahren herzustellen, indem eine TLS/SSL-Tunnelanwendung
wie beispielsweise 'Stunnel' verwendet wird. Ein Beispiel für die Verwendung von 'Stunnel' finden Sie auf der Seite zum Thema Verbindung mit einem Befehlszeilenclient herstellen.
In diesem Beispiel wird das entsprechende Tunnelungsverfahren verwendet, um die Redis-CLI-Anwendung redis-cli zu verbinden.
Die Bereitstellungen enthalten auch ein diensteigenes Zertifikat, damit Sie den Server beim Aufbau einer Verbindung überprüfen können. Dies ist zwar nicht erforderlich, stellt jedoch einen zusätzlichen Sicherheitsschritt dar, der empfohlen wird, sofern Ihr Client dafür entsprechende Unterstützung bietet.
Weitere Informationen finden Sie unter Cloud Databases Zertifikate-Häufig gestellte Fragen.
Verwendung des diensteigenen Zertifikats
- Kopieren Sie die Zertifikatsinformationen aus dem Bereich Endpunkte oder aus dem Feld Base64 der Verbindungsinformationen der Dienstanmeldeinformationen.
- Decodieren Sie bei Bedarf die Base64-Zeichenfolge in Text.
- Speichern Sie das Zertifikat in einer Datei. (Sie können den vorgegebenen Namen übernehmen oder einen eigenen Dateinamen angeben. )
- Geben Sie gegenüber dem Treiber oder Client den Pfad zum Zertifikat an.
CLI-Plugin-Unterstützung für das diensteigene Zertifikat
Sie können das dekodierte Zertifikat für Ihren Einsatz mit dem CLI-Plugin mit einem Befehl wie diesem anzeigen:
ibmcloud cdb deployment-cacert <INSTANCE_NAME_OR_CRN>
Dieser Befehl dekodiert den Base64 in Text. Kopieren Sie die Ausgabe des Befehls in eine Datei, speichern Sie die Datei und geben Sie den Pfad zur Datei für den Client an.