このトピックでは、Alibaba Cloud Elastic Compute Service (ECS) インスタンスにデプロイされた MySQL データベースを例として、データソースを DataWorks に接続する方法を説明します。
ユースケース
データソースが次の条件を満たす場合は、このソリューションを使用します。
データソースが Alibaba Cloud ECS インスタンスにデプロイされている。
ソリューション
同じ Alibaba Cloud アカウントと同じリージョン
データソースを持つ ECS インスタンスと DataWorks ワークスペースが 同じアカウントとリージョン にある場合、VPC 接続を使用できます。DataWorks ワークスペースのリソースグループと ECS インスタンスを同じ VPC にデプロイして、ネットワーク通信を有効にできます。
異なる Alibaba Cloud アカウント、または同じアカウントで異なるリージョン
データソースを持つ ECS インスタンスと DataWorks ワークスペースが 異なるアカウント または 同じアカウントで異なるリージョン にある場合、VPC 接続を使用できます。Cloud Enterprise Network (CEN) や VPC ピアリング接続 などのネットワーク接続ツールを使用して、DataWorks ワークスペースのリソースグループの VPC を ECS インスタンスの VPC に接続できます。これにより、ネットワーク通信が可能になります。
前提条件
DataWorks でサポートされている データソース を ECS インスタンスにデプロイ済みであること。
ワークスペースが作成されていること。
リソースグループが作成され、ワークスペースにアタッチされていること。
課金
課金方法は、使用するネットワーク接続ツールによって異なります。詳細については、「CEN の課金」または「VPC ピアリング接続の課金」をご参照ください。
VPC ピアリング接続を使用する場合、ECS インスタンスと DataWorks リソースグループが異なるアカウントに属していても、同じリージョンにある場合は、料金は発生しません。
ネットワーク接続の構成
このトピックでは、データソースと DataWorks 間のネットワーク接続を確立するための一般的な構成フローについて説明し、中心的なロジックをすばやく理解できるようにします。詳細な構成手順については、特定の 構成例 も参照用に提供されています。
ステップ 1: 基本情報の取得
同じ Alibaba Cloud アカウントと同じリージョン
データソース側
ECS インスタンスの VPC および vSwitch 情報:
ECS コンソール に移動します。上部のナビゲーションバーで、ECS インスタンスが配置されているリージョンを選択します。
左側のナビゲーションウィンドウで、 を選択します。[インスタンス] ページで、MySQL データベースがデプロイされている ECS インスタンスを見つけ、インスタンス名をクリックして [インスタンス詳細] ページに移動します。
[設定情報] セクションで、[VPC] (この例では
VPC 1) と [vSwitch] の情報を取得します。
DataWorks 側
リソースグループの VPC および vSwitch 情報:
DataWorks コンソールのリソースグループページ に移動します。ターゲットリソースグループを見つけ、[アクション] 列の [ネットワーク設定] をクリックします。
対応する機能モジュールで、アタッチされている [VPC] と [vSwitch] の情報を表示します。
たとえば、ECS インスタンスにデプロイされた MySQL データベースを DataWorks に接続してデータ同期を行う場合、[データスケジューリング & データ統合] セクションで、対応する [VPC] (
VPC 2in this example) と [vSwitch] の情報を表示します。
同じ Alibaba Cloud アカウント、異なるリージョン
データソース側
リージョン情報: この例では、中国 (杭州) リージョンの ECS インスタンスを使用します。
ECS インスタンスの VPC 情報:
ECS コンソール に移動します。上部のナビゲーションバーで、ECS インスタンスが配置されているリージョンを選択します。
左側のナビゲーションウィンドウで、 を選択します。MySQL データベースがデプロイされている ECS インスタンスを見つけ、インスタンス名をクリックして [インスタンス詳細] ページに移動します。
[設定情報] セクションで、[VPC] と [vSwitch] の情報を取得します。

