Topik ini menjelaskan cara mengidentifikasi alamat IP publik aktual klien ketika alamat IP-nya berubah secara dinamis.
Skenario 1
Masalah
Klien Anda memiliki alamat IP publik dinamis. Alat pencarian IP lokal mungkin melaporkan alamat IP yang tidak akurat. Bahkan jika Anda menambahkan alamat IP tersebut ke daftar putih instans RDS, kesalahan koneksi tetap terjadi. Untuk terhubung ke instans RDS, Anda harus menemukan alamat IP klien yang sebenarnya.
Catatan
Jika alamat IP publik perangkat lokal Anda berubah di lingkungan produksi, kami menyarankan menggunakan koneksi jaringan internal atau mengonfigurasi Blok CIDR yang sesuai dalam daftar putih. Praktik ini mencegah pemutusan koneksi akibat perubahan alamat IP.
Menentukan IP client
-
Tambahkan
0.0.0.0/0ke daftar putih instans RDS Anda. Untuk informasi selengkapnya, lihat Configure a whitelist.PentingEntri
0.0.0.0/0mengizinkan akses dari alamat IP mana pun. Anda harus segera menghapus entri ini setelah pengujian selesai. -
Gunakan klien untuk terhubung ke instans ApsaraDB RDS for SQL Server. Untuk informasi selengkapnya, lihat Connect to an ApsaraDB RDS for SQL Server instance.
-
Jalankan perintah berikut untuk menemukan alamat IP klien.
SELECT CONNECTIONPROPERTY('PROTOCOL_TYPE') AS PROTOCOL_TYPE, CONNECTIONPROPERTY('CLIENT_NET_ADDRESS') AS CLIENT_NET_ADDRESSPada set hasil, nilai
CLIENT_NET_ADDRESSadalah alamat IP aktual klien. -
Hapus entri
0.0.0.0/0dari daftar putih, lalu tambahkan alamat IP egress aktual.
Skenario 2
Masalah
Gunakan metode berikut untuk menemukan semua alamat IP yang terhubung ke instans ApsaraDB RDS for SQL Server Anda atau untuk memecahkan masalah keamanan seperti kebocoran koneksi.
Menemukan semua IP yang terhubung
-
Tambahkan
0.0.0.0/0ke daftar putih instans RDS Anda. Untuk informasi selengkapnya, lihat Configure a whitelist.PentingEntri
0.0.0.0/0mengizinkan akses dari alamat IP mana pun. Anda harus segera menghapus entri ini setelah pengujian selesai. -
Gunakan klien untuk terhubung ke instans ApsaraDB RDS for SQL Server. Untuk informasi selengkapnya, lihat Connect to an ApsaraDB RDS for SQL Server instance.
-
Jalankan perintah berikut untuk mengkueri semua alamat IP yang terhubung ke database.
SELECT SP.SPID, SP.LOGINAME, SP.LOGIN_TIME, SP.HOSTNAME, SP.PROGRAM_NAME, DC.CLIENT_TCP_PORT, DC.CLIENT_NET_ADDRESS FROM SYS.SYSPROCESSES AS SP INNER JOIN SYS.DM_EXEC_CONNECTIONS AS DC ON SP.SPID = DC.SESSION_ID WHERE SP.SPID > 50 AND DC.AUTH_SCHEME='SQL' -
Hapus entri
0.0.0.0/0dari daftar putih.
Lihat parameter koneksi detail
Setelah mengkueri semua alamat IP yang terhubung, jalankan perintah berikut untuk melihat parameter detail dari koneksi tertentu:
SELECT * FROM SYS.DM_EXEC_SESSIONS WHERE SESSION_ID=<the previously obtained SPID>
Kueri yang berhasil akan mengembalikan set hasil berisi parameter detail untuk sesi tersebut. Kolom utama meliputi session_id, login_time, host_name, program_name, host_process_id, client_version, client_interface_name, security_id, login_name, nt_domain, nt_user_name, dan status.