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

ApsaraDB RDS:ApsaraDB RDS インスタンスに接続できない場合の対処方法

最終更新日:May 09, 2025

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

一般的な接続エラー

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

ApsaraDB RDS for MySQL および ApsaraDB RDS for MariaDB

エラーメッセージ

原因

解決策

  • ERROR 2003 (HY000): Can't connect to MySQL server on 'XXX'(10038, 10060, or 110)

  • Cannot connect to a database: XXX

ネットワーク通信に異常があります。

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

  • ECS インスタンスと RDS インスタンスが同じネットワークタイプを使用していることを確認します。

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

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

詳細については、「解決策」をご参照ください。

  • ERROR 1045 (HY000): #28000ip not in whitelist

  • ERROR 2801 (HY000): #RDS00ip not in whitelist, client ip is XXX

  • ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error:110

IP アドレスホワイトリストが正しく構成されていません。

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

  • ERROR 1045 (28000): Access denied for user 'XXX'@'XXX' (using password: YES or NO)

  • ERROR 1045 (28000): Authentication Failed For RDS maybe username or password is incorrect

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

接続情報でユーザー名とパスワードを確認します。

  • ApsaraDB RDS はルートアカウントを提供していません。アカウントが必要な場合は、作成できます。詳細については、「アカウントを作成する」をご参照ください。

  • パスワードに特殊文字が含まれている場合、特殊文字は単一引用符 ('') で囲む必要があります。たとえば、コマンドで -p 'XXX' を使用します。

  • RDS インスタンスへの接続に使用するアカウントのパスワードを忘れた場合は、ApsaraDB RDS コンソール にログインし、RDS インスタンスのアカウントページに移動します。次に、アカウントのパスワードを変更します。

    説明

    パスワードを変更した後、新しいパスワードは数分後に有効になります。

  • ERROR 2005 (HY000): Unknown MySQL server host 'XXX' (110 or 11004)

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

  • Name or service not known

  • unknown server host

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

  1. RDS インスタンスの入力エンドポイント (接続文字列) が正しいかどうかを確認します。エラーは、次の理由で発生する可能性があります。

    • エンドポイントが正しく入力されていません。RDS インスタンスのエンドポイントは、rm-xxx.xxx.rds.aliyuncs.com の形式です。

    • インスタンスの入力パブリックエンドポイントが手動で解放されています。

    • 入力エンドポイントは、アプリケーションで定義されている最大長を超えているため、アプリケーションによって切り捨てられています。

  2. 入力エンドポイントが正しいことを確認してもエラーが報告される場合は、 DNS サーバーアドレスを Alibaba Cloud の DNS サーバーのアドレスに変更します。

    • クラシックネットワーク経由で RDS インスタンスに接続する場合は、 DNS サーバーアドレスを 10.143.22.116 または 10.143.22.118 に変更します。

    • VPC 経由で RDS インスタンスに接続する場合は、 DNS サーバーアドレスを 100.100.2.136 または 100.100.2.138 に変更します。

    • インターネット経由で RDS インスタンスに接続する場合は、 DNS サーバーアドレスを 223.5.5.5 または 223.6.6.6 に変更します。

説明

ping コマンドを実行して、RDS インスタンスの現在の IP アドレスを表示できます。ただし、インスタンスの IP アドレスは、インスタンスの移行時またはプライマリ/セカンダリスイッチオーバーの実行時に変更される可能性があるため、エンドポイントを使用して RDS インスタンスに接続することをお勧めします。

ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded:

/usr/xx/xx/caching_sha2_password.so: cannot open shared object file: No such file or directory

MySQL は caching_sha2_password 認証プラグインを読み込めません。

  • MySQL 8.0 を実行しているクライアント: デフォルトでは、MySQL 8.0 は caching_sha2_password プラグインを使用します。ただし、特定のシステムまたは特定のインストール方法では、プラグインが見つからない場合があります。プラグインが見つからない場合は、次のいずれかの方法で問題を解決できます。

    • 方法 1: 特権アカウントを使用して MySQL にログインし、次のステートメントを実行してプラグイン設定を変更し、再接続します。

      ALTER USER 'your_username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
      FLUSH PRIVILEGES;
    • 方法 2: MySQL を再インストールしてプラグインを修正します。

      sudo yum reinstall mysql-server
  • MySQL 5.x を実行しているクライアント: クライアントのバージョンが古く、caching_sha2_password プラグインをサポートしていません。この場合は、MySQL 8.0 をインストールします。

    sudo yum install mysql-server