DataWorks 側
リージョン情報: この例では、中国 (上海) リージョンの DataWorks ワークスペースとリソースグループを使用します。
リソースグループにバインドされている VPC と vSwitch の情報:
DataWorks リソースグループリストページ に移動します。ターゲットリソースグループを見つけ、[アクション] 列の [ネットワーク設定] をクリックします。
対応する機能モジュールで、アタッチされている [VPC] と [vSwitch] の情報を表示します。
たとえば、RDS for MySQL を DataWorks に接続してデータ同期を行う場合、[データスケジューリング & データ統合] セクションで、対応する [VPC] と [vSwitch] の情報を表示します。

異なる Alibaba Cloud アカウント
データソース側
アカウント情報: この例では アカウント A を使用します。
リージョン情報: この例では、中国 (杭州) リージョンの ECS インスタンスを使用します。
ECS インスタンスの VPC と vSwitch の情報:
ECS コンソール に移動します。上部のナビゲーションバーで、ECS インスタンスが配置されているリージョンを選択します。
左側のナビゲーションウィンドウで、 を選択します。MySQL データベースがデプロイされている ECS インスタンスを見つけ、インスタンス名をクリックして [インスタンス詳細] ページに移動します。
[設定情報] セクションで、[Virtual Private Cloud (VPC)] と [vSwitch] の情報を取得します。

DataWorks 側
アカウント情報: この例では アカウント B を使用します。
リージョン情報: この例では、中国 (上海) リージョンの DataWorks ワークスペースとリソースグループを使用します。
リソースグループの VPC と vSwitch の CIDR ブロック情報:
DataWorks コンソールのリソースグループページ に移動します。ターゲットリソースグループを見つけ、[アクション] 列の [ネットワーク設定] をクリックします。
対応する機能モジュールで、アタッチされている [VPC] と [vSwitch] の情報を表示します。
たとえば、RDS for MySQL を DataWorks に接続してデータ同期を行う場合、[データスケジューリング & データ統合] セクションで、対応する [VPC] と [vSwitch] の情報を表示します。

