このトピックでは、DataWorks で接続を作成する際に、接続性、パラメーター、および権限に関連する問題のトラブルシューティング方法について説明します。
接続性に関する問題
- ApsaraDB RDS データストアを使用する場合は、ApsaraDB RDS データストアのホワイトリストを設定することをお勧めします。 詳細については、「IP アドレスホワイトリストの設定」をご参照ください。
- Elastic Compute Service(ECS)インスタンス上のセルフマネージドデータストアを使用する場合は、ECS インスタンスのセキュリティグループを設定することをお勧めします。 詳細については、「付録:セルフマネージドデータベースがホストされている ECS インスタンスのセキュリティグループの設定」をご参照ください。
- 問題の説明:ネットワークタイプがクラシックネットワークである MySQL データストアへの接続を作成すると、接続テストが失敗します。 次のエラーメッセージが返されます:
Connection failed, data store connectivity test failed, database connection failed, database connection string: ...error message: Communications link failure. The last packet sent successfully to the server was 0 milliseconds ago. The dirver has not received any packets from the server。解決策:このエラーは、通常、ネットワーク接続の問題が原因で発生します。 ネットワークがアクセス可能かどうか、ファイアウォールが指定された IP アドレスまたはポートに制限を設けているかどうか、およびセキュリティグループが指定された IP アドレスまたはポートのトラフィックを許可するように設定されているかどうかを確認することをお勧めします。
- 問題の説明:ApsaraDB for MongoDB データストアへの接続を作成すると、接続テストが失敗します。 次のエラーメッセージが返されます:
error message: Timed out after 5000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=UNKNOWN, servers=[..] error with code: PROJECT_DATASOURCE_CONN_ERROR解決策:まず、DataWorks ワークスペースが存在するリージョンを確認します。 次に、ApsaraDB for MongoDB データストアのネットワークタイプを確認します。 ネットワークタイプが仮想プライベートクラウド(VPC)の場合、ApsaraDB for MongoDB データストアは VPC での接続テストをサポートしていません。 この問題を解決するには、方法 1 を使用します。
VPC 内の ApsaraDB for MongoDB データストアとの間でデータを同期するには、次のいずれかの方法を使用できます。- 方法 1:インターネット経由でデータを同期する。
- ApsaraDB for MongoDB データストアへの接続を作成し、接続タイプを [接続文字列モード] に設定します。
- VPC 内の ApsaraDB for MongoDB データストアがインターネットにアクセスできるようにします。
- ApsaraDB for MongoDB データストアのホワイトリストに関連する IP アドレスを追加します。 詳細については、「IP アドレスホワイトリストの設定」をご参照ください。
- MongoDB 接続の接続性をテストします。
- 方法 2:カスタムリソースグループを設定し、内部ネットワーク経由でデータを同期する。
- ApsaraDB for MongoDB データストアと同じリージョンおよび VPC 内にある ECS インスタンスにカスタムリソースグループを作成します。 詳細については、「データ統合のカスタムリソースグループの作成と使用」をご参照ください。
- ECS インスタンスの IP アドレスを ApsaraDB for MongoDB データストアのホワイトリストまたはセキュリティグループに追加します。
- MongoDB 接続を作成するときに、接続性をテストせずに接続設定を保存します。 ApsaraDB for MongoDB データストアは、VPC での接続テストをサポートしていません。
- カスタムリソースグループを使用して、ApsaraDB for MongoDB データストアとの間でデータを同期するための同期ノードを実行し、同期ノードをテストします。
説明 関連する IP アドレスが対応するデータストアのホワイトリストに追加されていることを確認してください。 - 方法 1:インターネット経由でデータを同期する。
- 問題の説明:セルフマネージド MongoDB データストアへの接続を作成すると、接続テストが失敗します。解決策:
- ユーザー作成の MongoDB データストアへの接続を作成し、接続タイプを [接続文字列モード] に設定します。
- セルフマネージド MongoDB データストアが VPC 内の ECS インスタンスにデプロイされている場合は、MongoDB データストアがインターネットにアクセスできるようにします。
- ネットワークと指定されたポート間の接続性を確認します。 ECS インスタンスのファイアウォールとセキュリティグループの設定を確認します。
- セルフマネージド MongoDB データストアのアクセス制御、権限、およびリモートログオンを確認します。
host:port形式のエンドポイント、データベース名、およびユーザー名がセルフマネージド MongoDB データストアに対して正しいことを確認します。説明MongoDB 接続を作成するときは、同期するテーブルが存在するデータベース用に作成されたユーザー名を使用する必要があります。 ユーザー名として root を使用しないでください。
たとえば、test データベースから name テーブルをインポートするには、データベース名として test を入力します。
root ではなく、指定されたデータベース用に作成されたユーザー名を入力します。 たとえば、test データベース用に作成されたユーザー名を使用します。
- 問題の説明:VPC 内の Redis データストアへの接続を作成すると、接続テストが失敗します。 次の図に示すように、エラーメッセージが返されます。

