このトピックでは、ApsaraDB RDS インスタンスへの接続に失敗する原因となるさまざまな問題の解決方法について説明します。
一般的な接続エラー
次の表に、一般的な接続エラーとそれらのエラーの解決策を示します。
ApsaraDB RDS for MySQL または ApsaraDB RDS for MariaDB
エラーメッセージ | 原因 | 解決策 |
| ネットワーク通信に異常があります。 |
詳細については、「解決策」をご参照ください。 |
| IP アドレスホワイトリストが正しく構成されていません。 | |
| ユーザー名またはパスワードが無効です。 | 接続情報でユーザー名とパスワードを確認します。
|
| ドメインネームシステム ( DNS ) サーバーが RDS インスタンスのエンドポイントを解決できません。 |
説明 ping コマンドを実行して、RDS インスタンスの現在の IP アドレスを表示できます。ただし、インスタンスの IP アドレスは、インスタンスが移行されたとき、またはプライマリ/セカンダリスイッチオーバーが実行されたときに変更される可能性があるため、エンドポイントを使用して RDS インスタンスに接続することをお勧めします。 |
[Note] [MY-010914] [Server] Aborted connection 671541 to db: 'XXX' user: 'XXX' host: 'XXX' (The client was disconnected by the server because of inactivity.). | RDS インスタンスへの接続が閉じられました。 | このエラーは、クライアントが長時間リクエストを送信せず、サーバーのインタラクションタイムアウト期間が終了したために発生します。RDS インスタンスが MySQL を実行している場合、 |
ApsaraDB RDS for SQL Server
エラーメッセージ | 原因 | 解決策 |
XXX に接続できません。SQL Server に接続しているときに、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできません。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。(provider: TCP Provider, error: 0 - 接続先が一定時間後に適切に応答しなかったため接続試行が失敗しました、または接続ホストが応答に失敗したため確立された接続が失敗しました。) (Microsoft SQL Server, Error: 10060 or 258) | ネットワーク通信に異常があります。 |
詳細については、「解決策」をご参照ください。 |
XXX に接続できません。 サーバーとの接続は正常に確立されましたが、ログオンプロセス中にエラーが発生しました。(provider: TCP Provider, error: 0 - 指定したネットワーク名は使用できなくなりました。) (Microsoft SQL Server, Error: 64) | IP アドレスホワイトリストが正しく構成されていません。 | |
トリガーの実行が原因で、ログイン 'user' のログオンに失敗しました | RDS インスタンスへの接続数が上限に達しました。 |
ApsaraDB RDS for PostgreSQL
エラーメッセージ | 原因 | 解決策 |
サーバーに接続できません: サーバーに接続できませんでした: 接続がタイムアウトしました (0x0000274C/10060)サーバーはホスト "XXX.rds.aliyuncs.com" で実行されており、ポート XXX で TCP/IP 接続を受け入れていますか? | ネットワーク通信に異常があります。 |
詳細については、「解決策」をご参照ください。 |
| IP アドレスホワイトリストが正しく構成されていません。 | |
FATAL: remaining connection slots are reserved for non-replication superuser connections | RDS インスタンスへの接続数が上限に達しました。 | |
FATAL: password authentication failed for user "xxx". | パスワードが無効です。 | パスワードをリセットして、再試行してください。 パスワードのリセット方法の詳細については、「パスワードをリセットする」をご参照ください。 |
データ管理 ( DMS ) を使用して RDS インスタンスに接続するときに報告されるエラー
詳細については、「DMS を使用して ApsaraDB RDS for MySQL インスタンスにログインする、DMS を使用して ApsaraDB RDS for SQL Server インスタンスにログインする、DMS を使用して ApsaraDB RDS for PostgreSQL インスタンスにログインする、および DMS を使用して ApsaraDB RDS for MariaDB インスタンスにログインする」をご参照ください。
アカウントのパスワードをリセットした後、新しいパスワードを使用して DMS に再度ログインする必要があります。
エラーメッセージ | 原因 | 解決策 |
MYSQL サーバーは --rds-deny-access オプションで実行されているため、このステートメントを実行できません |
| ApsaraDB RDS コンソールにログインし、RDS インスタンスがロックされているかどうかを確認します。
|
DMS を使用して RDS インスタンスに接続できません。 | RDS インスタンスの所有者ではなく、RDS インスタンスの所有者からログイン権限が付与されていません。 | |
エンドポイントが有効かどうか、IP アドレスホワイトリストが正しく構成されているかどうか、およびネットワーク通信が正常かどうかを確認します。 | ほとんどの場合、このエラーは、ECS インスタンスまたはオンプレミスホストにある自己管理 MySQL データベースを RDS インスタンスに接続するときに、次の理由で発生します。
|
詳細については、「解決策」をご参照ください。 |
max_user_connections | RDS インスタンスへの接続数が上限に達しました。 | |
IP アドレスホワイトリストに関連する問題が原因で、RDS インスタンスにログインできません。 | DMS サーバーの CIDR ブロックが RDS インスタンスの IP アドレスホワイトリストに追加されていません。 |
ECS インスタンスを内部ネットワーク経由で RDS インスタンスに接続できない原因となる問題
ApsaraDB RDS インスタンスの内部エンドポイントを使用して ECS インスタンスを ApsaraDB RDS インスタンスに接続する前に、ECS インスタンスのプライベート IP アドレスを ApsaraDB RDS インスタンスの IP アドレスホワイトリストに追加する必要があります。
説明IP アドレスホワイトリストの構成方法の詳細については、「ApsaraDB RDS for MySQL インスタンスの IP アドレスホワイトリストを構成する、ApsaraDB RDS for SQL Server インスタンスの IP アドレスホワイトリストを構成する、ApsaraDB RDS for PostgreSQL インスタンスの IP アドレスホワイトリストを構成する、および ApsaraDB RDS for MariaDB インスタンスの IP アドレスホワイトリストを構成する」をご参照ください。
RDS インスタンスの IP アドレスホワイトリストに ECS インスタンスのパブリック IP アドレスを追加した場合、内部ネットワーク経由で ECS インスタンスを RDS インスタンスに接続することはできません。
インスタンスが同じリージョンにある場合にのみ、内部ネットワーク経由で ECS インスタンスを RDS インスタンスに接続できます。インスタンスは、同じリージョンの同じゾーンまたは異なるゾーンに配置できます。
ECS インスタンスと RDS インスタンスが同じリージョンにあることを確認します。
ECS インスタンスが存在するリージョンを表示します。
RDS インスタンスが存在するリージョンを表示します。
ECS インスタンスと RDS インスタンスが異なるリージョンにある場合、インスタンスは内部ネットワーク経由で互いに直接通信できません。この場合、次のいずれかの方法を使用して問題を解決できます。
方法 1:
方法 2: RDS インスタンスのパブリックエンドポイントを使用して、ECS インスタンスを RDS インスタンスに接続します。この方法は、パフォーマンス、セキュリティ、および安定性が低下します。パブリックエンドポイントの申請方法の詳細については、「ApsaraDB RDS for MySQL インスタンスのパブリックエンドポイントを申請または解放する、ApsaraDB RDS for SQL Server インスタンスのパブリックエンドポイントを申請または解放する、ApsaraDB RDS for PostgreSQL インスタンスのパブリックエンドポイントを申請または解放する、および ApsaraDB RDS for MariaDB インスタンスのパブリックエンドポイントを申請または解放する」をご参照ください。
ネットワークタイプを確認する
ECS インスタンスと RDS インスタンスの両方が VPC またはクラシックネットワークにあることを確認します。
ECS インスタンスのネットワークタイプを表示します。
RDS インスタンスのネットワークタイプを表示します。
一方のインスタンスがクラシックネットワークにあり、もう一方のインスタンスが VPC にある場合は、次のいずれかの方法を使用して問題を解決します。
ECS インスタンスが VPC にあり、RDS インスタンスがクラシックネットワークにあるシナリオに適した方法:
方法 1: 接続する ECS インスタンスが存在する VPC にクラシックネットワークから RDS インスタンスを移行します。この方法を使用することをお勧めします。詳細については、「ネットワークタイプを変更する」をご参照ください。
方法 2: クラシックネットワークにある ECS インスタンスを購入します。VPC はクラシックネットワークよりも高いセキュリティを提供することに注意してください。VPC を使用することをお勧めします。
説明ECS インスタンスは VPC からクラシックネットワークに移行できません。
方法 3: RDS インスタンスのパブリックエンドポイントを使用して、ECS インスタンスを RDS インスタンスに接続します。この方法は、パフォーマンス、セキュリティ、および安定性が低下します。パブリックエンドポイントの申請方法の詳細については、「ApsaraDB RDS for MySQL インスタンスのパブリックエンドポイントを申請または解放する、ApsaraDB RDS for SQL Server インスタンスのパブリックエンドポイントを申請または解放する、ApsaraDB RDS for PostgreSQL インスタンスのパブリックエンドポイントを申請または解放する、および ApsaraDB RDS for MariaDB インスタンスのパブリックエンドポイントを申請または解放する」をご参照ください。
ECS インスタンスがクラシックネットワークにあり、RDS インスタンスが VPC にあるシナリオに適した方法:
方法 1: 接続する RDS インスタンスが存在する VPC にクラシックネットワークから ECS インスタンスを移行します。[ネットワークタイプ] パラメーターの右側にある [詳細の表示] をクリックして、RDS インスタンスが存在する VPC の ID を表示できます。この方法を使用することをお勧めします。詳細については、「詳細の表示ネットワークの種類ECS インスタンスを移行する」をご参照ください。
方法 2: RDS インスタンスのネットワークタイプを VPC からクラシックネットワークに変更します。VPC はクラシックネットワークよりも高いセキュリティを提供することに注意してください。VPC を使用することをお勧めします。
方法 3: ClassicLink 機能を使用して、クラシックネットワークタイプの ECS インスタンスを内部ネットワーク経由で VPC タイプの RDS インスタンスに接続します。詳細については、「ClassicLink を有効にする」をご参照ください。
説明ClassicLink 機能を有効にした後、インスタンスを接続できない場合は、「ClassicLink 接続を確立した後のクラシックネットワークと VPC 間の接続問題のトラブルシューティング」の説明に基づいて問題を解決します。
方法 4: RDS インスタンスのパブリックエンドポイントを使用して、ECS インスタンスを RDS インスタンスに接続します。この方法は、パフォーマンス、セキュリティ、および安定性が低下します。パブリックエンドポイントの申請方法の詳細については、「ApsaraDB RDS for MySQL インスタンスのパブリックエンドポイントを申請または解放する、ApsaraDB RDS for SQL Server インスタンスのパブリックエンドポイントを申請または解放する、ApsaraDB RDS for PostgreSQL インスタンスのパブリックエンドポイントを申請または解放する、および ApsaraDB RDS for MariaDB インスタンスのパブリックエンドポイントを申請または解放する」をご参照ください。
ECS インスタンスと RDS インスタンスの両方が VPC にある場合は、インスタンスが同じ VPC にあることを確認します。
ECS インスタンスが存在する VPC の ID を表示します。
RDS インスタンスのネットワークタイプを表示します。
ECS インスタンスと RDS インスタンスが異なる VPC にある場合は、次のいずれかの方法を使用して問題を解決します。
方法 1: ECS インスタンスが存在する VPC に RDS インスタンスを移行します。この方法を使用することをお勧めします。詳細については、「VPC と vSwitch を変更する」をご参照ください。
方法 2: クラウドエンタープライズネットワーク ( CEN ) インスタンスを作成して、2 つの VPC 間の接続を確立します。CEN の詳細については、「CEN を使用してリージョン内ネットワーク通信を有効にする」をご参照ください。
方法 3: RDS インスタンスのパブリックエンドポイントを使用して、ECS インスタンスを RDS インスタンスに接続します。この方法は、パフォーマンス、セキュリティ、および安定性が低下します。パブリックエンドポイントの申請方法の詳細については、「ApsaraDB RDS for MySQL インスタンスのパブリックエンドポイントを申請または解放する、ApsaraDB RDS for SQL Server インスタンスのパブリックエンドポイントを申請または解放する、ApsaraDB RDS for PostgreSQL インスタンスのパブリックエンドポイントを申請または解放する、および ApsaraDB RDS for MariaDB インスタンスのパブリックエンドポイントを申請または解放する」をご参照ください。
ECS インスタンスと RDS インスタンスが同じ VPC と同じリージョンにあり、ECS インスタンスが RDS インスタンスの内部エンドポイントではなくパブリックエンドポイントを使用して RDS インスタンスに接続でき、ping コマンドと telnet コマンドの両方で接続エラーが返される場合は、「ルーティングの問題が原因で ECS インスタンスが ApsaraDB RDS インスタンスに接続できない場合の対処方法」の説明に基づいて問題を解決できます。
内部ネットワーク経由で RDS インスタンスに接続できない原因となる問題
接続に RDS インスタンスのパブリックエンドポイントが使用されていることを確認します。データベース接続[ApsaraDB RDS コンソール] の [データベース接続] ページで、RDS インスタンスのパブリックエンドポイントを表示できます。
RDS インスタンスに接続するオンプレミスデバイスのパブリック IP アドレスが RDS インスタンスの IP アドレスホワイトリストに追加されていることを確認します。0.0.0.0/0
が RDS インスタンスの IP アドレスホワイトリストに追加された後、オンプレミスデバイスを RDS インスタンスに接続できる場合、IP アドレスホワイトリストに追加したデバイス IP アドレスが正しくありません。この場合、オンプレミスデバイスの正しいパブリック IP アドレスを取得し、そのパブリック IP アドレスを RDS インスタンスの IP アドレスホワイトリストに追加します。IP アドレスホワイトリストの構成方法の詳細については、「ApsaraDB RDS for MySQL インスタンスの IP アドレスホワイトリストを構成する、ApsaraDB RDS for SQL Server インスタンスの IP アドレスホワイトリストを構成する、ApsaraDB RDS for PostgreSQL インスタンスの IP アドレスホワイトリストを構成する、および ApsaraDB RDS for MariaDB インスタンスの IP アドレスホワイトリストを構成する」をご参照ください。
パブリック IP アドレスは変更される場合があります。パブリック IP アドレスが変更された場合、元のパブリック IP アドレスを使用して接続を確立することはできません。安定した接続を維持するには、RDS インスタンスの内部エンドポイントを使用し、内部 IP アドレスを RDS インスタンスの IP アドレスホワイトリストに追加することをお勧めします。
詳細については、以下のトピックをご参照ください。
異なる Alibaba Cloud アカウント内で作成された ECS インスタンスと RDS インスタンス間の接続中に報告されるエラー
次のいずれかの方法を使用して、インスタンスを接続できます。
方法 1: VPC ピアリング接続を使用します。詳細については、「VPC ピアリング接続」をご参照ください。この方法を使用することをお勧めします。
方法 2: RAM ロールと RAM ポリシーを使用します。詳細については、「RAM ロール」をご参照ください。
方法 3: RDS インスタンスのパブリックエンドポイントを使用して、ECS インスタンスを RDS インスタンスに接続します。この方法は、パフォーマンス、セキュリティ、および安定性が低下します。パブリックエンドポイントの申請方法の詳細については、「ApsaraDB RDS for MySQL インスタンスのパブリックエンドポイントを申請または解放する、ApsaraDB RDS for SQL Server インスタンスのパブリックエンドポイントを申請または解放する、ApsaraDB RDS for PostgreSQL インスタンスのパブリックエンドポイントを申請または解放する、および ApsaraDB RDS for MariaDB インスタンスのパブリックエンドポイントを申請または解放する」をご参照ください。
参考資料
適用範囲
ApsaraDB RDS