Anda dapat memigrasikan data melalui jaringan pribadi dengan membuat konektivitas antara alamat IP pribadi database sumber dan tujuan. Anda dapat menggunakan salah satu dari dua pendekatan. Untuk mengonfigurasi alamat IP pribadi bagi database tujuan, Anda dapat menggunakan akses layanan pribadi dengan peering VPC, atau Private Service Connect.
Setiap metode koneksi menawarkan kelebihan dan kekurangan yang berbeda. Pastikan Anda memilih pendekatan yang paling sesuai dengan skenario Anda. Untuk mengetahui informasi selengkapnya tentang akses layanan pribadi dan Private Service Connect di Cloud SQL, lihat Ringkasan IP pribadi dalam dokumentasi Cloud SQL.
Mengonfigurasi konektivitas menggunakan peering VPC
Peering VPC berfungsi dengan mengonfigurasi VPC agar dapat berkomunikasi satu sama lain. Jika sumber Anda berada di Google Cloud project yang sama di Cloud SQL atau Compute Engine, maka hal ini memungkinkan tujuan berkomunikasi dengan sumber secara langsung. Jika sumber Anda berada dalam VPN (misalnya, di AWS, atau VPN lokal Anda sendiri), konfigurasikan VPN sumber dan Google Cloud VPN agar dapat bekerja sama. Untuk mengetahui informasi selengkapnya, lihat menghubungkan VPC melalui VPN.Penggabungan VPC tidak didukung. Jika sumber Anda berada di project Google Cloud lain, lihat Ringkasan VPC Bersama untuk mempelajari cara menghubungkan resource dari beberapa project ke jaringan VPC umum untuk peering VPC.
Firewall server database sumber harus dikonfigurasi untuk mengizinkan seluruh rentang IP internal yang dialokasikan untuk koneksi layanan pribadi dari jaringan VPC yang akan digunakan oleh instance tujuan Cloud SQL.
Untuk menemukan rentang IP internal yang dialokasikan untuk akses layanan pribadi:
Konsol
Buka halaman jaringan Virtual Private Cloud di konsol Google Cloud .
Pilih jaringan VPC yang ingin Anda gunakan.
Pilih Akses layanan pribadi > Rentang IP yang dialokasikan untuk layanan.
Temukan Rentang IP internal yang terkait dengan koneksi yang dibuat oleh servicenetworking-googleapis-com.
gcloud
Ganti variabel PROJECT_ID dengan ID project dari project tempat Anda memiliki jaringan Virtual Private Cloud.
gcloud compute addresses list \
--global \
--filter="purpose=VPC_PEERING" \
--project=PROJECT_ID
Konfigurasi sumber untuk instance yang dikelola sendiri dan Compute Engine
Jika database sumber Anda dihosting di instance Compute Engine di Virtual Private Cloud yang sama atau Virtual Private Cloud yang di-peering:
Buat aturan firewall di jaringan Virtual Private Cloud yang memungkinkan traffic masuk dari rentang IP yang dialokasikan ke port database sumber (default
5432untuk PostgreSQL,3306untuk MySQL):gcloud compute firewall-rules create FIREWALL_RULE_NAME \ --network=VPC_NETWORK_NAME \ --direction=INGRESS \ --priority=1000 \ --action=ALLOW \ --rules=tcp:5432 \ --source-ranges=ALLOCATED_PEERING_RANGE \ --target-tags=SOURCE_VM_TAG \ --project=PROJECT_IDGanti kode berikut:
- FIREWALL_RULE_NAME: Nama untuk aturan firewall Anda (misalnya,
allow-cloudsql-dms-ingress). - VPC_NETWORK_NAME: Nama jaringan Virtual Private Cloud tempat database sumber Anda berada.
- ALLOCATED_PEERING_RANGE: Rentang alamat IP internal yang dialokasikan untuk akses layanan pribadi (misalnya,
10.102.0.0/16). - SOURCE_VM_TAG: Tag jaringan yang diterapkan ke instance VM Compute Engine sumber Anda.
- PROJECT_ID: ID project yang berisi jaringan Virtual Private Cloud Anda.
- FIREWALL_RULE_NAME: Nama untuk aturan firewall Anda (misalnya,
Konfigurasi autentikasi klien dalam file
pg_hba.conf. Perbarui/etc/postgresql/<version>/main/pg_hba.confdi server sumber untuk mengizinkan koneksi dan replikasi dari rentang IP yang dialokasikan:host all all ALLOCATED_PEERING_RANGE md5 host replication all ALLOCATED_PEERING_RANGE md5Ganti ALLOCATED_PEERING_RANGE dengan rentang alamat IP internal yang dialokasikan untuk akses layanan pribadi (misalnya,
10.102.0.0/16).Muat ulang konfigurasi. Jalankan perintah berikut:
sudo -u postgres psql -c "SELECT pg_reload_conf();".Verifikasi konfigurasi
listen_addressesdipostgresql.conf. Pastikan properti menyertakan antarmuka internal atau disetel ke'*':listen_addresses = '*'
Peering VPC menggunakan akses layanan pribadi,
yang harus dikonfigurasi satu kali untuk setiap project yang menggunakan peering VPC. Setelah Anda
menetapkan private services access, uji tugas
migrasi Anda untuk memverifikasi konektivitas.
Mengonfigurasi akses layanan pribadi untuk Database Migration Service
Jika Anda menggunakan IP pribadi untuk instance Database Migration Service, Anda hanya perlu mengonfigurasi akses layanan pribadi satu kali untuk setiap project Google Cloud yang memiliki atau perlu terhubung ke instance Database Migration Service.
Membangun akses layanan pribadi memerlukan peran IAM
compute.networkAdmin. Setelah akses layanan pribadi dibuat untuk jaringan Anda, Anda tidak lagi memerlukan peran IAM compute.networkAdmin untuk mengonfigurasi instance agar menggunakan IP pribadi.
Akses layanan pribadi mengharuskan Anda mengalokasikan rentang alamat IP internal terlebih dahulu, lalu membuat koneksi pribadi, dan kemudian mengekspor rute kustom.
Rentang yang dialokasikan adalah blok CIDR yang dipesan, yang tidak dapat digunakan di jaringan VPC lokal Anda. Saat membuat koneksi pribadi, Anda menentukan alokasi. Koneksi pribadi menautkan jaringan VPC Anda dengan jaringan VPC yang mendasarinya ("produsen layanan").
Saat Anda membuat koneksi pribadi, jaringan VPC dan jaringan produsen layanan hanya bertukar rute subnet. Anda harus mengekspor rute kustom jaringan VPC agar jaringan penyedia layanan dapat mengimpornya dan merutekan traffic dengan benar ke jaringan lokal Anda.
Konfigurasi peering menetapkan maksud untuk terhubung ke jaringan VPC lain. Jaringan Anda dan jaringan lainnya tidak terhubung sampai masing-masing memiliki konfigurasi peering untuk jaringan yang lain. Setelah jaringan lain memiliki konfigurasi yang sesuai untuk melakukan peering dengan jaringan Anda, status peering berubah menjadi AKTIF di kedua jaringan, dan keduanya terhubung. Jika tidak ada konfigurasi peering yang cocok di jaringan lain, status peering tetap TIDAK AKTIF, yang menunjukkan bahwa jaringan Anda tidak terhubung ke jaringan lainnya.
Setelah terhubung, kedua jaringan selalu bertukar rute subnet. Secara opsional, Anda dapat mengimpor rute kustom statis dan dinamis dari jaringan yang di-peering jika telah dikonfigurasi untuk mengekspornya
Terdapat dua bagian dalam proses konfigurasi akses layanan pribadi:
- Mengalokasikan rentang alamat IP. Rentang ini mencakup semua instance Anda.
- Membuat koneksi pribadi dari jaringan VPC Anda ke jaringan produsen layanan.
Mengalokasikan rentang alamat IP
Konsol
- Buka halaman VPC networks di konsol Google Cloud .
- Pilih jaringan VPC yang ingin Anda gunakan.
- Pilih tab Koneksi layanan pribadi.
- Pilih tab Rentang IP yang dialokasikan untuk layanan.
- Klik Alokasikan rentang IP.
Untuk Nama rentang yang dialokasikan, tentukan
google-managed-services-VPC_NETWORK_NAME, di manaVPC_NETWORK_NAMEadalah nama jaringan VPC yang Anda sambungkan (misalnya,google-managed-services-default). Deskripsi bersifat opsional.Klik ALLOCATE untuk membuat rentang yang dialokasikan.
gcloud
Lakukan salah satu hal berikut:
Untuk menentukan rentang alamat IP dan panjang awalan (subnet mask), gunakan flag
addressesdanprefix-length. Misalnya, untuk mengalokasikan blok CIDR192.168.0.0/16, tentukan192.168.0.0untuk alamat dan16untuk panjang awalan.gcloud compute addresses create google-managed-services-[VPC_NETWORK_NAME] \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=16 \ --network=[VPC_NETWORK_NAME]Untuk hanya menentukan panjang awalan (subnet mask), cukup gunakan flag
prefix-length. Jika Anda menghilangkan rentang alamat IP, Google Cloud akan otomatis memilih rentang alamat IP yang tidak digunakan di jaringan VPC Anda. Contoh berikut memilih rentang alamat IP yang tidak digunakan dengan panjang awalan bit16.gcloud compute addresses create google-managed-services-[VPC_NETWORK_NAME] \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --network=[VPC_NETWORK_NAME]
Ganti [VPC_NETWORK_NAME] dengan nama jaringan VPC Anda, seperti my-vpc-network.
Contoh berikut mengalokasikan rentang IP yang memungkinkan resource dalam
jaringan VPC my-vpc-network untuk terhubung ke instance Database Migration Service
menggunakan IP pribadi.
gcloud compute addresses create google-managed-services-my-vpc-network \
--global \
--purpose=VPC_PEERING \
--prefix-length=16 \
--network=my-vpc-network \
--project=my-project
Membuat koneksi pribadi
Konsol
- Buka halaman VPC networks di konsol Google Cloud .
- Pilih jaringan VPC yang ingin Anda gunakan.
- Pilih tab Koneksi layanan pribadi.
- Pilih tab Koneksi pribadi ke layanan.
- Klik Create connection untuk membuat koneksi pribadi antara jaringan Anda dan produsen layanan.
- Untuk Alokasi yang ditetapkan, pilih salah satu atau beberapa rentang yang sudah dialokasikan dan tidak digunakan oleh produsen layanan lainnya, lalu klik OKE.
- Klik HUBUNGKAN untuk membuat koneksi.
gcloud
Membuat koneksi pribadi
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=google-managed-services-[VPC_NETWORK_NAME] \ --network=[VPC_NETWORK_NAME] \ --project=[PROJECT_ID]Ganti
[VPC_NETWORK_NAME]dengan nama jaringan VPC Anda dan[PROJECT_ID]dengan ID project yang berisi jaringan VPC Anda.Perintah tersebut memulai operasi yang berjalan lama, dan menampilkan nama operasi.
Periksa apakah operasi tersebut berhasil.
gcloud services vpc-peerings operations describe \ --name=[OPERATION_NAME]Ganti
[OPERATION_NAME]dengan nama operasi yang ditampilkan dari langkah sebelumnya.
Anda dapat menentukan lebih dari satu rentang IP yang dialokasikan saat membuat koneksi pribadi. Misalnya, jika rentang sudah habis, Anda dapat menetapkan rentang tambahan yang dialokasikan. Layanan tersebut menggunakan alamat IP dari semua rentang yang tersedia sesuai urutan yang Anda tetapkan.
Mengekspor rute kustom
Perbarui koneksi Peering Jaringan VPC yang ada untuk mengubah apakah jaringan VPC Anda mengekspor atau mengimpor rute kustom ke atau dari jaringan VPC peer.
Jaringan Anda hanya mengimpor rute kustom jika jaringan peer juga mengekspor rute kustom, dan jaringan peer hanya menerima rute kustom jika jaringan Anda mengimpornya.
Konsol
- Buka halaman Peering Jaringan VPC di konsol Google Cloud .
Buka halaman Peering Jaringan VPC - Pilih koneksi peering yang akan diupdate.
- Klik EDIT.
- Perbarui setelan rute kustom Anda dengan memilih atau membatalkan pilihan Impor rute kustom atau Ekspor rute kustom.
- Klik SIMPAN.
gcloud
Perbarui koneksi peering untuk mengubah setelan impor atau ekspor Anda untuk rute kustom.
gcloud compute networks peerings update [PEERING-NAME] \
--network=[MY-LOCAL-NETWORK] \
[--[no-]import-custom-routes] \
[--[no-]export-custom-routes]
Memberikan peran roles/servicenetworking.serviceAgent
gcloud beta services identity create \
--service=servicenetworking.googleapis.com \
--project=project-id
gcloud projects add-iam-policy-binding project-id \
--member="service-account-prefix@service-networking.iam.gserviceaccount.com" \
--role="roles/servicenetworking.serviceAgent"
Mengonfigurasi konektivitas menggunakan antarmuka Private Service Connect
Untuk migrasi homogen, Cloud SQL dapat menggunakan antarmuka Private Service Connect untuk membuat koneksi melalui jaringan pribadi tanpa menggunakan kuota peering Virtual Private Cloud. Metode konektivitas ini hanya tersedia saat Anda bermigrasi ke instance yang ada.
Untuk menggunakan antarmuka Private Service Connect, lakukan hal berikut:
Buat instance Cloud SQL yang diaktifkan untuk Private Service Connect. Lihat Membuat instance yang mendukung Private Service Connect dalam dokumentasi Cloud SQL.
Konfigurasi Private Service Connect untuk konektivitas keluar pada instance tujuan Anda:
Buat lampiran jaringan di jaringan Virtual Private Cloud tempat database sumber Anda berada. Perhatikan bahwa rentang subnet yang dicadangkan untuk network attachment harus berada dalam rentang RFC 1918:
gcloud compute network-attachments create NETWORK_ATTACHMENT_NAME \ --region=REGION \ --subnets=NETWORK_ATTACHMENT_SUBNET \ --connection-preference=ACCEPT_AUTOMATIC \ --project=PROJECT_IDGanti kode berikut:
- NETWORK_ATTACHMENT_NAME: Nama untuk lampiran jaringan (misalnya,
dms-psc-attachment). - REGION: Region tempat subnet dan instance Cloud SQL tujuan berada.
- NETWORK_ATTACHMENT_SUBNET: Nama subnet yang dicadangkan untuk lampiran jaringan.
- PROJECT_ID: ID project yang berisi jaringan Virtual Private Cloud Anda.
- NETWORK_ATTACHMENT_NAME: Nama untuk lampiran jaringan (misalnya,
Tetapkan lampiran jaringan ke instance Cloud SQL tujuan Anda. Untuk mengetahui detailnya, lihat Mengonfigurasi konektivitas keluar dalam dokumentasi Cloud SQL.
Khusus sumber yang dikelola sendiri: Pastikan database sumber Anda mengizinkan traffic masuk dari subnet network attachment. Periksa aturan firewall. Pastikan aturan firewall ada untuk mengizinkan ingress pada port database 5432 dari CIDR network attachment.
Di
pg_hba.confpada instance sumber, pastikan ada entri yang mengizinkan koneksi dari rentang CIDR subnet yang terkait dengan lampiran jaringan Anda. Untuk menemukan subnet yang terkait dengan network attachment dan rentang CIDR-nya, lihat Mendeskripsikan network attachment dan Mendeskripsikan subnet dalam dokumentasi virtual private cloud.Saat Anda membuat tugas migrasi, pilih antarmuka PSC untuk metode konektivitas Anda.