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

ApsaraDB RDS:ApsaraDB RDSインスタンスへの接続に失敗した場合はどうすればよいですか。

最終更新日:Aug 29, 2024

このトピックでは、ApsaraDB RDSインスタンスへの接続に障害が発生するさまざまな問題を解決する方法について説明します。

一般的な接続エラー

次の表に、一般的な接続エラーとこれらのエラーの解決策を示します。

データベースエンジン

エラーメッセージ

原因

解決策

MySQLまたはMariaDB

  • エラー2003 (HY000): 'XXX'(10038、10060、または110) のMySQLサーバーに接続できません

  • データベースに接続できません: XXX

ネットワーク通信が異常です。

  • ECS (Elastic Compute Service) インスタンスとRDSインスタンスが同じリージョンにあることを確認します。

  • ECSインスタンスとRDSインスタンスが同じタイプのネットワークにあることを確認します。

  • ECSインスタンスとRDSインスタンスが同じ仮想プライベートクラウド (VPC) にあることを確認します。

  • ECSインスタンスのIPアドレスがRDSインスタンスのIPアドレスホワイトリストに追加されていることを確認します。

詳細については、「ソリューション」をご参照ください。

  • エラー1045 (HY000): #28000ipがホワイトリストにない

  • エラー2801 (HY000): #RDS00ipホワイトリストではなく、クライアントipはXXXです

  • エラー2013 (HY000): 「認証パケットの読み取り」でMySQLサーバーへの接続が失われ、システムエラー: 110

RDSインスタンスのIPアドレスホワイトリストには、RDSインスタンスに接続するIPアドレスが含まれていません。

RDSインスタンスのIPアドレスホワイトリストの確認

  • エラー1045 (28000): ユーザー 'XXX' @ 'XXX' のアクセスが拒否されました (パスワード: YESまたはNOを使用)

  • エラー1045 (28000): RDSのユーザー名またはパスワードが正しくない場合の認証に失敗しました

ユーザー名またはパスワードが無効です。

インスタンス間の接続を確立するために使用されるユーザー名とパスワードを確認します

  • エラー2005 (HY000): 不明なMySQLサーバーホスト 'XXX' (110または11004)

  • SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known

  • 名前またはサービスが不明

  • 不明なサーバーホスト

ドメインネームシステム (DNS) サーバーは、RDSインスタンスのエンドポイントを解決できません。

RDSインスタンスのエンドポイントを確認するか、DNSサーバーのIPアドレスを変更します

[注] [MY-010914] [サーバー] db: 'XXX' ユーザー: 'XXX' ホスト: 'XXX' への接続671541を中止 (クライアントはサーバーによって切断されました。inactivity.) 。

RDSインスタンスへの接続が閉じられています。

このエラーは、クライアントが長期間リクエストを送信せず、サーバーの対話タイムアウト期間が終了したために発生します。 RDSインスタンスがMySQLを実行している場合、interaction_timeoutまたはwait_timeoutを使用してインタラクションタイムアウト期間を指定します。 RDSインスタンスの設定を確認し、ビジネス要件に基づいてタイムアウト設定を調整します。 これは予期しない切断を防ぐ。

SQL Server

XXXに接続できません。 SQL Serverへの接続中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。 サーバーが見つからなかったか、アクセスできませんでした。 インスタンス名が正しいこと、およびSQL Serverがリモート接続を許可するように構成されていることを確認します。 (プロバイダー: TCPプロバイダー、エラー: 0-接続先が一定期間後に適切に応答しなかったために接続の試みが失敗しました。または、接続先のホストが応答に失敗したために確立された接続が失敗しました。) (Microsoft SQL Server、エラー: 10060または258)

ネットワーク通信が異常です。

  • ECSインスタンスとRDSインスタンスが同じリージョンにあることを確認します。

  • ECSインスタンスとRDSインスタンスが同じタイプのネットワークにあることを確認します。

  • ECSインスタンスとRDSインスタンスが同じVPCにあることを確認します。

  • ECSインスタンスのIPアドレスがRDSインスタンスのIPアドレスホワイトリストに追加されていることを確認します。

  • RDSインスタンスのIPアドレスとポート番号がECSインスタンスに正しく設定されているかどうかを確認します。

詳細については、「ソリューション」をご参照ください。

XXXに接続できません。

サーバーとの接続は正常に確立されましたが、ログオン処理中にエラーが発生しました。 (provider: TCP Provider, error: 0-指定したネットワーク名を使用できなくなります。) (Microsoft SQL Server、エラー: 64)

RDSインスタンスのIPアドレスホワイトリストには、RDSインスタンスに接続するIPアドレスが含まれていません。

RDSインスタンスのIPアドレスホワイトリストの確認

トリガーの実行によりログイン 'user' のログオンに失敗しました

RDSインスタンスへの接続数が上限に達しました。

RDSインスタンスへの接続数が上限に達し、ブロックされた接続が存在するかどうかを確認します

