このトピックでは、ApsaraDB RDSインスタンスへの接続に障害が発生するさまざまな問題を解決する方法について説明します。
一般的な接続エラー
次の表では、異なるエンジンを実行するRDSインスタンスの一般的な接続エラーと、これらのエラーの解決策について説明します。
RDS for SQL Serverのエラー
エラーメッセージ | 原因 | 解決策 |
XXXに接続できません。 SQL Serverへの接続中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。 サーバーが見つからなかったか、アクセスできませんでした。 インスタンス名が正しいこと、およびSQL Serverがリモート接続を許可するように構成されていることを確認します。 (プロバイダー: TCPプロバイダー、エラー: 0-接続先が一定期間後に適切に応答しなかったために接続の試みが失敗しました。または、接続先のホストが応答に失敗したために確立された接続が失敗しました。) (Microsoft SQL Server、エラー: 10060または258) | ネットワーク通信が異常です。 |
詳細については、「ソリューション」をご参照ください。 |
XXXに接続できません。 サーバーとの接続は正常に確立されましたが、ログオン処理中にエラーが発生しました。 (provider: TCP Provider, error: 0-指定したネットワーク名を使用できなくなります。) (Microsoft SQL Server、エラー: 64) | RDSインスタンスのIPアドレスホワイトリストには、RDSインスタンスに接続するIPアドレスが含まれていません。 | |
トリガーの実行によりログイン 'user' のログオンに失敗しました | RDSインスタンスへの接続数が上限に達しました。 | |
ユーザーのデフォルトデータベースを開くことができません。ログインに失敗しました | RDS for SQL Serverインスタンスへのログインに使用されるユーザーの既定のデータベースには、リンクされたユーザーがありません。 | 既定のデータベースへのログインに使用するユーザーのリンクユーザーを作成します。 |
DMSを使用したRDSインスタンスへの接続に失敗する問題
DMSを使用してRDSインスタンスに接続するときに発生するエラーを処理するには、次のドキュメントを参照してください。DMSを使用したApsaraDB RDS for SQL Serverインスタンスへのログインをご参照ください。
エラーメッセージ | 原因 | 解決策 |
MYSQLサーバーは -- rds-deny-accessオプションで実行されているため、このステートメントを実行できません。 |
| |
DMSを使用してRDSインスタンスに接続することはできません。 | RDSインスタンスの所有者ではなく、RDSインスタンスの所有者にログイン権限が付与されていません。 | |
IPアドレスホワイトリストに関連する問題のため、RDSインスタンスにログインできません。 | DMSサーバーのCIDRブロックは、RDSインスタンスのIPアドレスホワイトリストに追加されません。 |
内部ネットワーク経由でECSインスタンスをRDSインスタンスに接続できない問題
ApsaraDB RDSインスタンスの内部エンドポイントを使用してECSインスタンスをApsaraDB RDSインスタンスに接続する前に、ECSインスタンスのプライベートIPアドレスをApsaraDB RDSインスタンスのIPアドレスホワイトリストに追加する必要があります。
説明詳細については、RDS for SQL ServerインスタンスのIPアドレスホワイトリストの設定をご参照ください。
ECSインスタンスのパブリックIPアドレスをApsaraDB RDSインスタンスのIPアドレスホワイトリストに追加した場合、ApsaraDB RDSインスタンスの内部エンドポイントを使用してECSインスタンスをApsaraDB RDSインスタンスに接続することはできません。
ECSインスタンスを内部ネットワーク経由でApsaraDB RDSインスタンスに接続できるのは、これらのインスタンスが同じリージョンにある場合のみです。 これらのインスタンスは、同じリージョンの同じゾーンまたは異なるゾーンに存在できます。
ECSインスタンスとApsaraDB RDSインスタンスが同じリージョンにあることを確認します。
ECSインスタンスが存在するリージョンを表示します。
ApsaraDB RDSインスタンスが存在するリージョンを表示します。
ECSインスタンスとApsaraDB RDSインスタンスが異なるリージョンにある場合、これらのインスタンスは内部ネットワークを介して相互に直接通信できません。 この場合、次のいずれかの方法を使用して問題を解決できます。
方法 1:
方法2: RDSインスタンスのパブリックエンドポイントを使用して、ECSインスタンスをRDSインスタンスに接続します。 RDSインスタンスのパブリックエンドポイントを申請する方法の詳細については、RDS for SQL Serverインスタンスのパブリックエンドポイントの申請またはリリースをご参照ください。この方法では、最適なパフォーマンス、セキュリティ、または安定性を実現できません。
ネットワークタイプの確認
ECSインスタンスとApsaraDB RDSインスタンスの両方がVPCまたはクラシックネットワークにあることを確認します。
ECSインスタンスのネットワークタイプを表示します。
RDSインスタンスのネットワークタイプを表示します。
1つのインスタンスがクラシックネットワークにあり、もう1つのインスタンスがVPCにある場合、次のいずれかの方法で問題を解決します。
ECSインスタンスがVPCにあり、RDSインスタンスがクラシックネットワークにあるシナリオに適した方法:
方法1: RDSインスタンスのネットワークタイプをクラシックネットワークからECSインスタンスが存在するVPCに変更します。 これは推奨される方法です。
方法2: クラシックネットワークにあるECSインスタンスを購入します。 VPCはクラシックネットワークよりも高いセキュリティを提供します。 VPCの使用を推奨します。
説明ECSインスタンスをVPCからクラシックネットワークに移行することはできません。
方法3: RDSインスタンスのパブリックエンドポイントを使用して、ECSインスタンスをRDSインスタンスに接続します。 RDSインスタンスのパブリックエンドポイントを申請する方法の詳細については、RDS for SQL Serverインスタンスのパブリックエンドポイントの申請またはリリースをご参照ください。この方法では、最適なパフォーマンス、セキュリティ、または安定性を実現できません。
ECSインスタンスがクラシックネットワークにあり、RDSインスタンスがVPCにあるシナリオに適した方法:
方法1 (推奨): ECSインスタンスをクラシックネットワークから、接続するRDSインスタンスが存在するVPCに移行します。 [ネットワークタイプ] ページの右側にある [接続の詳細の表示] をクリックすると、RDSインスタンスが存在するVPCのIDが表示されます。 詳細については、「ECSインスタンスの移行」をご参照ください。
方法2: RDSインスタンスのネットワークタイプをVPCからクラシックネットワークに変更します。 VPCはクラシックネットワークよりも高いセキュリティを提供します。 VPCの使用を推奨します。
方法3: ClassicLink機能を使用して、クラシックネットワークタイプのECSインスタンスとVPCタイプのRDSインスタンスの間に内部ネットワーク接続を確立します。 ClassicLink機能の詳細については、「ClassicLinkの有効化」をご参照ください。
説明ClassicLink機能の使用後、クラシックネットワークタイプのECSインスタンスとVPCタイプのRDSインスタンス間の内部ネットワーク接続を確立できない場合は、ClassicLink接続を確立した後のクラシックネットワークとVPC間の接続問題のトラブルシューティングの説明に基づいて問題を処理します。
方法4: RDSインスタンスのパブリックエンドポイントを使用して、ECSインスタンスをRDSインスタンスに接続します。 RDSインスタンスのパブリックエンドポイントを申請する方法の詳細については、RDS for SQL Serverインスタンスのパブリックエンドポイントの申請またはリリースをご参照ください。この方法では、最適なパフォーマンス、セキュリティ、または安定性を実現できません。
ECSインスタンスとRDSインスタンスの両方がVPCにある場合は、これらのインスタンスが同じVPCにあることを確認してください。
ECSインスタンスのVPC IDを表示します。
RDSインスタンスのネットワークタイプを表示します。
ECSインスタンスとRDSインスタンスが異なるVPCにある場合、次のいずれかの方法で問題を解決します。
方法1: これは推奨される方法です。 ECSインスタンスが存在するVPCにRDSインスタンスを移行します。 詳細については、「VPCとvSwitchの変更」をご参照ください。
方法2: Cloud Enterprise Network (CEN) インスタンスを作成して、2つのVPC間の接続を確立します。 CENの詳細については、「CENを使用したリージョン内ネットワーク通信の有効化」をご参照ください。
方法3: RDSインスタンスのパブリックエンドポイントを使用して、ECSインスタンスをRDSインスタンスに接続します。 RDSインスタンスのパブリックエンドポイントを申請する方法の詳細については、RDS for SQL Serverインスタンスのパブリックエンドポイントの申請またはリリースをご参照ください。この方法では、最適なパフォーマンス、セキュリティ、または安定性を実現できません。
ECSインスタンスとRDSインスタンスが同じVPCおよび同じリージョンにある場合、ECSインスタンスはRDSインスタンスの内部エンドポイントではなくパブリックエンドポイントを使用してRDSインスタンスに接続でき、pingコマンドとtelnetコマンドの両方が接続失敗を返します。解決方法:ルーティングの問題によりECSインスタンスがApsaraDB RDSインスタンスに接続できない場合はどうすればよいですか。
インターネット経由でのRDSインスタンスへの接続に失敗する問題
RDSインスタンスへの接続にRDSインスタンスのパブリックエンドポイントが使用されていることを確認します。 ApsaraDB RDSコンソールの [データベース接続] ページで、RDSインスタンスのパブリックエンドポイントを表示できます。
RDSインスタンスに接続するオンプレミスデバイスのパブリックIPアドレスが、RDSインスタンスのIPアドレスホワイトリストに追加されていることを確認します。 RDSインスタンスのIPアドレスホワイトリストに0.0.0.0/0
を追加した後、オンプレミスデバイスをRDSインスタンスに接続できる場合、IPアドレスホワイトリストに追加したIPアドレスは正しくありません。 この場合、次のトピックに基づいてオンプレミスデバイスの正しいパブリックIPアドレスを取得し、そのパブリックIPアドレスをRDSインスタンスのIPアドレスホワイトリストに追加します。 RDSインスタンスのIPアドレスホワイトリストを設定する方法の詳細については、ApsaraDB RDS for SQL Serverインスタンスのセキュリティグループの設定をご参照ください。
パブリックIPアドレスが変更される場合があります。 パブリックIPアドレスを変更した後は、元のパブリックIPアドレスを使用して接続を確立することはできません。 安定した接続を維持するには、RDSインスタンスの内部エンドポイントを使用し、内部IPアドレスをRDSインスタンスのIPアドレスホワイトリストに追加することを推奨します。
詳細については、次のドキュメントをご参照ください。
関連ドキュメント
適用範囲
ApsaraDB RDS