[注記] [MY-010914] [サーバー] db: 'XXX' user: 'XXX' host: 'XXX' への接続 671541 を中止しました (クライアントが非アクティブのため、サーバーによって切断されました)。

RDS インスタンスへの接続が閉じられました。

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

データベース 'XX' へのユーザー 'root'@'XXX' のアクセスが拒否されました (パスワードを使用: YES)

MySQL は、root アカウントを使用して ECS インスタンスから RDS インスタンスへのアクセスを拒否します。

デフォルトでは、MySQL は、root アカウントの資格情報を使用して localhost から開始したログインのみを許可します。リモート IP アドレスからのログインは拒否されます。この場合は、RDS インスタンスに接続するための専用アカウントを作成します。

-- ECS インスタンスの IP アドレスからのみインスタンスへの接続を許可される専用アカウントを作成します。
CREATE USER '<user_name>'@'<172.16.XX.XX>' IDENTIFIED BY '<password>';
-- 最小権限の原則 (PoLP) に基づいて、必要なデータベースに対する権限を付与します。
GRANT SELECT, INSERT, UPDATE, DELETE ON <database_name>.* TO '<user_name>'@'<172.16.XX.XX>';
FLUSH PRIVILEGES;

XXX (172.17.XX.XX) から icmp_seq=1 Destination Host Unreachable

RDS インスタンスの内部 CIDR ブロックが、ECS などの別のサービスの CIDR ブロックと競合しています。

ApsaraDB RDS インスタンスに接続できず、インスタンスの内部エンドポイントに ping を実行すると「Destination Host Unreachable」エラーメッセージが表示される場合の対処方法

データ管理 ( DMS ) を使用して RDS インスタンスに接続するときに報告されるエラー

詳細については、「DMS を使用して ApsaraDB RDS インスタンスにログインする」をご参照ください。

重要

アカウントのパスワードをリセットした後、新しいパスワードを使用して DMS に再度ログインする必要があります。

エラーメッセージ

原因

解決策

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

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

  • RDS インスタンスのストレージ容量が不足しています。

ApsaraDB RDS コンソールにログオンし、RDS インスタンスがロックされているかどうかを確認します。

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

RDS インスタンスのオーナーではなく、RDS インスタンスのオーナーからログイン権限が付与されていません。

Alibaba Cloud アカウントを承認する

エンドポイントが有効かどうか、IP アドレスのホワイトリストが正しく構成されているかどうか、およびネットワーク通信が正常かどうかを確認します。

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

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

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

  • 自己管理 MySQL データベースが起動されていません。

  • 自己管理 MySQL データベースは、ルートアカウントの認証情報を使用したログインのみを許可しています。

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

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

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

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

max_user_connections

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

ApsaraDB RDS for MySQLインスタンスに接続したときに、「 'max_user_connections 'を超える」または「max_user_connections' を超えた」というエラーメッセージが表示された場合はどうすればよいですか。

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

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

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