ユーザーのデフォルトデータベースを開くことができません。ログインに失敗しました

指定されたアカウントがデフォルトでログオンしているデータベースは削除されます。 その結果、ログインに失敗します。

別のアカウントを使用してデータベースにログインし、指定したアカウントのデフォルトデータベースを作成します

PostgreSQL

サーバーに接続できません:

接続がタイムアウト (0x000027 4C/10060) ホストで実行されているサーバーは「XXX.rds.aliyuncs.com」であり、ポートXXXでTCP/IP接続を受け入れていますか?

ネットワーク通信が異常です。

  • ECSインスタンスのIPアドレスがRDSインスタンスのIPアドレスホワイトリストに追加されていることを確認します。

  • ホワイトリストの設定が正しいかどうかを確認します。

  • 拡張ホワイトリストモードを有効にした場合、IPアドレスホワイトリストが必要なグループに追加されているかどうかを確認します。 詳細については、「拡張ホワイトリストモード」をご参照ください。

詳細については、「ソリューション」をご参照ください。

  • サーバーは予期せず接続を閉じました。これはおそらく、リクエストの処理前または処理中にサーバーが異常終了したことを意味します。

  • サーバーへの接続エラー: FATAL: pg_hba.confエントリなし

RDSインスタンスのIPアドレスホワイトリストには、RDSインスタンスに接続するIPアドレスが含まれていません。

RDSインスタンスのIPアドレスホワイトリストの確認

FATAL: 残りの接続スロットは非レプリケーションスーパーユーザー接続用に予約されています

RDSインスタンスへの接続数が上限に達しました。

接続を追加するプロセスの停止

FATAL: ユーザー "xxx" のパスワード認証に失敗しました。

パスワードが無効です。

パスワードをリセットして、もう一度お試しください。

パスワードをリセットする方法の詳細については、「パスワードのリセット」をご参照ください。

データ管理 (DMS) を使用したRDSインスタンスへの接続

定義者として指定されたユーザー ('user' @ 'a.b.c.d') が存在しない

指定されたアカウントが見つかりません。 このエラーは、データベースプロキシ機能がRDSインスタンスに使用されている場合にのみ発生する可能性があります。 詳細については、「ApsaraDB RDSがデータベースプロキシモードをサポートしている」をご参照ください。

データベースプロキシモードから標準モードへの切り替え

MYSQLサーバーは -- rds-deny-accessオプションで実行されているため、このステートメントを実行できません。

  • RDSインスタンスの有効期限が切れます。

  • RDSインスタンスのストレージ容量が使い果たされました。

RDSインスタンスの更新またはRDSインスタンスのストレージ容量のアップグレード

DMSを使用してRDSインスタンスに接続することはできません。

RDSインスタンスの所有者ではなく、RDSインスタンスの所有者にログイン権限が付与されていません。

Alibaba Cloudアカウントの承認

エンドポイントが有効で、IPアドレスホワイトリストが正しく設定され、ネットワーク通信が正常であるかどうかを確認します。

ほとんどの場合、このエラーは、ECSインスタンスまたはオンプレミスホストにある自己管理型MySQLデータベースをRDSインスタンスに接続すると、次の理由で発生します。

  • ECSインスタンスのファイアウォールまたはオンプレミスホストのファイアウォールは、RDSインスタンスからのアクセスを許可していません。

  • ECSインスタンスが属するセキュリティグループは、DMSからのアクセスを許可していません。

  • 自己管理型MySQLデータベースは起動されません。

  • 自己管理型MySQLデータベースでは、rootアカウントの資格情報を使用してECSインスタンスから開始するログオンのみが許可されます。

  • 自己管理型MySQLデータベースが存在するECSインスタンスまたはオンプレミスホストのファイアウォールルールを確認します。

  • ECSインスタンスのセキュリティグループにDMSサーバーのIPアドレスを追加します。

  • rootアカウントを使用してMySQLデータベースにログインします。

詳細については、「ソリューション」をご参照ください。

max_user_connections

RDSインスタンスへの接続数が上限に達しました。

RDSインスタンスへの接続数が上限に達しているという問題の解決

IPアドレスホワイトリストに関連する問題のため、RDSインスタンスにログインできません。

DMSサーバーのCIDRブロックは、RDSインスタンスのIPアドレスホワイトリストに追加されません。

DMSサーバーのCIDRブロックをRDSインスタンスのIPアドレスホワイトリストに追加します

