In diesem Dokument wird beschrieben, wie Sie Ihren Lizenzschlüssel speichern und verarbeiten, in Ihrer Bereitstellung installieren, ablaufende Schlüssel aktualisieren und die Installation auf allen Knoten überprüfen.
Wenn Sie eine Produktionsumgebung ausführen möchten, müssen Sie einen kommerziellen Spanner Omni-Lizenzschlüssel installieren. In einer Nichtproduktionsumgebung können Sie Sicherungs- und Wiederherstellungsfunktionen verwenden, indem Sie Spanner Omni in einer Einzelserverkonfiguration mit vier oder weniger vCPUs ohne Lizenzschlüssel bereitstellen. Die Funktion „Worker“ wird mit der Standard- oder Entwicklerlizenz nicht unterstützt, unabhängig davon, wie viele Server oder vCPUs verwendet werden. Wenn Sie eine kommerzielle Lizenz zur Nutzung von Workers erwerben möchten, wenden Sie sich an Google.
Informationen zu verfügbaren Lizenztypen, Versionen und Funktionen finden Sie in der Übersicht über Spanner Omni-Versionen.
Lizenzschlüssel speichern
Behandeln Sie Ihren Spanner Omni-Lizenzschlüssel als hochsensible Anmeldedaten. Wenn jemand einen Lizenzschlüssel manipuliert, macht Google ihn in zukünftigen Spanner Omni-Releases ungültig. Um zu verhindern, dass Schlüssel offengelegt werden, sollten Sie die folgenden Richtlinien für den Lebenszyklus implementieren. Wir empfehlen, den Schlüssel über automatisierte Systeme einzufügen, anstatt ihn im Klartext in den persistenten Speicher zu schreiben. In den folgenden Abschnitten wird beschrieben, wie Sie Ihren Lizenzschlüssel speichern, Dateien für die automatisierte Bereitstellung schützen und die Laufzeitübertragung konfigurieren.
Speicherung in zentralen Secret-Managern
Führen Sie keinen Commit Ihres Lizenzschlüssels an die Versionsverwaltung durch und codieren Sie ihn nicht in Konfigurationsdateien. Speichern Sie den Schlüssel immer in einem zentralen Anmeldedatenspeicher, z. B.:
- Cloud: Google Cloud Secret Manager, Amazon Web Services (AWS) Secrets Manager oder Azure Key Vault von Microsoft.
- Plattformunabhängig:HashiCorp Vault.
Bereitstellungsautomatisierung
Wenn Sie die Bereitstellung über Automatisierungstools wie Terraform oder Ansible vornehmen, übergeben Sie den Lizenzschlüssel nicht als Konfigurationsvariablen im Klartext:
- Terraform:Den Lizenzschlüssel während der Bereitstellung dynamisch mit Datenquellen abrufen. Markieren Sie die Variable mit dem Attribut
sensitive = true, damit der Schlüssel nicht in den Ausführungskonsolenlogs angezeigt wird. - Ansible:Bewahren Sie den Schlüssel während der Konfigurationsausführung im Arbeitsspeicher auf, indem Sie Secret Manager-Plug-ins wie
google.cloud.gcp_secret_managerodercommunity.hashicorp.vaultverwenden. Wenn der Schlüssel in einem Repository gespeichert ist, verschlüsseln Sie ihn mit Ansible Vault.
Lizenzschlüssel zur Laufzeit übertragen
Verwenden Sie die folgenden Techniken, um den Lizenzschlüssel an Datenbankprozesse zu übermitteln, ohne ihn unbefugten Nutzern zugänglich zu machen:
VM-basierte Bereitstellungen (Cloud oder lokal)
- IAM-basierte Einfügung:Verknüpfen Sie Ihre Datenbank-VMs mit einem verwalteten Dienstkonto oder einer IAM-Rolle. Verwenden Sie diese Identität beim Start oder bei der Bereitstellung (z. B. mit Ansible), um den Lizenzschlüssel aus Ihrem Secret Manager in den Arbeitsspeicher oder ein Verzeichnis mit eingeschränktem Zugriff abzurufen.
- Betriebssystemberechtigungen:Wenn Sie den Schlüssel auf die Festplatte schreiben, schränken Sie den Dateizugriff so ein, dass nur der Nutzer, der den Spanner Omni-Prozess ausführt, die Datei sehen kann (z. B.
chmod 400 /path/to/license). Schränken Sie den SSH-Zugriff auf die Hostcomputer stark ein.
Kubernetes-Deployments
- CSI-Treiber für Secrets Store verwenden:Verwenden Sie den Standard-CSI-Treiber für Secrets Store, um Ihren Lizenzschlüssel direkt aus Ihrem externen Secret Manager als temporäres Speichervolume (
tmpfs) in Spanner Omni-Pods einzubinden. Die Anmeldedaten sind nur im Arbeitsspeicher vorhanden und verschwinden, wenn der Pod beendet wird. - Integrierte Kubernetes-Secrets vermeiden:Verwenden Sie keine integrierten Kubernetes-Secrets, die nur die Base64-Codierung verwenden und in etcd gespeichert werden.
Lizenzschlüssel installieren
Wenn Sie einen Lizenzschlüssel installieren oder aktualisieren möchten, machen Sie den Schlüssel für Ihre Spanner Omni-Server als lokalen Pfad zugänglich (z. B. /path/to/your/license).
Um den Pfad des Lizenzschlüssels an den Server zu übergeben, verwenden Sie das Flag --license-file-path oder die Umgebungsvariable SPANNER_LICENSE_FILE_PATH, wenn Sie den Befehl spanner start oder spanner start-single-server ausführen.
Beispiel:
spanner start --root \
--license-file-path=LICENSE_KEY_FILE_PATH \
--server-address=RESOLVABLE_HOSTNAME \
--zone=ZONE_NAME \
--base-dir=SPANNER_BASE_DIR
Alternativ können Sie den Lizenzpfad über die Umgebungsvariable angeben:
SPANNER_LICENSE_FILE_PATH=LICENSE_KEY_FILE_PATH \
spanner start --root \
--server-address=RESOLVABLE_HOSTNAME \
--zone=ZONE_NAME \
--base-dir=SPANNER_BASE_DIR
Ersetzen Sie Folgendes:
LICENSE_KEY_FILE_PATH: Der lokale Pfad zu Ihrer Lizenzschlüsseldatei.RESOLVABLE_HOSTNAME: Der auflösbare Hostname oder die IP-Adresse des Knotenservers.ZONE_NAME: Der Zonenname für die Bereitstellung.SPANNER_BASE_DIR: Das Basisverzeichnis, in dem die Serverdateien gespeichert sind.
Alternativ können Sie den Lizenzschlüssel in den Pfad einfügen, in dem der Server ihn erwartet: BASE_DIR/license/license. Bei Kubernetes-Deployments ist BASE_DIR standardmäßig /spanner.
Ablaufende Lizenz aktualisieren
Wenn Sie eine ablaufende Developer Edition-Lizenz für eine aktive Bereitstellung aktualisieren, verlängern oder erneuern möchten, fordern Sie eine unbefristete Lizenz an. Wenn Sie eine ablaufende Proof-of-Concept-Lizenz verlängern oder eine kommerzielle Lizenz erwerben möchten, wenden Sie sich an Google. Nachdem Sie die neue Lizenz erhalten haben, geben Sie den Pfad an und starten Sie einen Rolling Restart Ihrer Spanner Omni-Server:
- Machen Sie die neue Lizenzdatei für jeden Knoten zugänglich.
- Führen Sie einen Rolling Restart durch, indem Sie jeweils einen Serverknoten neu starten.
- Zustand der Bereitstellung während des Roll-outs überwachen Wenn ein Knoten nicht neu gestartet werden kann oder Fehler auftreten, führen Sie ein Rollback zur zuvor funktionierenden Konfiguration durch und prüfen Sie die Serverprotokolle, um sicherzustellen, dass die neue Lizenz korrekt bereitgestellt wird.
Lizenzschlüssel mit Helm (Kubernetes) installieren
Wenn Sie die Bereitstellung mit dem von Google bereitgestellten Helm-Diagramm vornehmen, können Sie den Pfad zur Lizenzdatei während Upgrades dynamisch übergeben.
Da für das --set-file-Flag von Helm ein physischer Pfad auf der Festplatte erforderlich ist, sollten Sie den Lizenzschlüssel nicht in einer permanenten Datei speichern. Rufen Sie den Schlüssel stattdessen aus Ihrem Secret-Manager in eine temporäre Datei oder einen In-Memory-Pfad ab (z. B. /dev/shm unter Linux). Übergeben Sie diesen Pfad an Helm und löschen oder vernichten Sie die Datei sofort danach. So wird verhindert, dass das System die Anmeldedaten im Klartext auf der Festplatte speichert, lokal beibehält oder versehentlich in die Versionsverwaltung aufgenommen werden.
helm upgrade --install spanner-omni \
--set-file licenseKey=LICENSE_KEY_FILE_PATH
Ersetzen Sie Folgendes:
LICENSE_KEY_FILE_PATH: Der lokale Pfad zu Ihrer Lizenzschlüsseldatei.
Lizenzinstallation prüfen
Da Sie den Lizenzschlüssel auf jedem aktiven Serverknoten in einem Cluster installieren, können Sie die Installation überprüfen, indem Sie den Status eines der Serverknoten prüfen, der Ihre Anfragen verarbeitet. Verwenden Sie den Befehl describe für den Endpunkt:
spanner deployment describe --deployment-endpoint=SERVER_ADDRESS
Ersetzen Sie Folgendes:
SERVER_ADDRESS: Die Adresse des Serverknotens.
Clusterweites Audit ausführen
So prüfen Sie, ob auf allen Knoten in Ihrem VM-Cluster oder Kubernetes-StatefulSet der richtige Lizenzschlüssel installiert ist:
spanner admin license check
Bei einem clusterweiten Audit wird jeder Server in der Datenbanktopologie geprüft. Achten Sie daher darauf, dass alle Knotenserver online und über das Netzwerk erreichbar sind, bevor Sie diesen Befehl ausführen.
Audit-Ergebnisse interpretieren
In der folgenden Tabelle finden Sie Informationen zu den Ergebnissen des clusterweiten Audits:
| Clusterstatus | Ausgabetyp | Beschreibung und erforderliche Maßnahmen |
|---|---|---|
| Einheitlich (erwartet) | Einzelne Lizenz-ID | Alle Knoten verwenden denselben Lizenzschlüssel und ‑typ. Es sind keine weiteren Maßnahmen erforderlich. |
| Gemischt (Maßnahme erforderlich) | Liste der Lizenz-IDs und Server | Auf verschiedenen Knoten werden unterschiedliche Lizenzschlüssel erkannt, z. B. während eines verzögerten Rolling Updates. Untersuchen Sie die aufgeführten Knoten, um sicherzustellen, dass die neue Lizenzdatei korrekt angewendet wurde. |
Einhaltung der kommerziellen Lizenz
Wenn Sie eine kommerzielle Lizenz für Spanner Omni verwenden, müssen Sie die Lizenzvereinbarung einhalten. Durch die Einhaltung der Compliance werden Abrechnungsstreitigkeiten vermieden und die Nutzung Ihrer Clusterressourcen wird erfasst und an Google gemeldet. Führen Sie die folgenden Schritte aus, um die Spanner Omni Commercial-Lizenzvereinbarung einzuhalten:
Führen Sie das Spanner Omni Usage Tool am Ende jedes Abrechnungszeitraums aus, um Messwerte zur Cluster-vCPU-Nutzung zu erfassen:
spanner admin license report --row-format=CSVWenden Sie sich an Ihren Technical Account Manager (TAM) oder Ihr Google-Account-Team, um den bevorzugten Einreichungskanal Ihrer Organisation zu bestätigen.
Senden Sie die resultierende Nutzlast bis zum 5. des Folgemonats an Google.