Übersicht
Auf dieser Seite erfahren Sie, wie Sie mit der Database Migration Service API Verbindungsprofile für eine PostgreSQL-Quelldatenbank und ein PostgreSQL-Ziel verwalten.
Sie können die Database Migration Service API auf zwei Arten verwenden. Sie können REST API-Aufrufe ausführen oder die Google Cloud CLI verwenden.
Allgemeine Informationen zur Verwendung von gcloud
für die Verwaltung von Verbindungsprofilen des Database Migration Service finden Sie hier.
Verbindungsprofil für eine PostgreSQL-Quelldatenbank erstellen
Im Folgenden sehen Sie eine Anfrage zum Erstellen eines Verbindungsprofils für eine PostgreSQL-Quelldatenbank.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- project-id: die Projekt-ID
- region: Die Projektregion
- connection-profile-id: Die Verbindungsprofil-ID
- connection-profile-display-name: Der Anzeigename des Verbindungsprofils
- host-ip-address: Quell-IP-Adresse
- username: Der Nutzername des Datenbanknutzers
- password: Das Passwort des Datenbanknutzers
- client-key: Der unverschlüsselte, nach PKCS#1 oder PKCS#8 PEM-codierte private Schlüssel, der mit dem Clientzertifikat verknüpft ist. Wenn dieses Feld verwendet wird, ist das Feld
clientCertificate
erforderlich. - client-certificate: Das x509-PEM-codierte Zertifikat, das vom Replikat zur Authentifizierung beim Quelldatenbankserver verwendet wird.Wenn dieses Feld verwendet wird, ist das Feld
clientKey
obligatorisch. - ca-certificate: erforderlich. Das x509-PEM-codierte Zertifikat der Zertifizierungsstelle, die das Zertifikat des Quelldatenbankservers signiert hat. Das Replikat prüft anhand dieses Zertifikats, ob es sich mit dem richtigen Host verbindet.
HTTP-Methode und URL:
POST https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles?connectionProfileId=connection-profile-id
JSON-Text anfordern:
{ "displayName": "connection-profile-display-name", "postgres": { "host": "host-ip-address", "port": 5432, "username": "username", "password": "password", "ssl": { "clientKey": "client-key", "clientCertificate": "client-certificate", "caCertificate": "ca-certificate" } } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/project-id/locations/region/operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id/locations/region/connectionProfiles/connection-profile-id", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
Allgemeine Informationen zur Verwendung von gcloud
zum Erstellen von Verbindungsprofilen für den Database Migration Service finden Sie hier.
Nach dem Erstellen können Sie die Informationen zu Ihrem Verbindungsprofil aufrufen. Rufen Sie dazu die Methode connectionProfiles/get
auf.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- project-id: die Projekt-ID
- region: Die Projektregion
- connection-profile-id: Die Verbindungsprofil-ID
HTTP-Methode und URL:
GET https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/project-id/locations/region/connectionProfiles/connection-profile-id", "createTime": "2019-12-22T16:17:37.159786963Z", "updateTime": "2019-12-24T13:13:39.455857411Z", "state": "READY", "displayName": "connection-profile-display-name", "postgres": { "host": "host-ip-address", "port": 5432, "username": "username" } }
gcloud
Weitere Informationen zur Verwendung von gcloud
zum Abrufen von Informationen zu einem Verbindungsprofil finden Sie hier.
Verbindungsprofil für eine Cloud SQL for PostgreSQL-Quellendatenbank erstellen
Im Folgenden sehen Sie eine Anfrage zum Erstellen eines Verbindungsprofils für eine Cloud SQL for PostgreSQL-Quelldatenbank. In diesem Beispiel wird ein PostgreSQL-Verbindungsprofil verwendet, da eine Verbindung zur PostgreSQL-Datenbank-Engine und nicht zur Cloud SQL-Verwaltungsebene hergestellt wird.
Wenn Sie die Verknüpfung zwischen Quelle und Replikat mit Cloud SQL erstellen möchten, müssen Sie die Instanz-ID für Ihre Cloud SQL-Datenbank angeben. Sie können den Wert der Instanz-ID mit der Methode databases/list
der Cloud SQL Admin API ermitteln.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- project-id: die Projekt-ID
- region: Die Projektregion
- connection-profile-id: Die Verbindungsprofil-ID
- connection-profile-display-name: Der Anzeigename des Verbindungsprofils
- host-ip-address: Quell-IP-Adresse
- username: Der Nutzername des Datenbanknutzers
- password: Das Passwort des Datenbanknutzers
- cloud-sql-instance-id: Cloud SQL-Instanz-ID
HTTP-Methode und URL:
POST https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles?connectionProfileId=connection-profile-id
JSON-Text anfordern:
{ "displayName": "connection-profile-display-name", "postgres": { "host": "host-ip-address", "port": 5432, "username": "username", "password": "password", "cloud_sql_id": "cloud-sql-instance-id" } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/project-id/locations/region/operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id/locations/region/connectionProfiles/connection-profile-id", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
Allgemeine Informationen zur Verwendung von gcloud
zum Erstellen von Verbindungsprofilen für den Database Migration Service finden Sie hier.
Verbindungsprofil für Cloud SQL for PostgreSQL-Ziel erstellen
Im Folgenden sehen Sie eine Anfrage zum Erstellen eines Verbindungsprofils für ein Cloud SQL for PostgreSQL-Ziel. Database Migration Service verwendet die Informationen in dieser Anfrage, um eine neue Cloud SQL for PostgreSQL-Instanz zu erstellen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- project-id: die Projekt-ID
- region: Die Projektregion
- connection-profile-id: Die Verbindungsprofil-ID
- connection-profile-display-name: Der Anzeigename des Verbindungsprofils
- database-version: die Datenbankversion. Beispiel: POSTGRES_12.
- tier: Der Maschinentyp. Beispiel: db-custom-1-4096.
- data-disk-type: Der Datenlaufwerktyp. Beispiel: PD_SSD.
- data-disk-size-gb: Die Größe des Datenlaufwerks in GB. Beispiel: 20.
- zone: Die Zone in der Projektregion
- cmek_key_name: Optional: Der vollständige Pfad und Name eines vom Kunden verwalteten Verschlüsselungsschlüssels (CMEK). Beispiel: „projects/project-id/locations/location/keyRings/ring/cryptoKeys/customer-managed-encryption-key“.
Alle in Google Cloud gespeicherten Daten werden im inaktiven Zustand mit denselben gehärteten Schlüsselverwaltungssystemen verschlüsselt, die wir auch für unsere eigenen verschlüsselten Daten verwenden. Diese Schlüsselverwaltungssysteme bieten strenge Schlüsselzugriffskontrollen und Audits und verschlüsseln inaktive Nutzerdaten mit AES-256-Verschlüsselungsstandards. Es ist keine Einrichtung, Konfiguration oder Verwaltung erforderlich.Die Standardverschlüsselung von Google Cloudist die beste Wahl für Nutzer, die keine speziellen Anforderungen in Bezug auf Compliance oder Lokalität von kryptografischem Material haben.
Wenn Sie in einem Google Cloud -Projekt mehr Kontrolle über die Schlüssel benötigen, die zur Verschlüsselung von ruhenden Daten verwendet werden, bietet der Database Migration Service die Möglichkeit, Ihre Daten mit Verschlüsselungsschlüsseln zu schützen, die Sie selbst in Cloud Key Management Service (KMS) verwalten. Diese Verschlüsselungsschlüssel heißen daher vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK). Wenn Sie Daten im Database Migration Service mit CMEK schützen, haben Sie die Kontrolle über diesen Schlüssel.
Der Parameter cmek_key_name
ist mit einem CMEK verknüpft, mit dem der Database Migration Service Daten verschlüsseln kann, die von der Quelle zum Ziel migriert werden. Der CMEK wird durch den Platzhalter customer-managed-encryption-key dargestellt.
Der Platzhalter ring steht für den Schlüsselbund für Ihren CMEK. Ein Schlüsselbund organisiert Schlüssel an einem bestimmten Google Cloud Speicherort und ermöglicht Ihnen, die Zugriffssteuerung für Gruppen von Schlüsseln zu verwalten. Der Name eines Schlüsselbunds muss innerhalb eines Google Cloud -Projekts nicht mehrfach vergeben werden, muss aber innerhalb eines bestimmten Standorts eindeutig sein. Weitere Informationen zu Schlüsselringen finden Sie unter Cloud KMS-Ressourcen.
Beim Erstellen des Verbindungsprofils prüft der Database Migration Service, ob der CMEK vorhanden ist und ob der Database Migration Service Berechtigungen zur Verwendung des Schlüssels hat.
Wenn eine dieser Bedingungen nicht erfüllt ist, wird die folgende Fehlermeldung zurückgegeben:
CMEK_DOES_NOT_EXIST_OR_MISSING_PERMISSIONS
Prüfen Sie, ob der von Ihnen angegebene Schlüssel vorhanden ist und das Dienstkonto für den Database Migration Service die Berechtigung cloudkms.cryptoKeys.get
für den Schlüssel hat.
Wenn Sie zum Verschlüsseln Ihrer Daten lieber das interne Schlüsselverwaltungssystem von Google Cloudals einen CMEK-Schlüssel verwenden möchten, geben Sie den Parameter und den Wert cmek_key_name
nicht in Ihrer API-Anfrage an.
HTTP-Methode und URL:
POST https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles?connectionProfileId=connection-profile-id
JSON-Text anfordern:
{ "displayName": "connection-profile-display-name", "cloudsql": { "settings": { "databaseVersion": "database-version", "tier": "machine-type", "storageAutoResizeLimit": 0, "activationPolicy": "ALWAYS", "ipConfig": { "authorizedNetworks": [], "enableIpv4": true, "privateNetwork": null }, "autoStorageIncrease": false, "dataDiskType": "data-disk-type", "dataDiskSizeGb": "data-disk-size", "zone": "zone", "sourceId": "projects/project-id/locations/region/connectionProfiles/connection-profile-id", "cmek_key_name": "projects/project-id/locations/location/keyRings/ring/cryptoKeys/customer-managed-encryption-key" } } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/project-id/locations/region/operations/operation-1591975557292-5a7e4b195623c-e350e3da-713dee7d", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T15:25:57.430715421Z", "target": "projects/project-id/locations/region/connectionProfiles/connection-profile-id", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
Allgemeine Informationen zur Verwendung von gcloud
zum Erstellen von Verbindungsprofilen für den Database Migration Service finden Sie hier.
Informationen zu einem Verbindungsprofil abrufen
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- project-id: die Projekt-ID
- region: Die Projektregion
- connection-profile-id: Die Verbindungsprofil-ID
HTTP-Methode und URL:
GET https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/project-id/locations/region/connectionProfiles/connection-profile-id", "createTime": "2019-12-22T16:17:37.159786963Z", "updateTime": "2019-12-24T13:13:39.455857411Z", "state": "READY", "displayName": "connection-profile-display-name", "postgres": { "host": "host-ip-address", "port": 5432, "username": "username" } }
gcloud
Weitere Informationen zur Verwendung von gcloud
zum Abrufen von Informationen zu einem Verbindungsprofil finden Sie hier.
Verbindungsprofile auflisten
Im Folgenden sehen Sie eine Anfrage zum Abrufen von Informationen zu allen Verbindungsprofilen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- project-id: die Projekt-ID
- region: Die Projektregion
orderBy:
Mit diesem Filter kannst du eine Liste aller Verbindungsprofile für eine bestimmte Region in alphabetischer Reihenfolge abrufen. Der FilterorderBy=name
gibt beispielsweise alle Verbindungsprofile alphabetisch nach Name zurück.-
pageSize:
Mit diesem Filter können Sie die maximale Anzahl von Verbindungsprofilen angeben, die vom Database Migration Service abgerufen und auf einer Seite angezeigt werden. Wenn Sie beispielsweisepageSize=10
festlegen, gibt der Database Migration Service bis zu 10 Verbindungsprofile für eine Seite zurück.
Wenn es mehr als 10 Verbindungsprofile gibt, werden sie auf anderen Seiten angezeigt. Am Ende jeder Seite werden ein nextPageToken
-Parameter und eine eindeutige Kennung angezeigt. Verwenden Sie die Kennung, um die Liste der Verbindungsprofile für die folgende Seite abzurufen.
HTTP-Methode und URL:
GET https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "connectionProfiles": [ { "name": "projects/project-id/locations/region/connectionProfiles/name-of-first-connection-profile", "createTime": "2019-12-22T16:17:37.159786963Z", "updateTime": "2019-12-24T13:13:39.455857411Z", "state": "READY", "displayName": "display-name-of-first-connection-profile", "postgres": { "host": "host-ip-address-of-first-connection-profile", "port": port-number-of-first-connection-profile, "username": "username-of-first-connection-profile", "password_set": "true" } } { "name": "projects/project-id/locations/region/connectionProfiles/name-of-second-connection-profile", "createTime": "2020-11-21T19:22:25.153824963Z", "updateTime": "2020-11-11T11:15:14.451046111Z", "state": "READY", "displayName": "display-name-of-second-connection-profile", "postgres": { "host": "host-ip-address-of-second-connection-profile", "port": port-number-of-second-connection-profile, "username": "username-of-second-connection-profile", "password_set": "true" } } ] }
gcloud
Weitere Informationen zur Verwendung von gcloud
zum Abrufen von Informationen zu allen Verbindungsprofilen finden Sie hier.
Verbindungsprofil aktualisieren
Im Folgenden sehen Sie eine Anfrage zum Aktualisieren der Felder für den Nutzernamen und das Passwort eines vorhandenen Verbindungsprofils. Bei Verwendung des Parameters updateMask
in der Anfrage müssen nur diese Felder im Anfragetext enthalten sein.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- project-id: die Projekt-ID
- region: Die Projektregion
- connection-profile-id: Die Verbindungsprofil-ID
- username: Der Nutzername des Datenbanknutzers
- password: Das Passwort des Datenbanknutzers
HTTP-Methode und URL:
PATCH https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id?updateMask=postgres.username,postgres.password
JSON-Text anfordern:
{ "postgres" { "username": "username", "password": "password" } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/project-id/locations/region/operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id/locations/region/connectionProfiles/connection-profile-id", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
Weitere Informationen zur Verwendung von gcloud
zum Aktualisieren Ihres Verbindungsprofils finden Sie hier.
Verbindungsprofil löschen
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- project-id: die Projekt-ID
- region: Die Projektregion
- connection-profile-id: Die Verbindungsprofil-ID
HTTP-Methode und URL:
DELETE https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/project-id/locations/region/operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id/locations/region/connectionProfiles/connection-profile-id", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
Weitere Informationen zur Verwendung von gcloud
zum Löschen eines Verbindungsprofils finden Sie hier.
Verbindungsprofil und zugehörige Cloud SQL-Instanz löschen
Im Folgenden sehen Sie eine Anfrage zum Löschen eines Zielverbindungsprofils und zum kaskadierenden Löschen der zugehörigen Cloud SQL-Instanz.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- project-id: die Projekt-ID
- region: Die Projektregion
- connection-profile-id: Die Verbindungsprofil-ID
HTTP-Methode und URL:
DELETE https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id?force=true
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/project-id/locations/region/operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id/locations/region/connectionProfiles/connection-profile-id", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
Weitere Informationen zur Verwendung von gcloud
zum Löschen des Verbindungsprofils und der zugehörigen Cloud SQL-Instanz finden Sie hier.