Memecahkan masalah error Private Service Connect
Tidak dapat terhubung ke database tujuan: EOF
Menjalankan uji konektivitas akan menampilkan pesan error [DATABASE] unable to connect to the destination database: EOF
.
Kemungkinan penyebab: Lampiran layanan tidak dikonfigurasi dengan benar.
Hal yang dapat dicoba: Pastikan enable_proxy_protocol
disetel ke false
di file konfigurasi Terraform lampiran layanan. Protokol proxy hanya didukung untuk server HTTP seperti NGINX dan Apache.
Saat menggunakan gcloud
untuk membuat penyiapan Private Service Connect, protokol proxy dinonaktifkan secara default.
Waktu tunggu koneksi habis, koneksi ditolak
Menjalankan uji konektivitas gagal atau waktu tunggu habis. Hal ini kemungkinan besar disebabkan oleh pemilihan rute yang salah dalam penyiapan Private Service Connect. Ada beberapa alasan mengapa hal ini terjadi.
Kemungkinan penyebab: Tidak ada aturan firewall yang mengizinkan rentang CIDR NAT Private Service Connect untuk mengakses subnet Private Service Connect tempat bastion berada, khususnya antarmuka nic0
VM bastion.
Hal yang dapat dicoba: Pastikan kebijakan organisasi Anda tidak membatasi aturan firewall internal, seperti aturan firewall psc_sp_in_fw
yang ditentukan dalam contoh skrip Terraform untuk menyiapkan produsen Private Service Connect.
Kemungkinan penyebab: Proxy tidak berfungsi. Tidak ada pemroses di port yang disediakan, sehingga koneksi terhenti.
Hal yang dapat dicoba: Anda dapat mencoba membuat koneksi SSH ke VM bastion, dan menelusuri proxy menggunakan perintah berikut:
netstat -tunalp | grep PORT
Analisis respons terhadap perintah:
Jika Anda mendapatkan respons kosong, berarti proxy sedang tidak aktif. Coba jalankan perintah berikut:
sudo su; cd /
dan periksa apakah server Dante diinstal dengan menjalankansudo dpkg -s dante-server
:Jika proxy diinstal, Anda akan mendapatkan pesan berikut:
Status: install ok installed
Jika proxy tidak diinstal, kemungkinan masalahnya adalah router tidak ada. Tambahkan router dan periksa apakah Anda dapat mendownload proxy dengan menjalankan
apt-get install dante-server
.
Jika proxy berjalan dan memproses di port yang disediakan, coba buka koneksi ke proxy tersebut dengan melakukan hal berikut:
Instal klien PostgreSQL:
sudo apt-get install postgresql-client
.Menghubungkan ke database PostgreSQL:
psql -h 127.0.0.1 -p PORT -U DBUSERNAME -W
(Anda akan diminta untuk memasukkan sandi).Ganti kode berikut:
PORT
: nomor port database.DBUSERNAME
: nama pengguna yang digunakan untuk terhubung ke database PostgreSQL.
Instal klien telnet:
sudo apt-get install telnet
Menghubungkan ke klien telnet:
telnet 127.0.0.1 PORT
Ganti
PORT
dengan nomor port database.
Bergantung pada hasil perintah:
Jika perintah gagal membuka koneksi, coba lihat log proxy untuk menemukan akar masalahnya. Penyebab utamanya dapat bervariasi bergantung pada penyiapan instance Cloud SQL.
Jika koneksi dibuka menggunakan telnet, tetapi macet di klien native, kemungkinan masalahnya adalah perutean alamat IP bastion. Di VM, ketik
ip route
di terminal. Lihat apakah Anda dapat menemukan aturan pemilihan rute yang merutekan koneksi ke alamat IP pribadi instance Cloud SQL menggunakannic
sekunder (nic1
, alamat IPDB_SUBNETWORK_GATEWAY
).
Kemungkinan penyebab: Lampiran layanan tidak menerima koneksi endpoint yang berasal dari Database Migration Service. Lampiran layanan menyimpan daftar project yang diterima, dan project Layanan Migrasi Database tidak disertakan dalam daftar.
Hal yang dapat dicoba: Untuk mengatasi masalah ini, coba salah satu hal berikut:
Di konsol Google Cloud , buka Private Service Connect.
Di tab Layanan yang dipublikasikan, terima koneksi dari Database Migration Service untuk lampiran layanan Anda (jika tertunda).
Tambahkan project yang meminta ke project yang diizinkan di lampiran layanan (jika ditolak).
Untuk mengetahui informasi selengkapnya tentang cara menambahkan project yang diizinkan di Terraform, lihat dokumentasi Terraform.
Untuk informasi selengkapnya tentang cara menambahkan project yang diizinkan di
gcloud
, lihat dokumentasi referensi gcloud.
Jika cara ini tidak menyelesaikan masalah, buat ulang profil koneksi.
Hapus profil koneksi yang terkait dengan konektivitas private service connect, lalu buat ulang.
Memecahkan masalah error Oracle SCAN
Bagian ini menjelaskan potensi masalah yang mungkin Anda alami saat bermigrasi dari sumber Oracle Real Application Clusters (RAC) menggunakan fitur Single Client Access Name (SCAN).
Tidak dapat membuat konektivitas ke database SCAN Oracle
Menjalankan uji konektivitas gagal atau waktu tunggu habis.
Kemungkinan penyebab: Anda mungkin mencoba membuat konektivitas langsung ke database sumber Oracle SCAN. Database Migration Service tidak mendukung konektivitas langsung ke database yang menggunakan fitur SCAN di lingkungan Oracle RAC.
Hal yang dapat dicoba: Untuk mengatasi masalah ini, coba salah satu hal berikut:
- Hubungkan langsung ke salah satu node.
- Gunakan Oracle Connection Manager.
- Buat konfigurasi konektivitas pribadi menggunakan solusi reverse proxy seperti HAProxy.