Topik ini menjelaskan cara memperoleh alamat IP publik asal dari server eksternal atau client yang terhubung ke instans ApsaraDB RDS for SQL Server ketika alamat IP publik tersebut berubah secara dinamis. Alamat IP yang dicatat oleh database adalah IP egress publik—bukan IP yang ditampilkan oleh alat pencarian lokal. Akibatnya, menambahkan IP yang diperoleh dari pencarian lokal ke daftar putih tetap menyebabkan kegagalan koneksi.
Topik ini mencakup dua skenario:
-
Identifikasi IP egress client Anda dan tambahkan ke daftar putih
-
Tampilkan semua alamat IP yang saat ini terhubung ke instans
Catatan penggunaan
Jika client atau server eksternal Anda memiliki alamat IP publik yang berubah secara dinamis di lingkungan produksi, lakukan koneksi melalui jaringan internal atau tambahkan Blok CIDR yang sesuai ke daftar putih alamat IP. Hal ini mencegah pemutusan koneksi akibat perubahan alamat IP.
Skenario 1: Identifikasi IP egress client Anda
Gunakan pendekatan ini jika Anda tidak dapat terhubung ke instans RDS karena alamat IP yang ditambahkan ke daftar putih tidak sesuai dengan IP egress aktual yang dilihat oleh instans.
Prosedur
-
Tambahkan Blok CIDR
0.0.0.0/0ke daftar putih alamat IP instans RDS Anda. Untuk informasi lebih lanjut, lihat Configure an IP address whitelist.Penting0.0.0.0/0mengizinkan semua alamat IP untuk mengakses instans. Segera hapus entri ini setelah pengujian selesai. -
Hubungkan ke instans RDS menggunakan client. Untuk informasi lebih lanjut, lihat Connect to an ApsaraDB RDS for SQL Server instance.
-
Jalankan kueri berikut untuk mengambil tipe protokol (
PROTOCOL_TYPE) dan alamat IP publik client sebagaimana dilihat oleh instans (CLIENT_NET_ADDRESS):SELECT CONNECTIONPROPERTY('PROTOCOL_TYPE') AS PROTOCOL_TYPE, CONNECTIONPROPERTY('CLIENT_NET_ADDRESS') AS CLIENT_NET_ADDRESSPada hasil kueri, kolom
CLIENT_NET_ADDRESSberisi alamat IP egress aktual client yang harus ditambahkan ke daftar putih. -
Hapus Blok CIDR
0.0.0.0/0yang ditambahkan pada langkah 1, lalu tambahkan alamat IP yang dikembalikan olehCLIENT_NET_ADDRESSke daftar putih.
Skenario 2: Tampilkan semua alamat IP yang terhubung
Gunakan pendekatan ini untuk mengaudit semua koneksi aktif ke instans RDS atau menyelidiki kebocoran koneksi.
Prosedur
-
Tambahkan Blok CIDR
0.0.0.0/0ke daftar putih alamat IP instans RDS Anda. Untuk informasi lebih lanjut, lihat Configure an IP address whitelist.Penting0.0.0.0/0mengizinkan semua alamat IP untuk mengakses instans. Segera hapus entri ini setelah pengujian selesai. -
Hubungkan ke instans RDS menggunakan client. Untuk informasi lebih lanjut, lihat Connect to an ApsaraDB RDS for SQL Server instance.
-
Jalankan kueri berikut untuk menampilkan semua koneksi aktif yang diautentikasi dengan SQL. Kueri ini mengembalikan ID session (
SPID), nama login, waktu login, hostname, nama aplikasi client, port TCP, dan alamat IP client: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'Filter
SP.SPID > 50mengecualikan proses sistem.DC.AUTH_SCHEME='SQL'membatasi hasil hanya pada koneksi yang diautentikasi dengan SQL. -
Hapus Blok CIDR
0.0.0.0/0(atau Blok CIDR perusahaan Anda) dari daftar putih alamat IP.
Lihat pengaturan parameter koneksi
Setelah menjalankan kueri pada skenario 2, gunakan nilai SPID untuk memeriksa seluruh pengaturan parameter dari koneksi tertentu:
SELECT * FROM SYS.DM_EXEC_SESSIONS WHERE SESSION_ID=<The obtained SPID>
Ganti <The obtained SPID> dengan nilai SPID dari hasil kueri skenario 2.
Kueri ini mengembalikan set hasil yang berisi pengaturan parameter detail dari session tersebut.