このトピックでは、パブリックIPアドレスが動的に変更された場合に、ApsaraDB RDS for SQL serverインスタンスに接続されている外部サーバーまたはクライアントの送信元パブリックIPアドレスを取得する方法について説明します。
シナリオ 1
説明
外部サーバーまたはクライアントのパブリックIPアドレスが動的に変更され、ローカルIPアドレス照会ツールを使用して取得したIPアドレスが正しくない場合があります。 その結果、外部サーバーまたはクライアントをRDSインスタンスに接続すると、取得したパブリックIPアドレスをRDSインスタンスのIPアドレスホワイトリストに追加した後でも、システムは接続エラーを報告します。 RDSインスタンスにアクセスできるのは、外部サーバーまたはクライアントの送信元IPアドレスを取得した後です。
使用上の注意
運用環境で外部サーバーまたはクライアントのパブリックIPアドレスが動的に変更される場合、外部サーバーまたはクライアントを内部ネットワーク経由でRDSインスタンスに接続するか、適切なCIDRブロックをRDSインスタンスのIPアドレスホワイトリストに追加することを推奨します。 これにより、パブリックIPアドレスの変更による切断が防止されます。
手順
CIDRブロック
0.0.0.0/0
をRDSインスタンスのホワイトリストに追加します。 詳細については、「IPアドレスホワイトリストの設定」をご参照ください。重要CIDRブロック
0.0.0.0/0
は、すべてのIPアドレスがRDSインスタンスへのアクセスを許可されていることを示します。 このCIDRブロックを使用して接続をテストする場合は、テストの完了後に設定を変更することをお勧めします。クライアントを使用してRDSインスタンスに接続します。 詳細については、「ApsaraDB RDS For SQL Serverインスタンスへの接続」をご参照ください。
次のステートメントを実行して、クライアントのIPアドレスを照会します。
SELECT CONNECTIONPROPERTY('PROTOCOL_TYPE') をPROTOCOL_TYPEとして、 CONNECTIONPROPERTY('CLIENT_NET_ADDRESS ') AS CLIENT_NET_ADDRESS
次の出力は、クエリが成功したことを示します。
ステップ1で追加したCIDRブロック0.0.0.0/0を削除します。 取得したIPアドレスをIPアドレスホワイトリストに追加します。
シナリオ 2
説明
RDSインスタンスに接続されているすべてのIPアドレスを取得するか、リンクリークなどのセキュリティ問題を特定する必要があります。
手順
CIDRブロック
0.0.0.0/0
をRDSインスタンスのホワイトリストに追加します。 詳細については、「IPアドレスホワイトリストの設定」をご参照ください。重要CIDRブロック
0.0.0.0/0
は、すべてのIPアドレスがRDSインスタンスへのアクセスを許可されていることを示します。 このCIDRブロックを使用して接続をテストする場合は、テストの完了後に設定を変更することをお勧めします。クライアントを使用してRDSインスタンスに接続します。 詳細については、「ApsaraDB RDS For SQL Serverインスタンスへの接続」をご参照ください。
次のステートメントを実行して、RDSインスタンスに接続されているすべてのIPアドレスを照会します。
SELECT SP.SPID、SP.LOGINAME, SP。LOGIN_TIME、SP. 人名、SP.PROGRAM_NAME、DC.CLIENT_TCP_PORT、DC.CLIENT_NET_ADDRESS SYSからSPとしてのSYSPROCESSES INNER JOIN SYS.DM_EXEC_CONNECTIONS AS DC ON SP.SPID = DC.SESSION_ID どこSP.SPID > 50 AND DC。AUTH_SCHEME='SQL'
次の出力は、クエリが成功したことを示します。
ステップ1で追加したCIDRブロック0.0.0.0/0または会社のCIDRブロックをRDSインスタンスのIPアドレスホワイトリストから削除します。
接続のパラメータ設定を表示する
RDSインスタンスに接続されているすべてのIPアドレスを取得したら、次のステートメントを実行して、特定の接続のパラメーター設定を照会できます。
SELECT * FROM SYS.DM_EXEC_SESSIONS WHERE SESSION_ID=<取得したSPID>
次の出力は、クエリが成功したことを示します。