オンプレミスデバイスがインターネット経由で Tair (Redis OSS-compatible) インスタンスに接続できない理由は、誤ったエンドポイントの使用、デバイスのパブリック IP アドレスを Tair インスタンスのホワイトリストに追加していない、誤った認証情報を使用しているなど、さまざまです。このトピックでは、インターネット経由でオンプレミスデバイスを Tair インスタンスに接続する際に発生する可能性のある一般的な問題とその解決策について説明します。
オンプレミスデバイスのインターネット接続問題のトラブルシューティングプロセス
ステップ 1:エラーメッセージが invalid password
、WRONGPASS
、または NOAUTH Authentication required
かどうかを確認します
エラーメッセージが connection timed out
であるか、明示的なエラーメッセージが表示されない場合は、ステップ 1 をスキップしてステップ 2 に進みます。
エラーの説明
エラーメッセージが invalid password
、WRONGPASS invalid username-password pair
、または NOAUTH Authentication required
の場合は、アカウントとパスワードが正しくありません。
解決策
<user>:<password>
形式のパスワードを使用して、接続を再確立します。たとえば、カスタムアカウントのユーザー名がtestaccount
で、パスワードがRp829dlwa
の場合は、testaccount:Rp829dlwa
をパスワードとして入力します。<user>:<password>
形式のパスワードを使用してオンプレミスデバイスをインスタンスに再接続したときに、引き続きパスワードエラーが報告される場合は、間違ったパスワードを入力した可能性があります。この場合は、パスワードをリセットし、新しいパスワードを使用して接続を再確立します。パスワードのリセット方法の詳細については、「パスワードの変更またはリセット」をご参照ください。
ステップ 2:ping コマンドを実行して、オンプレミスデバイスが Tair インスタンスに接続されているかどうかを確認します
手順
オンプレミスデバイスで ping コマンドを実行します。
Ping <host>
例:Ping r-bp1zx****.redis.rds.aliyuncs.com
結果の説明
ping 操作が成功した場合、次の図に示すように、ネットワークは接続されています。ステップ 3 に進んで、さらにトラブルシューティングを行うことができます。
0 packets received,100.0% packet loss
のようなメッセージが返された場合、ネットワークは接続されていません。使用しているエンドポイントがインスタンスのパブリックエンドポイントかどうかを確認します。
Unknown host
またはName or service not known
のようなメッセージが返された場合、アドレス解決中にエラーが発生しています。使用しているエンドポイントにスペルミスがないか確認します。
一般的な原因
仮想プライベートクラウド(VPC)エンドポイントを使用して Tair インスタンスに接続しています。
オンプレミスデバイスを Tair インスタンスに接続するには、パブリックエンドポイントを使用する必要があります。
エンドポイントにスペルミスがあります。
エンドポイントのスペルミス、またはドメイン名解決の失敗により、IP アドレスを解決できません。
解決策
の ページの 接続情報インスタンス情報ApsaraDB for Redis コンソールパブリック ネットワーク アクセス セクションで、Tair インスタンスの [パブリックアクセス] エンドポイントを表示します。パブリックエンドポイントをコピーして、ping コマンドを再実行します。
重要コンソールにパブリックエンドポイントが表示されないエンドポイントを申請する場合は、[アクション] 列の [エンドポイントの申請] をクリックします。詳細については、「インスタンスのパブリックエンドポイントを申請する」をご参照ください。
直接接続モードの クラウドネイティブ クラスタインスタンスのパブリックエンドポイントは申請できません。
インスタンスへの接続に使用されるパブリックエンドポイントが正しいにもかかわらず、インスタンスの ping が引き続き失敗する場合は、ドメイン名解決が失敗しているかどうかを確認します。詳細については、「DNS 解決の失敗による接続問題のトラブルシューティング」をご参照ください。
ステップ 3:telnet コマンドを実行して、サービスポートが使用可能かどうかを確認します
手順
オンプレミスデバイスで telnet コマンドを実行します。
telnet <host> <port>
例:telnet r-bp1zx****.redis.rds.aliyuncs.com 6379
結果の説明
Connected to ...
が返されるか、次の図に示すように telnet インターフェイスが表示された場合、接続は確立されています。
インスタンスが クラシック インスタンスの場合、telnet 操作が成功した後でも、ホワイトリストを確認する必要があります。ホワイトリストに登録されている IP アドレスのみがデータベースにアクセスできます。ホワイトリストの確認方法については、「ステップ 4:ホワイトリストを確認する」をご参照ください。
「Connection timed out」または「Connect failed」メッセージが表示された場合、接続は失敗しています。
一般的な原因と解決策
ホワイトリストが正しく構成されていないか、ホワイトリストが構成されていません。詳細については、「ステップ 4:ホワイトリストを確認する」をご参照ください。
ステップ 4:ホワイトリストを確認する
ほとんどの場合、接続エラーは、ホワイトリストが正しく構成されていないか、ホワイトリストが構成されていないために発生します。次の 2 つのシナリオでは、ホワイトリストを確認することをお勧めします。
ドメイン名は ping できますが、telnet 操作は失敗します。
redis-cli を使用してオンプレミスデバイスから Tair インスタンスのパブリックエンドポイントに接続すると、
(error) ERR illegal address
または(error) ERR client ip is not in whitelist
エラーメッセージが表示されます。
一般的な原因
ホワイトリストが正しく構成されていません。オンプレミスデバイスのパブリック IP アドレスがホワイトリストに追加されていません。
ホワイトリストが構成されていません。
解決策
オンプレミスデバイスのパブリック IP アドレスをクエリします。
Linux:ターミナルを開き、
curl ifconfig.me
コマンドを入力して、Enter キーを押します。Windows:コマンドプロンプトを開き、
curl ip.me
コマンドを入力して、Enter キーを押します。macOS:ターミナルを開き、
curl ifconfig.me
コマンドを入力して、Enter キーを押します。
取得したパブリック IP アドレスを、Tair インスタンスのホワイトリストに追加します。詳細については、「ホワイトリストを構成する」をご参照ください。