解決策:パブリック IP アドレスが使用できない場合は、Redis データストアが DataWorks ワークスペースと同じリージョンにあることを確認してください。 Redis 接続の接続性をサポートするためにスケジューリングリソースを追加できます。
- 問題の説明:MongoDB 接続を作成し、MongoDB データストアのホワイトリストが設定されています。 しかし、接続テストは引き続き失敗し、次のエラーメッセージが返されます:
error message: Timed out after 5000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}解決策:VPC 内の MongoDB データストアは、内部ネットワーク上の DataWorks のデフォルトリソースグループに接続できません。 そのため、デフォルトリソースグループを使用して MongoDB 接続の同期ノードを実行することはできません。 MongoDB データストアがインターネットにアクセスできるようにするか、カスタムリソースグループを作成して MongoDB 接続の接続性をサポートできます。
- 問題の説明:Docker コンテナ内の MySQL データストアへの接続を作成すると、接続テストが失敗します。
解決策:Docker コンテナ内の MySQL データストアは、サーバーのパブリック IP アドレスで構成される Java Database Connectivity(JDBC)URL を使用して接続することはできません。 その結果、接続テストが失敗します。 MySQL データストアのポートを Docker コンテナのホストにマップし、マップされたポートのリンクを使用して MySQL データストアに接続する必要があります。
- 問題の説明:Redis 接続を作成すると、接続テストが失敗します。 次のエラーメッセージが返されます:
error message: java.net.SocketTimeoutException: connect timed out解決策:DataWorks は、内部ネットワークを使用して Redis データストアへの接続を作成することをサポートしていません。 Redis データストアがインターネットにアクセスできるようにすることをお勧めします。 Redis 接続を作成するときは、接続タイプを [接続文字列モード] に設定して、インターネットを使用して Redis データストアに接続します。
- 問題の説明:ApsaraDB RDS データストアへの接続を作成すると、接続テストが失敗します。解決策:
- RDS 接続の接続テストが失敗した場合は、データ同期に関与するサーバーの IP アドレスを ApsaraDB RDS データストアのホワイトリストに追加する必要があります。 詳細については、「IP アドレスホワイトリストの設定」をご参照ください。説明 カスタムリソースグループを使用して、ApsaraDB RDS データストアとの間でデータを同期する同期ノードを実行する場合は、カスタムリソースグループが設定されている ECS インスタンスの IP アドレスを ApsaraDB RDS データストアのホワイトリストに追加する必要があります。
- RDS 接続を作成するときは、ApsaraDB RDS インスタンスの ID、ApsaraDB RDS インスタンスの購入に使用した Alibaba Cloud アカウントの ID、ユーザー名、パスワード、およびデータベース名が正しいことを確認してください。
- RDS 接続の接続テストが失敗した場合は、データ同期に関与するサーバーの IP アドレスを ApsaraDB RDS データストアのホワイトリストに追加する必要があります。 詳細については、「IP アドレスホワイトリストの設定」をご参照ください。
- 問題の説明:ECS インスタンス上のユーザー作成の MySQL データストアへの接続を作成すると、接続テストが失敗します。解決策:
- ネットワークと指定されたポート間の接続性を確認します。 ECS インスタンスのファイアウォールとセキュリティグループの設定を確認します。
- セルフマネージド MySQL データストアのアクセス制御、権限、およびリモートログオンを確認します。
- 指定された JDBC URL のユーザー名、パスワード、IP アドレス、およびポート番号が、ユーザー作成の MySQL データストアに対して正しいことを確認します。
- ECS インスタンスが VPC 内にある場合、MySQL 接続の同期ノードは、コードレスユーザーインターフェース(UI)でのみ設定できます。 MySQL 接続の接続テストも失敗します。 この場合、カスタムリソースグループを作成して、これらの同期ノードを実行できます。
パラメーター
- 問題の説明:MySQL 接続を作成すると、接続テストが失敗します。 次のエラーメッセージが返されます:
Connection failed, data store connectivity test failed, database connection failed...error message: No suitable direver found for...解決策:このエラーは、JDBC URL の形式が無効であることが原因である可能性があります。 JDBC URL を入力するときは、URL にスペースまたは特殊文字を追加しないでください。 正しい形式は
jdbc:mysql://ServerIP:Port/Databaseです。 - 問題の説明:MongoDB 接続を作成するときに、データベースへの接続にユーザー名として root が使用されます。 エラーメッセージが返されます。
解決策:MongoDB 接続を作成するときは、同期するテーブルが存在するデータベース用に作成されたユーザー名を使用する必要があります。 ユーザー名として root を使用しないでください。 たとえば、test データベースから name テーブルをインポートするには、データベース名として test を入力します。 root ではなく、指定されたデータベース用に作成されたユーザー名を入力します。 たとえば、test データベース用に作成されたユーザー名を使用します。
- 問題の説明:RDS 接続を作成すると、データベースに接続できません。 エラーメッセージが返されます。
解決策:RDS 接続に入力したアカウント ID を確認します。 ApsaraDB RDS インスタンスの購入に使用した Alibaba Cloud アカウントの ID を入力する必要があります。 RAM ユーザーのアカウント ID を入力しないでください。
- 問題の説明:デフォルトの MaxCompute 接続を作成すると、接続テストが失敗します。
解決策:odps_first という名前のデフォルト MaxCompute 接続は、システムによって作成されます。 再度作成する必要はありません。
- 問題の説明:DataWorks で AnalyticDB for PostgreSQL 接続を作成したい。
解決策:PostgreSQL を選択して AnalyticDB for PostgreSQL 接続を作成できます。
- 問題の説明:Distributed Relational Database Service(DRDS)インスタンスにはパブリックエンドポイントがありません。 DRDS インスタンスの内部エンドポイントをカスタムドメイン名にマップし、DRDS 接続を作成したい。
解決策:ドメイン名マッピング方法はサポートされていません。 この方法を使用して DRDS 接続を作成することはできません。
- 問題の説明:ホワイトリストが設定されている ApsaraDB RDS データストアへの接続を作成すると、
user not exist ip white list referenceというエラーメッセージが引き続き返されます。解決策:このエラーは、入力したユーザー名が無効であるために発生します。 RDS 接続に入力したユーザー名を確認してください。
権限
- 問題の説明:AnalyticDB for MySQL 接続を作成すると、接続テストが失敗します。 次のエラーメッセージが返されます:
Database connection failed, database connection string: ${jdbcUrl}, username: XXXXXX, error message: You don't have privilege for connecting database 'dw', userId=RAM$XXX, schemaId=XX解決策:AnalyticDB for MySQL 接続に AccessKey ID と AccessKey シークレットが入力されている RAM ユーザーに、AnalyticDB for MySQL データストアにアクセスする権限があるかどうかを確認します。
AnalyticDB for MySQL データストアにアクセスできる RAM ユーザーは、Alibaba Cloud アカウントに基づいて認証されます。 Alibaba Cloud アカウントの RAM ユーザーに AnalyticDB for MySQL データストアへのアクセスを許可できます。
- 問題の説明:RAM ユーザーが DataWorks コンソールにログオンした後、RAM ユーザーには接続を表示または作成する権限がありません。 エラーメッセージが返されます。
解決策:ワークスペース管理者権限を持つ RAM ユーザーのみが、接続を作成、削除、または変更できます。