Key-Value Store (Redis Kompatibel)
Unser Key-Value Store ist eine Redis-kompatible In-Memory-Datenbank, die als verteilter Cache und Message Broker eingesetzt werden kann. On-Demand Key-Value Stores bieten begrenzte Konfigurationsmöglichkeiten. Für umfangreichere Einstellungen verwenden Sie bitte unsere Key-Value Stores als Managed Service.
Erste Schritte
Sie können nctl
oder Cockpit, unsere Weboberfläche, verwenden, um zu beginnen:
- Cockpit
- nctl
- Erstellen Sie einen Neuen Service direkt in Cockpit, um zu beginnen. Vergessen Sie nicht, Ihre IP zu erlauben um sich mit der Instanz zu verbinden.
- Rufen Sie die Anmeldedaten von der Übersichtsseite ab. Notieren Sie sich FQDN und Token. Der Benutzer "default" wird verwendet.
- Verbinden Sie sich mit der neu erstellten Instanz:
REDISCLI_AUTH="${TOKEN}" redis-cli --tls --insecure -h ${FQDN}
- Stellen Sie sicher, dass Sie mit
nctl
angemeldet sind:nctl auth login
- Erstellen Sie einen
keyvaluestore
:nctl create keyvaluestore my-test-kvs --allowed-cidrs=203.0.113.1/32 # ersetzen Sie 203.0.113.1 mit Ihrer öffentlichen IP-Adresse, um Verbindungen von Ihrem System zuzulassen
- Verbinden Sie sich mit der neu erstellten Instanz:
nctl get keyvaluestore my-test-kvs # notieren Sie sich den FQDN
nctl get keyvaluestore my-test-kvs --print-token # notieren Sie sich das Token
REDISCLI_AUTH="${TOKEN}" redis-cli --tls --insecure -h ${FQDN}
Die instanzen können über das Cockpit, mit unserem Kommandozeilen-Tool nctl
oder direkt über die API verwaltet werden.
Die Abrechnung erfolgt automatisch auf Basis der genutzten Ressourcen. Das automatisierte Management von Nine gewährleistet einen reibungslosen Betrieb des Dienstes.
Updates und Wartungsfenster
Sicherheits- und Softwareupdates werden in der Regel während des NKE Wartungsfensters.
Daher kann es während dieses Wartungsfensters zu kurzen Serviceunterbrechungen kommen, ohne dass dies vorher angekündigt wird.
Preise
nine-key-value-store-256mb | nine-key-value-store-1gb | nine-key-value-store-2gb | x gb | |
---|---|---|---|---|
RAM | 256 MB | 1 GB | 2 GB | x GB |
Speicherplatz | 512 MB | 2 GB | 4 GB | x * 2 GB |
Monatliche Kosten | x * |
Achtung, der Speicherplatz kann nicht verringert werden kann und basiert auf der konfigurierten Menge RAM.
Preise für On-Demand Key-Value Stores beginnen bei . Zusätzliche Gebühren basieren auf den genutzten Ressourcen.
Konfigurationsoptionen
Die On-Demand Services bieten eine Basiskonfiguration, die für die meisten Anforderungen geeignet ist, wobei einige Optionen angepasst werden können. Die Anpassung der Konfigurationsoptionen kann zu einem Neustart der Instanz führen.
Die folgenden Konfigurationsparameter können Sie verwenden, um die Datenbankinstanz an Ihre Bedürfnisse anzupassen.
Name
Der Name der Datenbankinstanz kann frei gewählt werden, muss aber einzigartig sein. Nach der Erstellung kann der Name nicht mehr geändert werden.
Standort
Je nach verfügbaren Ressourcen können Instanz an zwei Standorten innerhalb des Rechenzentrums „ColoZüri“ oder des Rechenzentrums „NTT“ in Rümlang erstellt werden. Der Standort kann später nicht mehr geändert werden.
Version
Die neueste Version 7 von Redis wird zur Zeit für On-Demand Key-Value Stores verwendet. Aufgrund von Lizenzänderungen und der damit verbundenen Unsicherheit über die zukünftige Entwicklung von Redis haben wir uns entschieden, in naher Zukunft eine Redis-kompatible Alternative als Ersatz zu verwenden.
Erlaubte IP-Adressen
IPv4-Adressen und Adressbereiche, von denen aus Verbindungen zum Service hergestellt werden können. Der Zugriff von unseren Kubernetes-Produkten NKE und GKE sowie von deplo.io ist bereits aktiviert.
Die Zugriffsbeschränkung kann jederzeit angepasst werden. Anpassungen werden unterbrechungsfrei wenige Momente nach dem Absenden des Formulars wirksam.
Version
Die neueste Version 7 von Redis wird zur Zeit für On-Demand Key-Value Stores verwendet. Aufgrund von Lizenzänderungen und der damit verbundenen Unsicherheit über die zukünftige Entwicklung von Redis haben wir uns entschieden, in naher Zukunft eine Redis-kompatible Alternative als Ersatz zu verwenden.
maxmemory Policy
Die Konfigurationsoption maxmemory_policy
definiert was passieren soll, wenn der verfügbare Speicher erschöpft ist. Standardmässig wird die Policy allkeys-lru
verwendet, welche die zuletzt verwendeten Schlüssel behält und die am wenigsten kürzlich verwendeten (LRU) Schlüssel entfernt. Eine Anpassung der Max-Memory Policy führt zu einem Neustart der Instanz.
Eine Übersicht über alle Policies findet sich in der Redis-Dokumentation.
RAM (Memory Size)
Die Grösse des Speichers (RAM), welcher für den Key Value Stores konfiguriert wird.
Die für den Festplattenspeicher benötigte Menge steigt linear mit diesem Wert. Beachten Sie, dass eine Verringerung der Speichergrösse nicht die Menge des verwendeten Festplattenspeichers verringert.
Eine Anpassung der Speichergrösse führt zu einem Neustart der Instanz.
Verbindung
Gemäss Erlaubte IP-Adressen müssen Sie möglicherweise zusätzliche IPs erlauben.
Die Instanzen sind über den Standard-Redis-Port 6379
erreichbar.
Benutzer
Ein Benutzer "default" mit einem Passwort wird für die Verbindungsauthentifizierung erstellt, wenn die Instanz erstellt wird. Da "default" der Standardbenutzer ist, ist beim Verbinden nur das Passwort erforderlich. Details zum Abrufen der Anmeldedaten finden Sie im Abschnitt Erste Schritte.
TLS
Die On-Demand Services akzeptieren nur Verbindungen, die durch TLS gesichert sind. Je nach verwendetem Client oder verwendeter Bibliothek kann es erforderlich sein, TLS explizit zu aktivieren.
Das TLS-Zertifikat ist selbstsigniert. Zusätzlich zur Aktivierung der TLS-Transportverschlüsselung müssen Sie möglicherweise die für die Validierung verwendete Zertifizierungsstelle bereitstellen.
Sie können die CA entweder via Cockpit oder nctl
abrufen:
- Cockpit
- nctl
- Öffnen Sie die On-Demand Services Übersicht und wählen Sie den entsprechenden Service aus.
- Die CA ist unter dem
Zertifikat
-Tab der Ressource verfügbar.
- Stellen Sie sicher, dass Sie mit
nctl
angemeldet sind:nctl auth login
- Rufen Sie das Zertifikat ab:
nctl get keyvaluestore my-test-keyvaluestore --print-ca-cert
Sicherungen
Schlüssel und Werte werden über Instanzneustarts hinweg beibehalten, aber es werden keine wiederherstellbaren Datensicherungen erstellt.
Redis Input/Output Tools (RIOT)
Redis Input/Output Tools (RIOT) ist ein Kommandozeilenprogramm, um Daten in und aus einem Redis-kompatiblen Dokumentenspeicher zu holen.
Es kann zum Importieren und Exportieren von Dateien verwendet werden, aber auch zum Migrieren von einer zu einer anderen Instanz.
Der einfachste Weg, RIOT auszuführen, ist über das bereitgestellte Docker Image riotx/riot
.
Migrate Instance
RIOT kann verwendet werden, um alle Schlüssel von einer zu einer anderen Instanz zu migrieren.
Verwenden Sie den folgenden Befehl, um alle Schlüssel der DB 0
von $SOURCE_HOST
nach $TARGET_HOST
zu migrieren.
Gemäss Erlaubte IP-Adressen müssen Sie möglicherweise zusätzliche IPs erlauben.
SOURCE_HOST=""
SOURCE_TOKEN=""
TARGET_HOST=""
TARGET_TOKEN=""
podman run --rm riotx/riot replicate \
--source-tls \
--source-insecure \
--target-tls \
--target-insecure \
--source-pass="$SOURCE_TOKEN" \
--target-pass="$TARGET_TOKEN" \
--threads 4 \
"redis://$SOURCE_HOST/0" \
"redis://$TARGET_HOST/0"