Ringkasan
Di halaman ini, Anda akan mempelajari cara menggunakan Database Migration Service API untuk mengelola profil koneksi untuk database sumber MySQL.
Ada dua cara untuk menggunakan Database Migration Service API. Anda dapat melakukan panggilan REST API atau menggunakan Google Cloud CLI (CLI).
Untuk melihat informasi umum tentang penggunaan gcloud
untuk mengelola profil koneksi Database Migration Service, klik di sini.
Membuat profil koneksi untuk database sumber MySQL
Berikut adalah permintaan untuk membuat profil koneksi untuk database sumber MySQL.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: ID project
- region: Region project
- connection-profile-id: ID profil koneksi
- connection-profile-display-name: Nama tampilan profil koneksi
- host-ip-address: Alamat IP sumber
- username: Nama pengguna database
- password: Sandi pengguna database
- client-key: Kunci pribadi berenkode PEM PKCS#1 atau PKCS#8 yang tidak terenkripsi, terkait dengan Sertifikat Klien. Jika kolom ini digunakan, kolom
clientCertificate
wajib diisi. - client-certificate: Sertifikat berenkode x509 PEM yang akan digunakan oleh replika untuk melakukan autentikasi terhadap server database sumber.Jika kolom ini digunakan, kolom
clientKey
bersifat wajib. - ca-certificate: Wajib diisi. Sertifikat berenkode x509 PEM untuk CA yang menandatangani sertifikat server database sumber. Replika akan menggunakan sertifikat ini untuk memverifikasi bahwa sertifikat sumber terhubung dengan host yang tepat.
Metode HTTP dan URL:
POST https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles?connectionProfileId=connection-profile-id
Meminta isi JSON:
{ "displayName": "connection-profile-display-name", "mysql": { "host": "host-ip-address", "port": 3306, "username": "username", "password": "password", "ssl": { "clientKey": "client-key", "clientCertificate": "client-certificate", "caCertificate": "ca-certificate" } } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "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
Untuk melihat informasi umum tentang penggunaan gcloud
untuk membuat profil koneksi Database Migration Service, klik di sini.
Untuk informasi selengkapnya tentang cara menggunakan gcloud
untuk membuat profil koneksi bagi database sumber MySQL, klik di sini.
Setelah pembuatan, Anda dapat melihat informasi tentang profil koneksi
dengan memanggil metode
connectionProfiles/get
.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: ID project
- region: Region project
- connection-profile-id: ID profil koneksi
Metode HTTP dan URL:
GET https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "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", "mysql": { "host": "host-ip-address", "port": 3306, "username": "username" } }
gcloud
Untuk informasi selengkapnya tentang cara menggunakan gcloud
untuk mengambil informasi tentang profil koneksi Anda, klik di sini.
Membuat profil koneksi untuk database sumber Cloud SQL untuk MySQL
Berikut adalah permintaan untuk membuat profil koneksi untuk database sumber Cloud SQL untuk MySQL. Contoh ini menggunakan profil koneksi MySQL karena terhubung ke mesin database MySQL, bukan lapisan pengelolaan Cloud SQL.
Untuk membuat penyambungan antara sumber dan replika menggunakan
Cloud SQL, Anda harus memberikan ID instance untuk database Cloud SQL. Anda dapat menemukan nilai ID instance menggunakan metode databases/list
Cloud SQL Admin API.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: ID project
- region: Region project
- connection-profile-id: ID profil koneksi
- connection-profile-display-name: Nama tampilan profil koneksi
- host-ip-address: Alamat IP sumber
- username: Nama pengguna database
- password: Sandi pengguna database
- cloud-sql-instance-id: ID instance Cloud SQL
Metode HTTP dan URL:
POST https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles?connectionProfileId=connection-profile-id
Meminta isi JSON:
{ "displayName": "connection-profile-display-name", "mysql": { "host": "host-ip-address", "port": 3306, "username": "username", "password": "password", "cloud_sql_id": "cloud-sql-instance-id" } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "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
Untuk melihat informasi umum tentang penggunaan gcloud
untuk membuat profil koneksi Database Migration Service, klik di sini.
Untuk informasi selengkapnya tentang cara menggunakan gcloud
untuk membuat profil koneksi bagi database sumber Cloud SQL untuk MySQL, klik di sini.
Membuat profil koneksi untuk tujuan Cloud SQL untuk MySQL
Berikut adalah permintaan untuk membuat profil koneksi untuk tujuan Cloud SQL untuk MySQL. Database Migration Service menggunakan informasi dalam permintaan ini untuk membuat instance Cloud SQL untuk MySQL baru.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: ID project
- region: Region project
- connection-profile-id: ID profil koneksi
- connection-profile-display-name: Nama tampilan profil koneksi
- database-version: Versi database. Misalnya, MYSQL_5_7.
- tier: Jenis mesin. Misalnya, db-custom-1-4096.
- data-disk-type: Jenis disk data. Misalnya, PD_SSD.
- data-disk-size-gb: Ukuran disk data, dalam Gb. Misalnya, 20.
- zone: Zona di region project
- cmek_key_name: Opsional: Jalur lengkap dan nama kunci enkripsi yang dikelola pelanggan (CMEK). Misalnya, "projects/project-id/locations/location/keyRings/ring/cryptoKeys/customer-managed-encryption-key".
Semua data yang disimpan dalam Google Cloud dienkripsi dalam penyimpanan menggunakan sistem pengelolaan kunci yang telah melalui proses hardening yang sama dengan yang kami gunakan untuk data terenkripsi milik kami. Sistem pengelolaan kunci ini menyediakan pengauditan dan kontrol akses kunci yang ketat, serta mengenkripsi data pengguna dalam penyimpanan menggunakan standar enkripsi AES-256. Tidak diperlukan penyiapan, konfigurasi, atau pengelolaan.Enkripsi dalam penyimpanan default Google Cloudadalah pilihan terbaik bagi pengguna yang tidak memiliki persyaratan khusus terkait kepatuhan atau lokalitas materi kriptografis.
Jika Anda memerlukan kontrol yang lebih besar atas kunci yang digunakan untuk mengenkripsi data dalam penyimpanan dalam project Google Cloud , Database Migration Service menawarkan kemampuan untuk melindungi data Anda menggunakan kunci enkripsi yang dikelola oleh Anda dalam Cloud Key Management Service (KMS). Kunci enkripsi ini disebut kunci enkripsi yang dikelola pelanggan (CMEK). Saat Anda melindungi data di Layanan Migrasi Database dengan CMEK, Anda memegang kendali atas CMEK ini.
Parameter cmek_key_name
dikaitkan dengan memiliki CMEK yang dapat digunakan Database Migration Service untuk
mengenkripsi data yang dimigrasikan dari sumber ke tujuan. CMEK diwakili oleh placeholder customer-managed-encryption-key.
Placeholder ring mewakili key ring untuk CMEK Anda. Key ring mengatur kunci di lokasi Google Cloud tertentu dan memungkinkan Anda mengelola kontrol akses pada grup kunci. Nama key ring tidak perlu unik di seluruh project Google Cloud , tetapi harus unik dalam lokasi tertentu. Untuk informasi selengkapnya tentang key ring, lihat resource Cloud KMS.
Sebagai bagian dari pembuatan profil koneksi, Database Migration Service akan memverifikasi bahwa CMEK ada, dan bahwa Database Migration Service memiliki izin untuk menggunakan kunci tersebut.
Jika salah satu kondisi ini tidak terpenuhi, pesan error berikut akan ditampilkan:
CMEK_DOES_NOT_EXIST_OR_MISSING_PERMISSIONS
Untuk mengatasi masalah ini, pastikan kunci yang Anda berikan ada, dan akun layanan Database Migration Service memiliki izin cloudkms.cryptoKeys.get
untuk kunci tersebut.
Jika Anda lebih memilih untuk menggunakan sistem pengelolaan kunci internal Google Cloud, bukan CMEK, untuk mengenkripsi data, jangan sertakan parameter dan nilai cmek_key_name
dalam permintaan API Anda.
Metode HTTP dan URL:
POST https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles?connectionProfileId=connection-profile-id
Meminta isi JSON:
{ "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" } } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "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
Untuk melihat informasi umum tentang penggunaan gcloud
untuk membuat profil koneksi Database Migration Service, klik di sini.
Mendapatkan informasi tentang profil koneksi
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: ID project
- region: Region project
- connection-profile-id: ID profil koneksi
Metode HTTP dan URL:
GET https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "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", "mysql": { "host": "host-ip-address", "port": 3306, "username": "username" } }
gcloud
Untuk informasi selengkapnya tentang cara menggunakan gcloud
untuk mengambil informasi tentang profil koneksi Anda, klik di sini.
Mencantumkan profil koneksi
Berikut adalah permintaan untuk mengambil informasi tentang semua profil koneksi Anda.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: ID project
- region: Region project
orderBy:
Gunakan filter ini untuk mengambil listingan semua profil koneksi untuk wilayah tertentu dalam urutan abjad. Misalnya, filterorderBy=name
menampilkan semua profil koneksi, menurut abjad, berdasarkan nama.-
pageSize:
Gunakan filter ini untuk menentukan jumlah maksimum profil koneksi yang diambil dan ditampilkan Database Migration Service di halaman. Misalnya, dengan menetapkanpageSize=10
, Database Migration Service akan menampilkan hingga 10 profil koneksi untuk satu halaman.
Jika ada lebih dari 10 profil koneksi, profil tersebut akan muncul di halaman lain. Di akhir setiap halaman, parameter nextPageToken
dan ID unik akan muncul. Gunakan ID untuk mengambil listingan profil koneksi untuk halaman berikut.
Metode HTTP dan URL:
GET https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "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", "mysql": { "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", "mysql": { "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
Untuk informasi selengkapnya tentang cara menggunakan gcloud
untuk mengambil informasi tentang semua profil koneksi Anda, klik di sini.
Memperbarui profil koneksi
Berikut ini menunjukkan permintaan untuk memperbarui kolom nama pengguna dan sandi
profil koneksi yang ada. Dengan menggunakan parameter updateMask
dalam permintaan,
hanya kolom ini yang perlu disertakan dalam isi permintaan.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: ID project
- region: Region project
- connection-profile-id: ID profil koneksi
- username: Nama pengguna database
- password: Sandi pengguna database
Metode HTTP dan URL:
PATCH https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id?updateMask=mysql.username,mysql.password
Meminta isi JSON:
{ "mysql" { "username": "username", "password": "password" } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "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
Untuk mengetahui informasi selengkapnya tentang penggunaan gcloud
untuk memperbarui profil koneksi, klik di sini.
Menghapus profil koneksi
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: ID project
- region: Region project
- connection-profile-id: ID profil koneksi
Metode HTTP dan URL:
DELETE https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "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
Untuk informasi selengkapnya tentang cara menggunakan gcloud
untuk menghapus profil koneksi, klik di sini.
Menghapus profil koneksi dan instance Cloud SQL terkait
Berikut adalah permintaan untuk menghapus profil koneksi tujuan, serta menghapus instance Cloud SQL terkait secara berantai.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: ID project
- region: Region project
- connection-profile-id: ID profil koneksi
Metode HTTP dan URL:
DELETE https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id?force=true
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "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
Untuk informasi selengkapnya tentang cara menggunakan gcloud
untuk menghapus profil koneksi dan instance Cloud SQL terkait, klik di sini.