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

:ApsaraDB RDS for MySQLインスタンスまたはApsaraDB RDS for MariaDBインスタンスに接続したときに「 'XXX' でMySQLサーバーに接続できません」というエラーメッセージが表示された場合はどうすればよいですか?

最終更新日:Jan 18, 2024

説明

ApsaraDB RDS for MySQLインスタンスまたはApsaraDB RDS for MariaDBインスタンスに接続すると、次のエラーメッセージが表示されます。

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

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

解決策

このトピックでは、次の2つの方法について説明します。

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

  • ECSインスタンスではなくデバイスをインターネット経由でRDSインスタンスに接続できない問題

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

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

    • 方法1: ECSインスタンスまたはRDSインスタンスをリリースまたは解除します。 次に、指定されたリージョンにあるECSインスタンスまたはRDSインスタンスを購入します。

    • 方法2: ECSインスタンスとRDSインスタンスのネットワークタイプをVirtual Private Cloud (VPC) に変更します。 詳細については、「RDSインスタンスのネットワークタイプの変更」をご参照ください。 さらに、ECSインスタンスとRDSインスタンスのVPC間でExpress Connectを使用して接続を確立します。

    • 方法3: RDSインスタンスのパブリックエンドポイントを使用して、ECSインスタンスをRDSインスタンスに接続します。 この方法では、インスタンスの最適なパフォーマンス、セキュリティ、または安定性を確保できません。 方法3を使用する場合は、ECSインスタンスとRDSインスタンスの合理的なネットワーク設定を行うことを推奨します。

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

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

      • 方法1: これは推奨される方法です。 RDSインスタンスのネットワークタイプをクラシックネットワークからVPCに変更します。 詳細については、「ApsaraDB RDSインスタンスのネットワークタイプの変更」をご参照ください。

        説明

        内部ネットワークを介して相互に通信するには、ECSインスタンスとRDSインスタンスが同じVPCに存在する必要があります。

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

        説明

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

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

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

      • 方法1: これは推奨される方法です。 ECSインスタンスのネットワークタイプをクラシックネットワークからVPCに変更します。 詳細については、「ECSインスタンスのネットワークタイプの変更」をご参照ください。

        説明

        内部ネットワークを介して相互に通信するには、ECSインスタンスとRDSインスタンスが同じVPCに存在する必要があります。

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

      • 方法3: ClassicLink機能を使用して、ECSインスタンスとRDSインスタンス間の内部ネットワーク接続を確立します。

        説明

        ClassicLink機能を有効にした後、ECSインスタンスとRDSインスタンスの間に内部ネットワーク接続を確立できない場合は、 クラシックネットワークとVPC間で接続を確立できない場合はどうすればよいですか?

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

  3. ECSインスタンスとRDSインスタンスの両方がVPCにある場合は、これらのインスタンスが同じVPCにあることを確認してください。 ECSインスタンスとRDSインスタンスが異なるVPCにある場合、次のいずれかの方法で問題を解決します。

    • 方法1: これは推奨される方法です。 ECSインスタンスが属するVPCにRDSインスタンスを移行します。 詳細については、「ApsaraDB RDSインスタンスを別のVPCと別のvSwitchに移行する」または「ApsaraDB RDSインスタンスのネットワークタイプを変更する」をご参照ください。 RDSインスタンスのネットワークタイプをVPCからクラシックネットワークに変更します。 次に、RDSインスタンスのネットワークタイプをVPCに戻します。 RDSインスタンスのネットワークタイプをVPCに戻す場合は、ECSインスタンスが属するVPCを選択します。

    • 方法2: Cloud Enterprise Network (CEN) インスタンスを作成して、ECSインスタンスとRDSインスタンスのVPC間にプライベート接続を確立します。

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

  4. ECSインスタンスのIPアドレスがRDSインスタンスのIPアドレスホワイトリストに追加されていることを確認します。 RDSインスタンスのIPアドレスホワイトリストを設定する方法の詳細については、「ApsaraDB RDSインスタンスのIPアドレスホワイトリストの設定」をご参照ください。

  5. RDSインスタンスとECSインスタンス間の接続を確認します。 ECSインスタンスで次のコマンドを実行して、ECSインスタンスがRDSインスタンスのエンドポイントに関連付けられているポートに接続できるかどうかをテストします。

    telnet [$RDS_IP] [$ポート]
    説明
    • [$RDS_IP] はRDSインスタンスのエンドポイントです。

    • [$Port] はRDSインスタンスのポート番号です。 RDSインスタンスのポートが変更されている場合は、ポート番号を新しいポート番号に置き換えます。 ApsaraDB RDS for MySQLインスタンスのデフォルトのポート番号は3306で、ApsaraDB RDS for SQL Serverインスタンスのデフォルトのポート番号は3433です。

    • ECSインスタンスがRDSインスタンスのエンドポイントに関連付けられているポートに接続できる場合、ECSインスタンスは内部ネットワークを介してRDSインスタンスに接続できます。

    • ECSインスタンスがRDSインスタンスのエンドポイントに関連付けられているポートに接続できない場合、ECSインスタンスのネットワーク問題をトラブルシューティングする必要があります。 詳細については、「RDSインスタンスに接続できない場合の対処方法」をご参照ください。.

ECSインスタンスではなくデバイスをインターネット経由でRDSインスタンスに接続できない問題

ECSインスタンスではなくデバイスをRDSインスタンスに接続できるのは、インターネット経由でのみです。 接続に失敗した場合は、次のいずれかの方法で問題を解決します。

  1. デバイスのIPアドレスがRDSインスタンスのIPアドレスホワイトリストに追加されているかどうかを確認します。 デバイスのIPアドレスがRDSインスタンスのIPアドレスホワイトリストに追加されていない場合、RDSインスタンスのIPアドレスホワイトリストにIPアドレスを追加する必要があります。 詳細については、「ApsaraDB RDSインスタンスのIPアドレスホワイトリストの設定」をご参照ください。

  2. 拡張ホワイトリストモードが有効になっている場合は、デバイスのパブリックIPアドレスがクラシックネットワークタイプのIPアドレスホワイトリストに追加されていることを確認します。

    説明

    VPCホワイトリストグループのIPアドレスは、クラシックネットワークホワイトリストグループに対して無効です。

  3. デバイスのIPアドレスがRDSインスタンスのIPアドレスホワイトリストに追加された場合、IPアドレスホワイトリストに追加されたデバイスのパブリックIPアドレスが正しくないため、接続が失敗する可能性があります。 接続障害は、次の理由が原因です。

    • パブリックIPアドレスは動的に変更されます。

    • パブリックIPアドレスの照会に使用されるツールまたはWebサイトは、不正確な結果を返します。

  4. 接続に使用するエンドポイントがRDSインスタンスの内部エンドポイントであるかどうかを確認します。 接続にはRDSインスタンスのパブリックエンドポイントを使用する必要があります。

    説明

適用範囲

  • ApsaraDB RDS for MySQL

  • ApsaraDB RDS for MariaDB