ステップ 2: ネットワーク接続の確立
同じ Alibaba Cloud アカウントと同じリージョン
VPC 1とVPC 2が同じ場合、ECS インスタンスと DataWorks リソースグループは同じ VPC にデプロイされ、デフォルトでそれらの間にネットワーク接続が確立されます。VPC 1とVPC 2が異なる場合は、DataWorks リソースグループのネットワーク設定ページで [バインディングの追加] をクリックして、VPC 1をリソースグループにアタッチする必要があります。これにより、DataWorks リソースグループと ECS インスタンスを同じ VPC にデプロイできます。
同じ Alibaba Cloud アカウント、異なるリージョン
Cloud Enterprise Network (CEN): CEN は、複雑なネットワーク環境で複数の VPC 間のネットワーク接続を確立するのに適しています。詳細については、「異なるリージョンの VPC を接続する」をご参照ください。
VPC ピアリング接続: VPC ピアリング接続は、2 つの VPC 間のネットワーク接続に使用されます。構成の詳細については、「VPC ピアリング接続を使用して VPC 間のプライベート接続を有効にする」をご参照ください。
ネットワーク接続の構成中に問題が発生した場合は、チケットを送信して、関連するクラウドプロダクトのテクニカルサポートにお問い合わせください。
異なる Alibaba Cloud アカウント
Cloud Enterprise Network (CEN): CEN は、複雑なエンタープライズネットワーク環境で複数の VPC 間のネットワーク接続を確立します。構成の詳細については、「クロスアカウント VPC 相互接続」をご参照ください。
VPC ピアリング接続: VPC ピアリング接続は、2 つの VPC 間のネットワーク接続を確立するために使用されます。詳細については、「VPC ピアリング接続を使用して VPC 間のプライベート接続を確立する」をご参照ください。
ネットワーク接続の構成中に問題が発生した場合は、チケットを送信して、関連するクラウドプロダクトのテクニカルサポートにお問い合わせください。
ステップ 3: DataWorks リソースグループのルートを追加する
ECS インスタンスと DataWorks リソースグループが同じアカウントで異なるリージョンにある場合、または異なるアカウントにある場合は、DataWorks リソースグループのルートを追加する必要があります。ルートは、ECS インスタンスが配置されている vSwitch の CIDR ブロックを指している必要があります。
DataWorks コンソールのリソースグループページ に移動します。ターゲットリソースグループを見つけ、[アクション] 列の [ネットワーク設定] をクリックします。
対応する機能モジュールで、アタッチされている VPC を見つけ、[アクション] 列の [カスタムルート] をクリックします。
[ルートの追加] をクリックします。[接続方法] で [CIDR ブロック] を選択します。[宛先 CIDR ブロック] を ECS インスタンスの vSwitch CIDR ブロックに設定します。
ステップ 4: (オプション) データベースのリモートアクセスを有効にする
一部のデータベースでは、指定されたユーザーが IP アドレスとポートを使用して外部ソースからデータベースにアクセスできるように、構成ファイルでリモートアクセスを有効にする必要があります。構成方法はデータベースによって異なります。詳細については、ご使用のデータベースの公式ドキュメントをご参照ください。
MySQL データベースのリモートアクセスを有効にする方法の詳細については、「4. MySQL データベースのリモートアクセスを有効にする」をご参照ください。
ステップ 5: ECS セキュリティグループを構成する
Alibaba Cloud ECS は、セキュリティグループを使用してファイアウォール機能を提供します。ECS インスタンスのセキュリティグループでデータベースポートを DataWorks リソースグループの VPC に開放する必要があります。これにより、DataWorks リソースグループは ECS インスタンスにデプロイされているサービスにアクセスできるようになります。
ECS コンソール に移動します。上部のナビゲーションバーで、ECS インスタンスが配置されているリージョンを選択します。
左側のナビゲーションウィンドウで、 を選択します。MySQL データベースがデプロイされている ECS インスタンスを見つけ、インスタンス名をクリックして [インスタンス詳細] ページに移動します。
[セキュリティグループ] タブをクリックし、セキュリティグループの名前をクリックして [セキュリティグループ詳細] ページに移動します。
[アクセスルール] セクションで、[ルールの追加] をクリックし、次の主要なパラメーターを構成します。他のパラメーターにはデフォルト値を使用できます。
ソース: DataWorks リソースグループにバインドされている vSwitch の CIDR ブロックを入力します。
ポート: ECS インスタンスにデプロイされているデータベースに対応するポートを選択します。たとえば、MySQL の場合はポート
3306を開放する必要があります。
ネットワーク接続のテスト
DataWorks コンソール にログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、 を選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[データ統合へ] をクリックします。
左側のナビゲーションウィンドウで、[データソース] をクリックします。[データソース] ページで、[データソースの追加] をクリックします。要件に基づいてデータソースを選択し、関連する接続パラメーターを構成します。
ページ下部のリソースグループのリストで、データソースに接続されているリソースグループを選択し、[接続性のテスト] をクリックします。
説明接続性テストが失敗し、結果が [失敗] となった場合は、[接続診断ツール] を使用して問題を解決できます。それでもリソースグループをデータソースに接続できない場合は、 チケットを送信 できます。
構成例
この例では、ネットワーク接続を構成する方法を示します。MySQL データベースは、アカウント A 内の中国 (杭州) リージョンの ECS インスタンスにデプロイされています。DataWorks は、アカウント B 内の中国 (上海) リージョンで有効化されています。
1. 基本情報
パラメーター | データソース (MySQL を搭載した ECS インスタンス) | DataWorks リソースグループ |
アカウント | アカウント A | アカウント B |
リージョン | 中国 (杭州) | 中国 (上海) |
VPC |
ECS インスタンスの基本情報ページ:
|
リソースグループのネットワーク設定ページ:
|
2. ネットワーク接続の確立
このセクションでは、VPC ピアリング接続 を使用して ECS インスタンスと DataWorks 間のネットワーク接続を構成する方法について説明します。
ネットワーク接続の構成中に問題が発生した場合は、チケットを送信して、関連するクラウドプロダクトのテクニカルサポートにお問い合わせください。
Alibaba Cloud アカウント A にログインします。VPC ピアリング接続コンソール に移動し、ページ上部でリージョンを [中国 (杭州)] に切り替えてから、[ピアリング接続の作成] をクリックして関連パラメーターを構成します。
次の表に、主要なパラメーターを示します。他のパラメーターにはデフォルト値を使用できます。
パラメーター
構成と例
ピアリング接続名
ピアリング接続のカスタム名。この例では、
Account_A to Account_Bを使用します。リクエスト元 VPC インスタンス
Alibaba Cloud アカウント A 内の ECS インスタンスが関連付けられている VPC。この例では、
Account_A_hangzhou_VPCを選択します。受信側アカウントタイプ
この例では、
クロスアカウントを選択します。受信側メインアカウント UID
アカウント B の UID を入力します。
受信側リージョンタイプ
この例では、
クロスリージョンを選択します。受信側リージョン
Alibaba Cloud アカウント B 内の DataWorks ワークスペースとリソースグループが存在するリージョン。この例では、
中国 (上海)を選択します。受信側 VPC
Alibaba Cloud アカウント B 内で DataWorks リソースグループが関連付けられている VPC の ID を入力します。この例では、VPC は
Account_B_shanghai_VPCです。[OK] をクリックして、ピアリング接続の構成を完了します。ピアリング接続の基本情報ページに自動的にリダイレクトされます。このページでは、[ステータス] は [ピアリング承諾中] です。
Alibaba Cloud アカウント B にログインし、VPC ピアリング接続コンソール に移動します。ページの上部で、リージョンを [中国 (上海)] に切り替えます。Alibaba Cloud アカウント A からのピアリング接続レコードを見つけ、[アクション] 列の [承諾] をクリックします。リクエストが承諾されると、ピアリング接続の [ステータス] は [有効] に変わります。
[受信側 VPC] 列の [ルートエントリの設定] をクリックします。[ルートエントリの設定] ダイアログボックスで、カスタムの [名前] を入力し、[宛先 CIDR ブロック] を ECS インスタンスを含むリクエスト元 VPC の CIDR ブロックに設定します。この例では、CIDR ブロックは
192.168.0.0/16に設定されています。
Alibaba Cloud アカウント A にログインし、VPC ピアリング接続コンソール に移動します。ページの上部で、リージョンを [中国 (杭州)] に切り替え、作成されたピアリング接続を見つけます。
[リクエスト元 VPC インスタンス] セクションで、[ルートエントリの設定] をクリックします。[ルートエントリの設定] ダイアログボックスで、カスタムの [名前] を入力し、[宛先 CIDR ブロック] を受信側 (DataWorks リソースグループ) の VPC CIDR ブロックに設定します。この例では、CIDR ブロックは
172.16.0.0/12です。
3. DataWorks リソースグループのルートを追加する
Alibaba Cloud アカウント B にログインします。DataWorks コンソールのリソースグループページ に移動し、ターゲットリソースグループを見つけて、[アクション] 列の [ネットワーク設定] をクリックします。
対応する機能モジュールで、アタッチされている VPC を見つけ、[アクション] 列の [カスタムルート] をクリックします。
[ルートの追加] をクリックします。[接続方法] で [指定された CIDR ブロック] を選択します。[宛先 CIDR ブロック] を ECS インスタンスの vSwitch CIDR ブロック (例:
192.168.6.0/24) に設定します。
4. MySQL データベースのリモートアクセスを有効にする
MySQL データベースがデプロイされている ECS インスタンスに接続して、データベースのリモートアクセスを有効にします。
以下のコマンドは、Linux 環境で実行される MySQL 8.0 データベースにのみ適用されます。他のオペレーティングシステムや MySQL バージョンに合わせてコマンドを調整する必要があります。
my.cnf構成ファイルを見つけます。デフォルトのインストールでは、ファイルは通常/etc/my.cnfにあります。find / -name my.cnfvim /etc/my.cnfコマンドを実行して構成ファイルを編集します。my.cnfへのパスを、前のステップで見つけた実際のパスに置き換えます。構成ファイルの末尾で
iを押して、[mysqld]セクションに次の構成を追加します。bind-address=0.0.0.0Escを押してから:wq!を入力して保存し、終了します。systemctl restart mysqldコマンドを実行してサービスを再起動します。DataWorks でデータソースを構成するときに、MySQL データベースにリモート接続するために使用できるユーザーを作成します。
mysql -u root -pコマンドを実行して、管理者としてデータベースにログインします。ユーザーを作成し、パスワードを設定します。
-- "dataworks_user" はユーザー名です。カスタマイズできます。 -- "%" は、ユーザーが任意の IP アドレスからアクセスできることを示します。IP アドレスを指定して、詳細な制御を行うこともできます。 -- "StrongPassword123!" はパスワードです。カスタマイズできます。 CREATE USER 'dataworks_user'@'%' IDENTIFIED BY 'StrongPassword123!';ユーザーにデータベース権限を付与します。
-- 次のいずれかのコマンドを実行します。 -- ユーザーにすべての権限を付与します。注意して使用してください。 GRANT ALL PRIVILEGES ON *.* TO 'dataworks_user'@'%' WITH GRANT OPTION; -- mydatabase などの特定のデータベースに対するすべての権限をユーザーに付します。 GRANT ALL PRIVILEGES ON mydatabase.* TO 'dataworks_user'@'%' WITH GRANT OPTION;FLUSH PRIVILEGES;コマンドを実行して権限をリフレッシュし、exitコマンドを実行してデータベースを終了します。リモート接続を確認します。
mysql -u dataworks_user -h <ECS インスタンスのプライマリプライベート IP アドレス> -p
5. ECS セキュリティグループを構成する
Alibaba Cloud アカウント A にログインします。ECS コンソール に移動し、上部のナビゲーションバーで [中国 (杭州)] を選択します。
左側のナビゲーションウィンドウで、 を選択します。MySQL データベースがデプロイされている ECS インスタンスを見つけ、インスタンス名をクリックして [インスタンス詳細] ページに移動します。
[セキュリティグループ] タブをクリックし、セキュリティグループ名をクリックして [セキュリティグループ詳細] ページに移動します。
[アクセスルール] セクションで、[ルールの追加] をクリックし、指定されていないパラメーターにはデフォルト値を使用して、次の主要なパラメーターを構成します。
ソース: DataWorks リソースグループに関連付けられている vSwitch CIDR ブロックを入力します。この例では、
172.16.66.0/24を使用します。ポート: ECS インスタンスにデプロイされているデータベースのポートを選択します。この例では、ポートは
3306です。
6. ネットワーク接続のテスト
アカウント B でログインします。
DataWorks コンソール にログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、 を選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[データ統合へ] をクリックします。
左側のナビゲーションウィンドウで、[データソース] をクリックします。[データソース] ページで、[データソースの追加] をクリックします。
MySQL データソースタイプを選択し、そのパラメーターを構成します。
構成モード: [接続文字列モード] を選択します。
ホスト IP アドレス: ECS インスタンスのプライベート IP アドレスを入力します。この例では、
192.168.6.172を使用します。ポート番号:
3306に設定します。データベース名: 既存のデータベースの名前を入力します。
ユーザー名 と パスワード: 4. MySQL データベースのリモートアクセスを有効にする ステップで作成した
dataworks_userアカウントのユーザー名とパスワードを入力します。
[接続設定] セクションで、ワークスペースにバインドされているリソースグループの [接続性のテスト] をクリックし、結果が [接続済み] であるかどうかを確認します。
説明接続性テストが [失敗] した場合は、[接続診断ツール] を使用して接続の問題を特定し、解決できます。問題が解決しない場合は、チケットを送信してください。
リファレンス
ネットワーク接続に関するよくある質問の詳細については、「リソースグループの操作とネットワーク接続」をご参照ください。




