データソースとは、データベースやストレージサービスなどの外部データシステムへの接続情報を格納する DataWorks プラットフォーム上のオブジェクトです。データソースを作成すると、DataWorks でそれを参照してデータの読み書きができます。DataWorks は、主流のデータベース、ビッグデータストレージ、メッセージキューなど、多くのデータソースタイプをサポートしています。データセキュリティを確保するため、標準モードのワークスペースはデータソースの環境分離をサポートしています。開発環境と本番環境に別々のデータソースを設定できます。開発データソースはノードの開発とテストにのみ使用され、本番データソースは公開されたノードのスケジュール実行にのみ使用されます。この厳格な分離により、テスト操作が本番データに影響を与えるのを防ぎます。
特徴
データソースの利用
DataWorks のデータソースは、ワークスペースの セクションで管理・保守されます。データソースを作成し、その接続をテストした後、さまざまな DataWorks モジュールで利用できます。以下の表は、データソースのユースケースの例です。
機能モジュール | シナリオ | サポートされるデータソースタイプ |
Data Integration | データ同期タスクを実行します。MySQL から MaxCompute へのデータ移行など、異なるデータソース間のデータ移行をサポートします。単一テーブル、データベース全体、オフライン、リアルタイムなど、さまざまな方法をサポートします。 | |
データ開発 | ノードの開発、テスト、スケジュール実行をサポートします。ワークスペースが標準モードの場合、タスク実行時に環境に応じて開発または本番データソースの設定が自動的に使用されます。 | |
データマップ | データソースのメタデータを収集します。テーブルスキーマやデータリネージを表示できます。 | |
データ分析 | データベースに接続して、データの処理、分析、変換、可視化を行います。 | |
DataService Studio | データソースのテーブルスキーマに基づいて API サービスを生成し、データクエリインターフェイスを提供します。 |
データソースの環境分離
データセキュリティを確保するため、標準モードのワークスペースはデータソースの環境分離機能をサポートしています。開発環境と本番環境に別々のデータソースを設定できます。開発データソースはノードの開発とテストにのみ使用され、本番データソースは公開されたノードのスケジュール実行にのみ使用されます。この厳格な分離により、テスト操作が本番データに影響を与えるのを防ぎます。詳細については、「データソース環境」をご参照ください。
データソースのタイプ
DataWorks は、特徴と目的が異なる 2 種類のデータソースをサポートしています。以下の表は、それらの主な違いを比較したものです。
比較項目 | 通常タイプ | メタデータタイプ |
主な目的 | 物理データにアクセスするための接続情報を格納します。データの読み書きや処理の基盤となります。 | データレイクのメタデータセンターへの接続情報を格納します。メタデータの取得とガバナンスにのみ使用されます。 |
処理対象 | 物理データ。 | データベース、テーブル、フィールドの構造など、データに関する記述情報 (メタデータ)。 |
タスク実行に使用できます | はい。同期タスクのソースと宛先は、このタイプのデータソースを参照する必要があります。 | いいえ。タスクの入力または出力として使用することはできません。 |
代表例 | MySQL、MaxCompute、Hologres、Data Lake Formation (DLF)、Object Storage Service (OSS)。 | Paimon カタログ。 |
要約すると、データの読み書きや処理には通常タイプのデータソースを使用し、Paimon などのデータレイクのテーブル構造を DataWorks にインポートしてガバナンスや表示を行うにはメタデータタイプのデータソースを使用します。
前提条件
データソースを設定する前に、以下の前提条件を満たしていることを確認してください。
権限:ワークスペース管理者、対象ワークスペースの O&M ロール、または
AliyunDataWorksFullAccessもしくはAdministratorAccessポリシーを持つ RAM ユーザーである必要があります。権限付与の詳細については、「ワークスペースレベルのモジュール権限管理」および「RAM ユーザーへの権限付与」をご参照ください。接続情報:インスタンスまたは接続アドレス (エンドポイントまたは JDBC URL)、ポート、データベース名、ユーザー名、パスワードなど、データソースに必要な情報を準備します。
ネットワーク接続:DataWorks のリソースグループのネットワークがデータソースにアクセスできることを確認してください。データソースがパブリックネットワーク経由でアクセスされ、Serverless リソースグループを使用する場合、リソースグループにアタッチされている VPC にNAT Gatewayと EIP を設定する必要があります。そうしないと、接続に失敗します。
注意事項
制限事項:リージョン間、アカウント間、または AccessKey ID と AccessKey Secret を使用して作成されたデータソースは、データ同期にのみ使用でき、データ開発やタスクスケジューリングには使用できません。
作成方法の違い:標準モードでは、管理センターで作成されたデータソースには、開発環境と本番環境の両方の情報が含まれます。Data Integration で作成されたデータソースには、本番環境の情報のみが含まれます。すべてのデータソースは管理センターで作成・保守することを推奨します。
作成方法:自動と手動
作成方法 | 説明 | シナリオ |
自動作成 | コンピュートエンジン (MaxCompute や Hologres など) をワークスペースにアタッチすると、対応するデータソースが自動的に作成・管理されます。このデータソースのライフサイクルはコンピュートエンジンに連動し、その権限はコンピュートエンジンから継承されます。 | 推奨:データソースをデータ開発に使用する場合、この方法を必ず使用してください。そうしないと、タスクを実行できません。 |
手動作成 | データソースの接続情報、認証情報、その他のパラメーターを手動で入力します。データソースのライフサイクルと権限割り当てを制御できます。 | すべてのデータソースタイプに適用されます。特に、データ統合や DataService Studio などのシナリオ、または詳細なアクセス制御が必要な場合に適しています。 |
機能へのアクセス
SettingCenter ページに移動します。
DataWorks コンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、 を選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[管理センターへ] をクリックします。
左側のナビゲーションウィンドウで、[データソース] をクリックして [データソースリスト] ページに移動します。
ページの左上隅にある [データソースの追加] をクリックします。
データソースの作成
ステップ 1:接続モードの選択
DataWorks は、データソースの接続情報を設定するために [インスタンスモード] と [接続文字列モード] をサポートしています。
シナリオ 1:インスタンスモード (現在の Alibaba Cloud アカウント)
データソースが RDS や PolarDB などの Alibaba Cloud 製品で、インスタンスが現在の Alibaba Cloud アカウントに属している場合、[インスタンスモード] を選択できます。[リージョン] と [インスタンス] を指定するだけで、システムが最新のデータソース情報を自動的に取得します。アドレスやポートを設定する必要はありません。
適切なインスタンスがなく、新しいインスタンスを購入する必要がある場合は、インスタンスに DataWorks リソースグループが使用するものと同じ Virtual Private Cloud (VPC) を指定することを推奨します。これにより、ネットワーク設定の手間が省けます。
データソースインスタンスが既に存在し、その VPC が DataWorks リソースグループが使用する VPC と異なる場合、データソースが使用できるようにネットワーク接続を設定する必要があります。
シナリオ 2:インスタンスモード (他の Alibaba Cloud アカウント)
データソースを追加してインスタンスモードを選択する際に、[他の Alibaba Cloud アカウント] のインスタンスにアクセスするには、クロスアカウントデータソースを作成します。これを行うには、[他の Alibaba Cloud アカウント ID] と [RAM ロール名] を設定します。
クロスアカウントデータソースの場合、以下を確認してください。
RAM ロールが宛先データソースへのアクセス権を持っていること。クロスアカウント権限付与の詳細については、「クロスアカウント権限付与 (RDS、Hive、または Kafka)」および「クロスアカウント権限付与 (MaxCompute、Hologres)」をご参照ください。
現在のアカウントのリソースグループと他のアカウントのデータソースとの間でネットワーク接続が確立されていること。
シナリオ 3:接続文字列モード
ECS インスタンスやオンプレミスのデータセンターにデプロイされた自己管理データソース、パブリックネットワーク上のデータソース、またはプライベートネットワーク経由でアクセスできない Alibaba Cloud インスタンスの場合は、[接続文字列モード] を使用します。ネットワークアドレス (エンドポイントまたは JDBC URL)、ポート、データベース名、認証情報 (ユーザー名とパスワードまたは AccessKey) を手動で設定できます。
接続文字列モードを使用してデータソースを設定する場合、データソースの IP アドレスとポートと DataWorks リソースグループ間のネットワーク接続を確保してください。必要に応じて、パブリックネットワークアクセス、セキュリティグループ、ホワイトリストを設定します。詳細については、「ネットワーク接続ソリューションの概要」をご参照ください。
データソースの IP アドレスが頻繁に変更される、または IP アドレスで直接アクセスできない場合 (例えば、データソースがドメイン名でホストされ、外部からアクセスする必要がある場合)、データ統合専用リソースグループにホストをアタッチするか、Serverless リソースグループに内部 DNS 解決 (PrivateZone) を設定することでこの問題を解決できます。
[接続文字列モード] を使用すると、DataWorks は JDBC URL を自動的に解析します。URL にサポートされていないパラメーターが含まれている場合、システムはそれらを自動的に削除します。特別なパラメーターを保持するには、してテクニカルサポートにお問い合わせください。
ステップ 2:接続情報の入力
標準モードでは、開発環境と本番環境の接続情報を別々に設定する必要があります。2 つの環境に同じ設定または異なる設定を使用できます。
データソース名:ワークスペース内で一意である必要があります。ビジネスと環境を明確に識別できる名前 (例:
rds_mysql_order_dev) を使用することを推奨します。データソースの説明:データソースの目的を簡潔に説明します。
接続情報:選択した接続モードに基づいて、データソースのインスタンスまたは URL アドレス、ポート、その他の情報を入力します。
ステップ 3:アカウントとパスワードの設定
DataWorks は、データソースの複数の認証方式をサポートしています。データソースのタイプと設定ページのパラメーターに基づいて認証情報を設定できます。認証情報がデータベースへのアクセス権を提供していることを確認してください。そうしないと、エラーが発生します。
認証方式 | シナリオ |
ユーザー名とパスワード | RDS や StarRocks など、ほとんどのデータベースタイプに適用されます。DataWorks はユーザー名とパスワードを使用してデータソースにアクセスできます。認証情報はデータソースの所有者から提供される必要があります。 |
Resource Access Management (RAM) ユーザー | 以下の方法をサポートします。MaxCompute や Hologres など、RAM ユーザー認証をサポートする Alibaba Cloud 製品に適用されます。必要に応じて権限を設定できます。
|
Kerberos 認証 | サードパーティの身分認証メカニズム。Hive、HDFS、HBase などのビッグデータコンポーネントに適用されます。Kerberos 認証を使用するには、keytab や krb5.conf などの認証ファイルをアップロードする必要があります。設定ガイドについては、「サードパーティ認証ファイルの管理」をご参照ください。 |
AccessKey | AccessKey ペアは、Alibaba Cloud が提供する永続的なアクセス認証情報です。AccessKey ID と AccessKey Secret で構成されます。OSS や Tablestore などのデータソースに適用されます。AccessKey ペアはセキュリティが低いため、安全に保管してください。RAM ロールベースの権限付与など、他のログイン方法が利用可能な場合は、そちらを使用することを推奨します。 |
データベースで SSL 認証が有効になっている場合は、データソース作成時にも有効にする必要があります。手順の詳細については、「PostgreSQL データソースへの SSL 認証の追加」をご参照ください。
ステップ 4:接続テスト
ページ下部で、ワークスペースにアタッチされているリソースグループの [接続テスト] をクリックします。このステップは、DataWorks がデータソースに正常にアクセスできることを確認するために重要です。
[接続済み] と表示された場合、設定は正しいです。
[未接続] と表示された場合、問題のトラブルシューティングに役立つ診断ツールが表示されます。一般的な原因には、不正な認証情報、IP アドレスホワイトリストの未設定などのネットワーク問題、または NAT Gateway の欠落などがあります。
標準モードでは、開発環境と本番環境の両方が [接続済み] であることを確認してください。そうしないと、後でエラーが発生します。
データソースの設定モード、リージョン、インスタンスの所有権、デプロイメント場所に基づいてネットワークを設定できます。以下の表は、一般的な設定シナリオをリストしています。
シナリオ | 手順 |
データソースが Alibaba Cloud 製品で、DataWorks ワークスペースと同じ Alibaba Cloud アカウントに属し、同じリージョンにある場合。 | |
データソースが Alibaba Cloud 製品で、DataWorks ワークスペースと同じ Alibaba Cloud アカウントに属しているが、異なるリージョンにある場合。 | |
データソースが Alibaba Cloud 製品だが、DataWorks ワークスペースとは異なる Alibaba Cloud アカウントに属している場合。 | |
データソースが Alibaba Cloud ECS インスタンスにデプロイされている場合。 | |
データソースがオンプレミスのデータセンターにデプロイされている場合。 | |
データソースにはパブリックエンドポイントがあります。 |
データソースの管理
データソース管理ページでは、[データソースタイプ] と [データソース名] でデータソースをフィルターできます。また、対象のデータソースに対して以下の管理操作を実行できます。
編集、クローン、権限
[編集]:必要に応じてデータソースの設定を変更します。データソースの名前と適用環境は変更できません。
[コンピュートエンジン管理] でコンピュートエンジンをアタッチする際に自動作成されたデータソースは直接編集できません。変更するには、[コンピュートエンジン管理] ページで編集する必要があります。
[クローン]:現在のデータソースと同じ設定を持つ新しいデータソースを迅速に作成します。
[権限管理]:
アイコンをクリックして、データソースのワークスペース間権限を管理します。他のワークスペースや他のワークスペースの特定のユーザーに、現在のデータソースを使用する権限を付与できます。[使用可能] 権限を付与すると、ユーザーはデータソースを表示および使用できますが、編集はできません。データソース権限に関するその他の質問については、「データソース権限管理」をご参照ください。
データソースの削除とその影響
データソースリストで、データソースの削除ボタンをクリックして削除します。ただし、[コンピュートエンジン管理] でコンピュートエンジンをアタッチする際に自動作成されたデータソースは直接削除できません。管理センターの左側のナビゲーションウィンドウで [コンピュートエンジン] をクリックし、削除したいコンピュートエンジンを見つけて [デタッチ] をクリックします。この操作により、データソースも削除されます。
データソースを削除すると、[Data Integration] モジュールに以下の影響があります。
前提条件:データソースを削除する前に、本番環境の同期タスクに関連付けられていないか確認してください。
ソリューション:関連するタスクがある場合は、まず [一括操作] を使用してタスクのデータソースを変更し、再度コミットして公開します。
削除シナリオ | 影響 |
開発環境と本番環境の両方を削除 | • 本番タスクは失敗し、実行できなくなります。 • 開発環境で新しいタスクを設定する際に、データソースが表示されなくなります。 |
開発環境のみ | • 本番タスクは正常に実行できます。 • ただし、タスクを編集する際に、メタデータ (テーブルスキーマなど) を取得できなくなります。 • 開発環境で新しいタスクを設定する際に、データソースが表示されなくなります。 |
本番環境のみ | • 本番タスクは失敗し、実行できなくなります。 • 開発環境でこのデータソースを使用するタスクは、本番環境にコミットおよび公開できなくなります。 |
その他のモジュールへの影響は以下の通りです。
機能モジュール | リスクレベル | 主な影響とソリューション |
オペレーションセンター | 高 | 影響:このデータソースに依存するすべてのスケジュールされたコンピューティングまたはデータ統合タスクが失敗します。 ソリューション:[一括操作] を使用してタスクのデータソースを変更し、再公開します。 |
DataService Studio API | 高 | 影響:データソースから生成された API サービスおよびこのデータソースに基づくサービスオーケストレーションへのすべての呼び出しが失敗します。 ソリューション:影響を受ける API のデータソースを変更します。 |
データ分析 | 中 | 影響:[データ分析] モジュールで、このデータソースに対するクエリタスクが失敗します。 ソリューション:SQL クエリを実行する際に、利用可能な別のデータソースに切り替えます。 |
Data Quality | 中 | 影響:設定されたData Quality 監視ルールタスクが例外を報告します。 ソリューション:オペレーションセンターに移動し、タスクを DQC ルールから関連付け解除するか、ルールを変更します。 |
データソースがワークスペースをまたいでユーザーに使用を許可されている場合、データソースが削除されると、そのデータソースを使用するワークスペース間のタスクも失敗します。
詳細情報
データソース環境
ワークスペースモード:基本 vs. 標準
本番データのさまざまなセキュリティ制御要件を満たすために、DataWorks はワークスペースに基本モードと標準モードを提供しています。詳細については、「ワークスペースモードの違い」をご参照ください。
基本モード:環境は 1 つしかありません。すべての開発操作は直接本番に影響します。このモードは、迅速な検証や個人テストに適しています。
標準モード:企業向けに推奨されます。開発環境と本番環境が組み込まれています。テストデータベースと本番データベースなど、2 つの環境に異なるデータソースを設定したり、異なるアクセス権を設定してデータ分離を実現したりできます。
データソースの環境分離
標準モードのワークスペースは、データソースの環境分離をサポートしています。同じ名前のデータソースは、開発環境用と本番環境用の 2 つの設定セットを持つことができます。テストと本番スケジューリング中にタスクが操作するデータを分離するために、2 つの異なるデータベースまたはインスタンスを設定できます。これにより、本番データのセキュリティが確保されます。例えば、データ開発やオフライン同期タスクを実行する際、システムはタスクの現在の環境に基づいて対応するデータベースに自動的にアクセスします。これにより、ノードテストやその他の操作が本番データベースのデータを汚染するのを防ぎます。
[Data Integration] モジュールでは、標準モードのワークスペースの単一テーブルオフライン同期タスクのみが、データソースの開発環境と本番環境の分離をサポートします。他のすべてのタイプの同期タスクは、本番環境のデータソースを使用します。
データソースに本番環境のみを設定し、開発環境を設定しない場合、データ開発でノードを設定する際にそのデータソースを選択できません。
ワークスペースを基本モードから標準モードにアップグレードすると、元のデータソースは本番環境と開発環境の 2 つの分離されたデータソースに分割されます。詳細については、「ワークスペースモードのアップグレード」をご参照ください。
Data Integration モジュールのデータソースとの関係
基本モード
ワークスペースが基本モードの場合、環境は 1 つしかありません。Data Integration で作成されたデータソースと管理センターで作成されたデータソースに違いはありません。
標準モード
管理センターでデータソースを作成すると、同じ名前のデータソースが Data Integration に自動的に作成されます。それらは本番環境の設定を共有します。
Data Integration でデータソースを作成すると、同じ名前のデータソースが管理センターにも自動的に作成されます。ただし、このデータソースには本番環境の情報しかなく、開発環境の情報が欠落しています。このデータソースをデータ開発で使用する前に、開発環境の情報を追加する必要があります。
データソース情報が完全であることを保証するために、常にすべてのデータソースを管理センターで作成・管理することを推奨します。
よくある質問
Q:標準モードのワークスペースで、データソースが設定されたタスクが開発環境では正常に実行されるのに、本番スケジューリング中に失敗するのはなぜですか?
A:
データソースの開発環境と本番環境の両方で接続テストが成功しているか確認してください。
開発データベースと本番データベースのデータが一致しており、ビジネス要件を満たしているか確認してください。
開発データソースと本番データソースは何に使用されますか?
開発環境と本番環境に別々のデータソースを設定できます。開発データソースはノードの開発とテストにのみ使用され、本番データソースは公開されたノードのスケジュール実行にのみ使用されます。この厳格な分離により、テスト操作が本番データに影響を与えるのを防ぎます。
Q:データソースの接続テストが失敗するのはなぜですか?
A:この問題は通常、以下の原因で発生します。1 つずつ確認してください。ネットワーク接続設定の詳細については、「ネットワーク接続設定」をご参照ください。
不正な認証情報:入力したユーザー名とパスワードが正しいか確認してください。
アクセスオブジェクト:データベースやバケットなど、接続オブジェクトの名前が正しいか、またユーザー名とパスワードが必要なアクセス権を提供しているか確認してください。
不正なアドレスまたはポート:データソースの接続アドレスとポート番号が正しいか確認してください。アドレスがホストドメイン名の場合、ドメイン名が解決できることを確認してください。詳細については、「内部 DNS 解決 (PrivateZone)」をご参照ください。
ネットワーク問題:データソースとリソースグループ間のネットワークが接続されているか確認してください。データソースにホワイトリストがある場合、リソースグループにアタッチされている vSwitch の CIDR ブロックがホワイトリストに追加されているか確認してください。Serverless リソースグループを使用してパブリックデータソースに接続する場合、NAT Gateway を設定しているか要件に従って確認してください。
Q:コンピュートリソースとデータソースの違いは何ですか?
A:
コンピュートエンジンは、データ処理および分析タスクを実行するために使用できる DataWorks のリソースインスタンスです。コンピューティング能力を持ち、通常は MaxCompute、Hologres、AnalyticDB などの基盤となるコンピュートエンジンを指します。主にデータ開発およびスケジューリングタスクに使用されます。
DataWorks のデータソースは、さまざまなデータストレージサービスに接続するために使用されます。データストレージと管理機能を持ちます。データソースの役割は、データの読み書きのためのインターフェイスを提供することです。主に同期および統合タスクに使用されます。さらに、データソースはデータベースノード、DataService Studio API、クエリ分析などの機能をサポートできます。
Q:DLF データソースと Paimon カタログデータソースの違いは何ですか?
A:DLF データソースは通常のデータソースです。データ統合やデータ分析に使用できます。また、DLF を使用してメタデータを登録する Paimon および Iceberg テーブルのメタデータ管理もサポートします。Paimon カタログデータソースは、DLF から派生していない Paimon レイクフォーマットからのメタデータ取得にのみ使用されます。このタイプのデータソースは、メタデータの検索、表示、品質監視などのガバナンス機能をサポートします。データ同期には使用できません。