内部ネットワーク経由でECSインスタンスをRDSインスタンスに接続できない問題

  • ApsaraDB RDSインスタンスの内部エンドポイントを使用してECSインスタンスをApsaraDB RDSインスタンスに接続する前に、ECSインスタンスのプライベートIPアドレスをApsaraDB RDSインスタンスのIPアドレスホワイトリストに追加する必要があります。

    説明
    • 詳細については、「ApsaraDB RDSインスタンスのホワイトリストの設定」をご参照ください。

    • ECSインスタンスのパブリックIPアドレスをApsaraDB RDSインスタンスのIPアドレスホワイトリストに追加した場合、ApsaraDB RDSインスタンスの内部エンドポイントを使用してECSインスタンスをApsaraDB RDSインスタンスに接続することはできません。

  • ECSインスタンスを内部ネットワーク経由でApsaraDB RDSインスタンスに接続できるのは、これらのインスタンスが同じリージョンにある場合のみです。 これらのインスタンスは、同じリージョンの同じゾーンまたは異なるゾーンに存在できます。

    • ECSインスタンスとApsaraDB RDSインスタンスが同じリージョンにあることを確認します。

      1. ECSインスタンスが存在するリージョンを表示します。

      2. ApsaraDB RDSインスタンスが存在するリージョンを表示します。

    • ECSインスタンスとApsaraDB RDSインスタンスが異なるリージョンにある場合、これらのインスタンスは内部ネットワークを介して相互に直接通信できません。 この場合、次のいずれかの方法を使用して問題を解決できます。

      • 方法 1:

        • リリース ECSインスタンス 次に、RDSインスタンスと同じリージョンにあるECSインスタンスを購入します。

        • リリース RDSインスタンス。 次に、ECSインスタンスと同じリージョンにあるRDSインスタンスを購入します。

      • 方法2: RDSインスタンスのパブリックエンドポイントを使用して、ECSインスタンスをRDSインスタンスに接続します。 RDSインスタンスのパブリックエンドポイントを申請する方法の詳細については、「ApsaraDB RDS For MySQLインスタンスのパブリックエンドポイントの申請またはリリース」をご参照ください。 この方法では、最適なパフォーマンス、セキュリティ、または安定性を実現できません。

ネットワークタイプの確認

  1. ECSインスタンスとApsaraDB RDSインスタンスの両方がVPCまたはクラシックネットワークにあることを確認します。

    • ECSインスタンスのネットワークタイプを表示します。

    • RDSインスタンスのネットワークタイプを表示します。

  2. 1つのインスタンスがクラシックネットワークにあり、もう1つのインスタンスがVPCにある場合、次のいずれかの方法で問題を解決します。

    • ECSインスタンスがVPCにあり、RDSインスタンスがクラシックネットワークにあるシナリオに適した方法:

      • 方法1: RDSインスタンスのネットワークタイプをクラシックネットワークからECSインスタンスが存在するVPCに変更します。 これは推奨される方法です。

        ネットワークタイプの切り替え

      • 方法2: クラシックネットワークにあるECSインスタンスを購入します。 VPCはクラシックネットワークよりも高いセキュリティを提供します。 VPCの使用を推奨します。

        説明

        ECSインスタンスをVPCからクラシックネットワークに移行することはできません。

      • 方法3: RDSインスタンスのパブリックエンドポイントを使用して、ECSインスタンスをRDSインスタンスに接続します。 RDSインスタンスのパブリックエンドポイントを申請する方法の詳細については、「パブリックエンドポイントの申請またはリリース」をご参照ください。 この方法では、最適なパフォーマンス、セキュリティ、または安定性を実現できません。

    • 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インスタンスのパブリックエンドポイントを申請する方法の詳細については、「パブリックエンドポイントの申請またはリリース」をご参照ください。 この方法では、最適なパフォーマンス、セキュリティ、または安定性を実現できません。

  3. ECSインスタンスとRDSインスタンスの両方がVPCにある場合は、これらのインスタンスが同じVPCにあることを確認してください。

    • ECSインスタンスのVPC IDを表示します。

    • RDSインスタンスのネットワークタイプを表示します。

  4. ECSインスタンスとRDSインスタンスが異なるVPCにある場合、次のいずれかの方法で問題を解決します。

    • 方法1: これは推奨される方法です。 ECSインスタンスが存在するVPCにRDSインスタンスを移行します。 詳細については、「VPCとvSwitchの変更」をご参照ください。

    • 方法2: Cloud Enterprise Network (CEN) インスタンスを作成して、2つのVPC間の接続を確立します。 CENの詳細については、「CENを使用したリージョン内ネットワーク通信の有効化」をご参照ください。

    • 方法3: RDSインスタンスのパブリックエンドポイントを使用して、ECSインスタンスをRDSインスタンスに接続します。 この方法では、最適なパフォーマンス、セキュリティ、または安定性を実現できません。

  5. 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インスタンスのIPアドレスホワイトリストの設定」をご参照ください。

説明

パブリックIPアドレスが変更される場合があります。 パブリックIPアドレスを変更した後は、元のパブリックIPアドレスを使用して接続を確立することはできません。 安定した接続を維持するには、RDSインスタンスの内部エンドポイントを使用し、内部IPアドレスをRDSインスタンスのIPアドレスホワイトリストに追加することを推奨します。

関連ドキュメント

適用範囲

  • ApsaraDB RDS