すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:ApsaraDB RDS for SQL Server インスタンスに接続している外部サーバーまたはクライアントのパブリック IP アドレスの取得方法

最終更新日:Aug 21, 2026

このトピックでは、パブリック IP アドレスが動的に変更される場合に、ApsaraDB RDS for SQL Server インスタンスに接続している外部サーバーまたはクライアントの接続元パブリック IP アドレスを取得する方法について説明します。データベースが記録する IP アドレスは、ローカルの検索ツールで表示される IP ではなく、パブリックエグレス IP です。そのため、ローカルでクエリした IP をホワイトリストに追加しても、接続に失敗します。

このトピックでは、次の 2 つのシナリオについて説明します。

注意事項

本番環境でクライアントまたは外部サーバーのパブリック IP アドレスが動的に変更される場合は、内部ネットワーク経由で接続するか、IP アドレスホワイトリストに適切な CIDR ブロックを追加することを推奨します。これにより、IP アドレスの変更による切断を防ぐことができます。

シナリオ 1:クライアントのエグレス IP の特定

この方法は、ホワイトリストに追加した IP アドレスが、インスタンスが認識する実際のエグレス IP と一致しないために RDS インスタンスに接続できない場合に使用します。

操作手順

  1. RDS インスタンスの IP アドレスホワイトリストに、CIDR ブロック 0.0.0.0/0 を追加します。詳細については、「IP アドレスホワイトリストの設定」をご参照ください。

    重要

    0.0.0.0/0 は、すべての IP アドレスからのインスタンスへのアクセスを許可します。テストが完了したら、このエントリを速やかに削除してください。

  2. クライアントから RDS インスタンスに接続します。詳細については、「ApsaraDB RDS for SQL Server インスタンスへの接続」をご参照ください。

  3. 次のクエリを実行して、プロトコルタイプ (PROTOCOL_TYPE) とインスタンスが認識するクライアントのパブリック IP アドレス (CLIENT_NET_ADDRESS) を取得します。

    SELECT  CONNECTIONPROPERTY('PROTOCOL_TYPE') AS PROTOCOL_TYPE,
            CONNECTIONPROPERTY('CLIENT_NET_ADDRESS') AS CLIENT_NET_ADDRESS

    クエリ結果では、 CLIENT_NET_ADDRESS 列に、ホワイトリストに追加するクライアントの実際のエグレス IP アドレスが含まれています。

  4. 手順 1 で追加した CIDR ブロック 0.0.0.0/0 を削除し、CLIENT_NET_ADDRESS が返した IP アドレスをホワイトリストに追加します。

シナリオ 2:接続しているすべての IP アドレスの一覧表示

この方法は、RDS インスタンスへのすべてのアクティブな接続を監査したり、コネクションリークを調査したりする場合に使用します。

操作手順

  1. RDS インスタンスの IP アドレスホワイトリストに、CIDR ブロック 0.0.0.0/0 を追加します。詳細については、「IP アドレスホワイトリストの設定」をご参照ください。

    重要

    0.0.0.0/0 は、すべての IP アドレスからのインスタンスへのアクセスを許可します。テストが完了したら、このエントリを速やかに削除してください。

  2. クライアントから RDS インスタンスに接続します。詳細については、「ApsaraDB RDS for SQL Server インスタンスへの接続」をご参照ください。

  3. 次のクエリを実行して、すべてのアクティブな SQL 認証接続を一覧表示します。このクエリは、セッション ID (SPID)、ログイン名、ログイン時間、ホスト名、クライアントアプリケーション名、TCP ポート、およびクライアントの IP アドレスを返します。

    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'

    フィルター SP.SPID > 50 はシステムプロセスを除外します。DC.AUTH_SCHEME='SQL' は、結果を SQL 認証接続に限定します。

  4. IP アドレスホワイトリストから CIDR ブロック 0.0.0.0/0 を削除します。

接続パラメーター設定の表示

シナリオ 2 のクエリを実行した後、SPID 値を使用して特定の接続の完全なパラメーター設定を確認します。

SELECT * FROM SYS.DM_EXEC_SESSIONS WHERE SESSION_ID=<The obtained SPID>

<The obtained SPID> を、シナリオ 2 のクエリ結果で取得した SPID 値に置き換えます。

このクエリは、セッションの詳細なパラメーター設定を含む結果セットを返します。