クロスアカウントまたはクロス VPC アクセス

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

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

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

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

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

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

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

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

      • 方法 1:

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

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

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

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

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

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

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

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

    • 接続する ECS インスタンスが VPC 内にあり、RDS インスタンスがクラシックネットワーク内にある場合に適した方法:

      • 方法 1:RDS インスタンスをクラシックネットワークから、接続する ECS インスタンスが存在する VPC に移行します。この方法を使用することをお勧めします。詳細については、「ネットワークタイプの変更」をご参照ください。

      • 方法 2:クラシックネットワーク内に存在する ECS インスタンスを購入します。VPC はクラシックネットワークよりも高いセキュリティを提供することに注意してください。VPC を使用することをお勧めします。

        説明

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

      • 方法 3:RDS インスタンスのパブリックエンドポイントを使用して、ECS インスタンスを RDS インスタンスに接続します。この方法は、パフォーマンス、セキュリティ、および安定性が低下します。パブリックエンドポイントの申請方法の詳細については、「ApsaraDB RDS for MySQL インスタンスのパブリックエンドポイントを申請またはリリースする」をご参照ください。

    • 接続する ECS インスタンスがクラシックネットワーク内にあり、RDS インスタンスが VPC 内にある場合に適した方法:

      • 方法 1:ECS インスタンスをクラシックネットワークから、接続する RDS インスタンスが存在する VPC に移行します。WordPress をインストールします。ネットワークの種類ECS インスタンスを移行する パラメーターの右側にある をクリックすると、RDS インスタンスが存在する VPC の ID を表示できます。この方法を使用することをお勧めします。詳細については、「」をご参照ください。

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

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

        説明

        ClassicLink 機能を有効にした後もインスタンスを接続できない場合は、「ClassicLink 接続の確立後にクラシックネットワークと VPC 間の接続の問題をトラブルシューティングする」の説明に基づいて問題を解決してください。

      • 方法 4:RDS インスタンスのパブリックエンドポイントを使用して、ECS インスタンスを RDS インスタンスに接続します。この方法は、パフォーマンス、セキュリティ、および安定性が低下します。パブリックエンドポイントの申請方法の詳細については、「ApsaraDB RDS for MySQL インスタンスのパブリックエンドポイントを申請またはリリースする」をご参照ください。

  3. ECS インスタンスと RDS インスタンスが両方とも VPC 内に存在する場合は、インスタンスが同じ VPC 内に存在することを確認します。

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

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

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

  5. ECS インスタンスと RDS インスタンスが同じ VPC と同じリージョンに存在する場合、ECS インスタンスは RDS インスタンスの内部エンドポイントではなくパブリックエンドポイントを使用して RDS インスタンスに接続でき、ping コマンドと telnet コマンドの両方で接続エラーが返される場合は、「ルーティングの問題が原因で ECS インスタンスが ApsaraDB RDS インスタンスに接続できない場合はどうすればよいですか?」の説明に基づいて問題を解決できます。

インターネット経由で RDS インスタンスに接続できない問題

  • インスタンスへのインターネット接続を確認する

    RDS インスタンスのパブリックエンドポイントが接続に使用されていることを確認します。データベース接続ApsaraDB RDS コンソール の ページで、RDS インスタンスのパブリックエンドポイントを確認できます。

  • オンプレミスデバイスのパブリック IP アドレスが RDS インスタンスのホワイトリストに追加されているかどうかを確認する

    重要

    オンプレミスデバイスのパブリック IP アドレスは動的に変化する可能性があり、接続エラーが発生する可能性があります。安定した接続を維持するために、内部ネットワーク経由で RDS インスタンスに接続するか、RDS インスタンスのホワイトリストでデバイスのパブリック IP アドレスのバリエーションをカバーするパブリック CIDR ブロックを指定することをお勧めします。

    RDS インスタンスに接続するオンプレミスデバイスのパブリック IP アドレスが、RDS インスタンスの IP アドレスホワイトリストに追加されていることを確認します。0.0.0.0/0 が RDS インスタンスの IP アドレスホワイトリストに追加された後に、オンプレミスデバイスを RDS インスタンスに接続できる場合、IP アドレスホワイトリストに追加したデバイスの IP アドレスが正しくありません。この場合、オンプレミスデバイスの正しいパブリック IP アドレスを取得し、RDS インスタンスの IP アドレスホワイトリストにそのパブリック IP アドレスを追加します。 IP アドレスホワイトリストの設定方法の詳細については、「RDS for MySQL インスタンスの IP アドレスホワイトリストを設定する」「」「」「をご参照ください。

詳細については、以下のトピックをご参照ください。

異なる Alibaba Cloud アカウント内に作成された ECS インスタンスと RDS インスタンス間の接続中に報告されたエラー

次のいずれかの方法を使用して、インスタンスに接続できます。

  • 方法 1: VPC ピアリング接続を使用します。詳細については、「VPC ピアリング接続」をご参照ください。この方法を使用することをお勧めします。

  • 方法 2: RAM ロールと RAM ポリシーを使用します。詳細については、「RAM ロール」をご参照ください。

  • 方法 3: RDS インスタンスのパブリックエンドポイントを使用して、ECS インスタンスを RDS インスタンスに接続します。この方法は、パフォーマンス、セキュリティ、および安定性が低下します。パブリックエンドポイントの申請方法の詳細については、「ApsaraDB RDS for MySQL インスタンスのパブリックエンドポイントを申請またはリリースする」「」「」「」をご参照ください。

参考資料

ApsaraDB RDS インスタンスに接続できない問題のトラブルシューティング

アプリケーション範囲

ApsaraDB RDS