このトピックでは、ApsaraDB RDS インスタンスへの接続障害を引き起こすさまざまな問題の解決方法について説明します。
一般的な接続エラー
次の表に、一般的な接続エラーとそれらのエラーの解決策を示します。
ApsaraDB RDS for MySQL および ApsaraDB RDS for MariaDB
エラーメッセージ | 原因 | 解決策 |
| ネットワーク通信に異常があります。 |
詳細については、「解決策」をご参照ください。 |
| IP アドレスホワイトリストが正しく構成されていません。 | |
| ユーザー名またはパスワードが無効です。 | 接続情報でユーザー名とパスワードを確認します。
|
| ドメインネームシステム ( DNS ) サーバーが RDS インスタンスのエンドポイントを解決できません。 |
説明 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 は |
|
[注記] [MY-010914] [サーバー] db: 'XXX' user: 'XXX' host: 'XXX' への接続 671541 を中止しました (クライアントが非アクティブのため、サーバーによって切断されました)。 | RDS インスタンスへの接続が閉じられました。 | このエラーは、クライアントが長時間リクエストを送信せず、サーバーのインタラクションタイムアウト期間が終了したために発生します。RDS インスタンスで MySQL が実行されている場合、 |
データベース 'XX' へのユーザー 'root'@'XXX' のアクセスが拒否されました (パスワードを使用: YES) | MySQL は、 | デフォルトでは、MySQL は、 |
XXX (172.17.XX.XX) から icmp_seq=1 Destination Host Unreachable | RDS インスタンスの内部 CIDR ブロックが、ECS などの別のサービスの CIDR ブロックと競合しています。 |
データ管理 ( DMS ) を使用して RDS インスタンスに接続するときに報告されるエラー
詳細については、「DMS を使用して ApsaraDB RDS インスタンスにログインする」をご参照ください。
アカウントのパスワードをリセットした後、新しいパスワードを使用して DMS に再度ログインする必要があります。
エラーメッセージ | 原因 | 解決策 |
MYSQL サーバーは --rds-deny-access オプションで実行されているため、この文を実行できません。 |
| ApsaraDB RDS コンソールにログオンし、RDS インスタンスがロックされているかどうかを確認します。
|
DMS を使用して RDS インスタンスに接続することはできません。 | RDS インスタンスのオーナーではなく、RDS インスタンスのオーナーからログイン権限が付与されていません。 | |
エンドポイントが有効かどうか、IP アドレスのホワイトリストが正しく構成されているかどうか、およびネットワーク通信が正常かどうかを確認します。 | 多くの場合、このエラーは、ECS インスタンスまたはオンプレミス ホストにある自己管理 MySQL データベースを RDS インスタンスに接続するときに、次の理由で発生します。
|
詳細については、「ソリューション」をご参照ください。 |
max_user_connections | RDS インスタンスへの接続数が上限に達しました。 | |
IP アドレス ホワイトリストに関連する問題が原因で、RDS インスタンスにログインできません。 | DMS サーバーの CIDR ブロックが、RDS インスタンスの IP アドレス ホワイトリストに追加されていません。 |
クロスアカウントまたはクロス 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 インスタンスが同じリージョンにあることを確認します。
ECS インスタンスが存在するリージョンを表示します。
RDS インスタンスが存在するリージョンを表示します。
ECS インスタンスと RDS インスタンスが異なるリージョンにある場合、インスタンスは内部ネットワーク経由で直接通信できません。この場合、次のいずれかの方法を使用して問題を解決できます。
方法 1:
方法 2: RDS インスタンスのパブリックエンドポイントを使用して、ECS インスタンスを RDS インスタンスに接続します。この方法では、パフォーマンス、セキュリティ、および安定性が低下します。パブリックエンドポイントの申請方法の詳細については、「ApsaraDB RDS for MySQL インスタンスのパブリックエンドポイントを申請またはリリースする」「」「」「をご参照ください。
ネットワークタイプの確認
ECS インスタンスと RDS インスタンスが両方とも VPC 内またはクラシックネットワーク内に存在することを確認します。
ECS インスタンスのネットワークタイプを表示します。
RDS インスタンスのネットワークタイプを表示します。
一方のインスタンスがクラシックネットワーク内にあり、もう一方のインスタンスが 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 インスタンスのパブリックエンドポイントを申請またはリリースする」をご参照ください。
ECS インスタンスと RDS インスタンスが両方とも VPC 内に存在する場合は、インスタンスが同じ VPC 内に存在することを確認します。
ECS インスタンスが存在する VPC の ID を表示します。
RDS インスタンスのネットワークタイプを表示します。
ECS インスタンスと RDS インスタンスが異なる VPC に存在する場合は、次のいずれかの方法を使用して問題を解決します。
方法 1:RDS インスタンスを ECS インスタンスが存在する VPC に移行します。この方法を使用することをお勧めします。詳細については、「VPC と vSwitch の変更」をご参照ください。
方法 2:Cloud Enterprise Network ( CEN ) インスタンスを作成して、2 つの VPC 間の接続を確立します。CEN の詳細については、「CEN を使用してリージョン内ネットワーク通信を有効にする」をご参照ください。
方法 3:RDS インスタンスのパブリックエンドポイントを使用して、ECS インスタンスを RDS インスタンスに接続します。この方法は、パフォーマンス、セキュリティ、および安定性が低下します。パブリックエンドポイントの申請方法の詳細については、「ApsaraDB RDS for MySQL インスタンスのパブリックエンドポイントを申請またはリリースする」をご参照ください。
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