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

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

最終更新日:Jan 23, 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アドレスを変更します

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アドレスホワイトリストの設定が正しいかどうかを確認してください。

  • 拡張ホワイトリストモードを有効にした場合、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インスタンスに接続できない問題

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

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

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

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

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

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

        image

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

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

      • 方法1:

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

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

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

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

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

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

      image

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

      image

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

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

      • 方法1: RDSインスタンスをクラシックネットワークからECSインスタンスが存在するVPCに移行します。 これは推奨される方法です。 詳細については、以下をご参照ください。

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

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

        説明

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

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

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

      • 方法1: ECSインスタンスをクラシックネットワークからRDSインスタンスが存在するVPCに移行します。 RDSインスタンスのVPC IDを表示するには、RDSインスタンスの [基本情報] ページに移動し、[ネットワークタイプ] の右側にある [詳細を参照] をクリックします。 これは推奨される方法です。 詳細については、「ECSインスタンスの移行」をご参照ください。

      • 方法2: RDSインスタンスのネットワークタイプをVPCからクラシックネットワークに変更します。 VPCは、クラシックネットワークよりも高いセキュリティを提供します。 VPCネットワークタイプを使用することを推奨します。

      • 方法3: ClassicLink機能を使用して、クラシックネットワークタイプのECSインスタンスとVPCタイプのRDSインスタンスの間に内部ネットワーク接続を確立します。 ClassicLink機能の詳細については、「ClassicLinkの有効化」をご参照ください。

        説明

        ClassicLink機能の使用後にクラシックネットワークタイプのECSインスタンスとVPCタイプのRDSインスタンス間の内部ネットワーク接続を確立できない場合は、ClassicLink接続を確立した後のクラシックネットワークとVPC間の接続問題のトラブルシューティングの説明に基づいて問題を処理します。

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

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

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

      image

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

      image

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

    • 方法1: ECSインスタンスが存在するVPCにRDSインスタンスを移行します。 これは推奨される方法です。 詳細については、「ApsaraDB RDS For MySQLインスタンスの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インスタンスのパブリックエンドポイントを表示できます。

image

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インスタンス