インターネット経由でローカルサーバーからRDSインスタンスに接続する前に、ローカルサーバーのパブリックIPアドレスをRDSインスタンスのIPアドレスホワイトリストに追加する必要があります。 これは、RDSインスタンスがMySQLまたはMariaDBを実行する場合に適用されます。 このトピックでは、ローカルサーバーのパブリックIPアドレスを取得する方法について説明します。
問題の説明
ローカルサーバーのパブリックIPアドレスが取得され、RDSインスタンスのIPアドレスホワイトリストに追加されます。 ただし、接続に失敗します。
この失敗の原因は、パブリックIPアドレスが無効であるか、動的に変化することです。
このトピックで提供されるソリューションは、Alibaba Cloud Elastic Compute Service (ECS) インスタンスからRDSインスタンスに接続するシナリオには適用されません。 ECSインスタンスからRDSインスタンスに接続する場合、ECSコンソールでECSインスタンスのパブリックIPアドレスとプライベートIPアドレスを取得できます。
使用上の注意
ローカルサーバーのパブリックIPアドレスが変更され、ローカルサーバーとRDSインスタンス間に確立された接続が本番環境で使用されている場合は、内部ネットワーク経由でRDSインスタンスに接続するか、ローカルサーバーの適切なパブリックCIDRブロックをRDSインスタンスのIPアドレスホワイトリストに追加することを推奨します。 これにより、ローカルサーバーのパブリックIPアドレスが変更されても、RDSインスタンスは接続されたままになります。
ローカルサーバのパブリックIPアドレスの取得
MySQLまたはMariaDBを実行するRDSインスタンスのIPアドレスホワイトリストに、パブリックCIDRブロックまたはエントリ0.0.0.0/0を追加します。 詳細については、「データベースクライアントまたはCLIを使用したApsaraDB RDS For MySQLインスタンスへの接続」をご参照ください。
重要エントリ0.0.0.0/0は、すべてのデバイスがRDSインスタンスにアクセスできることを示します。 これは潜在的なセキュリティリスクを引き起こす可能性があります。 エントリ0.0.0.0/0をIPアドレスホワイトリストに追加するときは注意してください。 エントリ0.0.0.0/0が追加されている場合は、エントリが不要になったときにすぐに削除することを推奨します。
データベースクライアントまたはCLIを使用して、ローカルサーバーからRDSインスタンスに接続します。
mysql -h <RDSインスタンスへの接続に使用されるエンドポイント> -u <使用済みアカウントのユーザー名> -p <使用済みアカウントのパスワード> -P3306
実行中のプロセスに関する情報を照会します。
processlistショー
上記のコマンド出力では、show processlistが存在する行のHostの値は、ローカルサーバーの実際のパブリックIPアドレスです。
手順1でRDSインスタンスのIPアドレスホワイトリストに追加されたエントリ0.0.0.0/0を削除します。 次に、取得したローカルサーバのパブリックIPアドレスをIPアドレスホワイトリストに追加します。
よくある質問
ローカルサーバーからRDSインスタンスに接続できません。 ローカルサーバーのパブリックIPアドレスが動的に変更されたために接続が失敗したかどうかを判断するにはどうすればよいですか。
エントリ0.0.0.0/0をRDSインスタンスのIPアドレスホワイトリストに追加し、約1分間待ちます。 その後、すべてのデバイスにRDSインスタンスへのアクセスが許可されます。 ローカルサーバーからRDSインスタンスに接続します。 RDSインスタンスに接続できる場合は、IPアドレスホワイトリストからエントリ0.0.0.0/0を削除し、ローカルサーバーの実際のパブリックIPアドレスをIPアドレスホワイトリストに追加します。 次に、ローカルサーバーからRDSインスタンスに再度接続します。 RDSインスタンスに接続できない場合、IPアドレスホワイトリストに追加したパブリックIPアドレスは、ローカルサーバーの現在のパブリックIPアドレスではありません。 これは、ローカルサーバーのパブリックIPアドレスが動的に変更されることを示します。
ローカルサーバーのパブリックIPアドレスをRDSインスタンスのIPアドレスホワイトリストに追加しても、ローカルサーバーからRDSインスタンスに接続できないのはなぜですか。
ローカルサーバーのパブリックIPアドレスが動的に変更される場合は、ローカルサーバーの現在のパブリックIPアドレスをRDSインスタンスのIPアドレスホワイトリストに追加します。 IPアドレスホワイトリストが有効になるまでに約1分かかります。
接続障害は、他の問題によって引き起こされる可能性があります。 詳細については、「ApsaraDB RDS For MySQLインスタンスへの接続の失敗のトラブルシューティング」をご参照ください。