このトピックでは、Alibaba Cloud ECS インスタンス上の MySQL データベースを例に、データソースを DataWorks に接続する方法を説明します。
ユースケース
以下の条件を満たす場合に、本ソリューションをご利用ください:
データソースが Alibaba Cloud ECS インスタンス上にデプロイされている。
ソリューション
同一アカウント、同一リージョン
データソースがデプロイされた ECS インスタンスと DataWorks ワークスペースが同一アカウント・同一リージョンにある場合、VPC(プライベートネットワーク)接続をご利用いただけます。DataWorks ワークスペースのリソースグループと ECS インスタンスを同一の VPC 内に配置することで、ネットワーク通信を有効化できます。
異なるアカウントまたはリージョン
データソースがデプロイされた ECS インスタンスと DataWorks ワークスペースが異なるアカウントにある場合、または同一アカウントでも異なるリージョンにある場合、VPC(プライベートネットワーク)接続をご利用いただけます。DataWorks リソースグループの VPC と ECS インスタンスの VPC を接続するために、CEN や VPC ピアリング接続 などのネットワーク接続ツールをご利用ください。これにより、ネットワーク通信が可能になります。
前提条件
-
DataWorks がサポートするデータソースが ECS インスタンスにデプロイされていること。
ワークスペースを作成済みであること。
リソースグループを作成し、ワークスペースにバインド済みであること。
課金
料金は、選択したネットワーク接続ツールによって異なります。詳細については、「CEN の課金」または「VPC ピアリング接続の課金」をご参照ください。
同一リージョン内の異なるアカウント間の VPC ピアリング接続は無料です。
ネットワーク接続の設定
以下の手順は、データソースと DataWorks 間のネットワーク接続を確立するための一般的なワークフローの概要です。これにより、主要なプロセスを理解できます。詳細な手順については、本トピックの設定例をご参照ください。
ステップ 1:基本情報の取得
同一アカウントおよびリージョン
データソース側
-
ECS インスタンスの VPC および vSwitch 情報:
-
ECS コンソールに移動し、上部メニューで対象の ECS インスタンスのリージョンを選択します。
-
左側のナビゲーションペインで、[インスタンスとイメージ] > Instance を選択します。 MySQL データベースがデプロイされている ECS インスタンスを見つけ、インスタンス名をクリックして Instance Details ページに移動します。
-
Configuration Information エリアで、独自のネットワーク (この例では
VPC 1) と スイッチ の情報を取得します。
-
DataWorks 側
-
関連付けられたリソースグループの VPC および vSwitch 情報:
-
DataWorks リソースグループ ページに移動します。対象のリソースグループを見つけ、Operation 列の ネットワーク設定 をクリックします。
-
該当する機能モジュールで、関連付けられた 独自のネットワーク と スイッチ の情報を確認できます。
たとえば、ECS インスタンス上の MySQL データベースと DataWorks 間でデータを同期する必要がある場合は、対応する 独自のネットワーク (この例では
VPC 2という名前) と スイッチ の情報を、[データスケジューリング & データ統合] の下で確認してください。
-
同一アカウント、異なるリージョン
データソース側
-
リージョン情報:この例では、中国 (杭州) リージョンにある ECS インスタンスを使用します。
-
ECS インスタンスの VPC および vSwitch 情報:
-
ECS コンソールに移動し、上部メニューで対象の ECS インスタンスのリージョンを選択します。
-
左側のナビゲーションペインで、インスタンスとイメージ > Instance を選択します。 MySQL データベースがデプロイされている ECS インスタンスを見つけ、インスタンス名をクリックしてInstance Details ページに移動します。
-
Configuration Information セクションで、独自のネットワーク と スイッチ の情報を取得します。
-
DataWorks 側
-
リージョン情報:この例では、中国 (上海) リージョンにある DataWorks ワークスペースとリソースグループを使用します。
-
関連付けられたリソースグループの VPC および vSwitch 情報:
-
DataWorks リソースグループ ページに移動します。 目的のリソースグループを見つけ、Operation 列の ネットワーク設定 をクリックします。
-
該当の機能モジュールで、関連付けられた 独自のネットワーク と スイッチ の情報を確認できます。
たとえば、データ同期のために ECS インスタンス上の MySQL データベースを DataWorks に接続する必要がある場合は、[データスケジューリング & データ統合] で、対応する 独自のネットワーク と スイッチ の情報を確認してください。
-
異なるアカウント
データソース側
-
アカウント情報:この例では、アカウント A を使用します。
-
リージョン情報:この例では、中国 (杭州) リージョンにある ECS インスタンスを使用します。
-
ECS インスタンスの VPC および vSwitch 情報:
-
ECS コンソールに移動し、上部メニューで対象の ECS インスタンスのリージョンを選択します。
-
左側のナビゲーションペインで、[インスタンスとイメージ] > Instance を選択します。 MySQL データベースがデプロイされている ECS インスタンスを見つけ、インスタンス名をクリックして Instance Details ページに移動します。
-
Configuration Information セクションで、独自のネットワーク と スイッチ の情報を取得します。
-
DataWorks 側
-
アカウント情報:この例では、アカウント B を使用します。
-
リージョン情報:この例では、中国 (上海) リージョンにある DataWorks ワークスペースとリソースグループを使用します。
-
関連付けられたリソースグループの VPC、vSwitch、および vSwitch の CIDR ブロック情報:
-
DataWorks リソースグループページに移動します。対象のリソースグループを見つけ、Operation列のネットワーク設定をクリックします。
-
関連する機能モジュールで、関連付けられている 独自のネットワーク と スイッチ の情報を確認します。
たとえば、データ同期のために ECS インスタンス上の MySQL データベースを DataWorks に接続する必要がある場合は、Data Scheduling & Data Integration で、対応する独自のネットワーク と スイッチ の情報を確認してください。
この情報は、リソースグループ詳細ページの [ネットワーク設定] > [VPC バインディング] タブで確認できます。VPC と vSwitch に加えて、テーブルには [vSwitch CIDR ブロック] と [セキュリティグループ] フィールドも含まれています。
-
ステップ 2:ネットワーク接続の確立
同一アカウントおよびリージョン
-
VPC 1がVPC 2と同じ場合、ECS インスタンスと DataWorks リソースグループは同じ VPC にデプロイされ、ネットワークはデフォルトで接続されています。 -
VPC 1がVPC 2と異なる場合は、DataWorks リソースグループのネットワーク設定ページに移動し、バインディングの追加 をクリックしてVPC 1をリソースグループにバインドします。 これにより、DataWorks リソースグループと ECS インスタンスが同じ VPC にデプロイされるようになります。
同一アカウント、異なるリージョン
-
Cloud Enterprise Network (CEN):複数の VPC にわたる接続を必要とする複雑なエンタープライズネットワークに適しています。設定の詳細については、「リージョンをまたいで VPC を接続」をご参照ください。
-
VPC ピアリング接続:2 つの VPC 間のポイントツーポイント接続に適しています。設定の詳細については、「VPC ピアリング接続を使用して VPC 間のプライベート接続を実現する」をご参照ください。
設定中に問題が発生した場合は、チケットを送信して、関連するクラウドサービスのテクニカルサポートにお問い合わせください。
異なるアカウント
-
Cloud Enterprise Network (CEN):複数の VPC にわたる接続を必要とする複雑なエンタープライズネットワークに適しています。設定の詳細については、「アカウントをまたいで VPC を接続」をご参照ください。
-
VPC ピアリング接続:2 つの VPC 間のポイントツーポイント接続に適しています。設定の詳細については、「VPC ピアリング接続を使用して VPC 間のプライベート接続を実現する」をご参照ください。
設定中に問題が発生した場合は、チケットを送信して、関連するクラウドサービスのテクニカルサポートにお問い合わせください。
ステップ 3:リソースグループへのルートの追加
アカウントをまたぐシナリオまたは同一アカウントでリージョンをまたぐシナリオでは、DataWorks リソースグループに ECS インスタンスの vSwitch の CIDR ブロックへのルートを追加する必要もあります。
-
DataWorks リソースグループ ページに移動します。対象のリソースグループを見つけ、Operation 列の ネットワーク設定 をクリックします。
-
該当する機能モジュールで、バインドされた VPC を探し、Operation 列の カスタムルート をクリックします。
-
新しいルート をクリックし、CIDR ブロック に CIDR ブロック を選択し、宛先 CIDR ブロック を ECS インスタンスの vSwitch の CIDR ブロックに設定します。
ステップ 4: (オプション) データベースへのリモートアクセスの有効化
一部のデータベースでは、特定のユーザーが外部ソースから IP アドレスとポートを介して接続できるように、設定ファイルでリモートアクセスを有効にする必要があります。設定方法はデータベースによって異なります。お使いのデータベースの公式ドキュメントをご参照ください。
例については、「4. MySQL のリモートアクセスを有効にする」をご参照ください。
ステップ 5:ECS セキュリティグループの設定
ECS はファイアウォール保護のためにセキュリティグループを使用します。ECS インスタンスのセキュリティグループにルールを追加して、DataWorks リソースグループからのデータベースポート経由でのアクセスを許可する必要があります。
-
ECS コンソールに移動し、上部メニューで対象の ECS インスタンスのリージョンを選択します。
-
左側のナビゲーションペインで、[インスタンスとイメージ] > Instance を選択します。 MySQL データベースがデプロイされている ECS インスタンスを見つけ、インスタンス名をクリックして Instance Details ページに移動します。
-
セキュリティグループ タブに切り替え、セキュリティグループ名をクリックして[セキュリティグループの詳細] ページに移動します。
-
[アクセスルール] セクションで [ルールを追加] をクリックし、次の主要なパラメーターを設定します。他のパラメーターはデフォルト値のままにします。
-
ソース: DataWorks リソースグループにバインドされている vSwitch の CIDR ブロックを入力します。
-
ポート: ECS インスタンス上のデータベースのポートを入力します。たとえば、MySQL の場合はポート
3306を開く必要があります。
-
ネットワーク接続の確認
-
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、[Data Integration] をクリックします。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[Data Integrationに移動] をクリックします。
-
左側のナビゲーションペインで Data Sources をクリックします。[データソース] ページで、[データソースの追加] をクリックし、データソースを選択して、接続パラメーターを設定します。
-
下部のリソースグループリストで、データソースに接続されているリソースグループを選択し、テスト接続 をクリックします。データソースの [接続設定] セクションでリソースグループを選択し、[接続テスト] をクリックして、接続ステータスが [接続済み] と表示されることを確認します。
説明接続テストの結果が [失敗] の場合は、接続診断ツール を使用して問題を特定します。問題が解決しない場合は、チケットを送信して、サポートを依頼してください。
設定例
この例では、ECS インスタンス (アカウント A、中国 (杭州)) 上の MySQL データベースを DataWorks ワークスペース (アカウント B、中国 (上海)) に接続する方法を説明します。
1. 基本情報
|
パラメーター |
データソース (MySQL を搭載した ECS インスタンス) |
DataWorks リソースグループ |
|
アカウント |
アカウント A |
アカウント B |
|
リージョン |
中国 (杭州) |
中国 (上海) |
|
VPC |
ECS インスタンスは、2 コア (vCPU) と 2 GiB で設定され、 |
リソースグループ詳細の [ネットワーク設定] ページで、[VPC バインディング] を選択します。[データスケジューリングとデータ統合] セクションで、[バインディングの追加] をクリックして、対応する VPC、vSwitch、およびセキュリティグループをバインドします。バインドが完了すると、リストに表示される VPC ID は |
2. ネットワーク接続の確立
この例では、VPC ピアリング接続を使用して、ECS インスタンスと DataWorks の間のネットワーク接続を確立します。
設定中に問題が発生した場合は、チケットを送信して、関連するクラウドサービスのテクニカルサポートにお問い合わせください。
-
アカウント A にログオンし、VPC ピアリング接続コンソールに移動します。上部のナビゲーションバーで、中国 (杭州) リージョンを選択し、次に [ピアリング接続の作成] をクリックしてパラメーターを設定します。
次の表に、この例の主要なパラメーターを示します。他のパラメーターはデフォルト値のままにします。
パラメーター
設定と例
ピアリング接続名
任意の名前を入力します。この例では、
Account_A to Account_Bに設定します。リクエスタ VPC
この例では、アカウント A の ECS インスタンスを含む VPC は
Account_A_hangzhou_VPCです。アクセプタアカウントタイプ
この例では、
クロスアカウントを選択します。アクセプタ Alibaba Cloud アカウント UID
アカウント B のメインアカウントの UID を入力します。
アクセプタリージョンタイプ
この例では、
クロスリージョンを選択します。アクセプタリージョン
アカウント B の DataWorks ワークスペースとリソースグループのリージョンとして、
中国 (上海)を選択します。アクセプタ VPC
アカウント B の DataWorks リソースグループを含む VPC (
Account_B_shanghai_VPC) の VPC ID を手動で入力します。 -
Determine をクリックしてピアリング接続設定を完了すると、ピアリング接続の基本情報ページに自動的にリダイレクトされます。 この時点で、ピアリング接続の Status は [承諾中] になります。
-
アカウント B にログオンし、VPC ピアリング接続コンソールに移動します。 トップナビゲーションバーで、中国 (上海) リージョンを選択します。 ピアリング接続リクエストを見つけ、Operation 列の Receiver をクリックします。 リクエストを承諾すると、ピアリング接続の Status が 有効化済み に変わります。
-
宛先 VPC インスタンス の下にある [ルートエントリの設定] をクリックします。 [ルートエントリの設定] ダイアログボックスで、Name を指定し、[宛先 CIDR ブロック] をソース (ECS) の VPC CIDR ブロックに設定します。 この例では、値は
192.168.0.0/16です。 -
アカウント A にログオンし、[VPC ピアリング接続コンソール] に移動します。上部のナビゲーションバーで、中国 (杭州) リージョンを選択し、作成したピアリング接続を見つけます。
-
[ソース VPC インスタンス] の下にある [ルートエントリの設定] をクリックします。[ルートエントリの設定] ダイアログボックスで、カスタムの Name を入力し、[宛先 CIDR ブロック] を宛先 (DataWorks リソースグループ) の VPC CIDR ブロックに設定します。この例では、値は
172.16.0.0/12に設定されています。
3. リソースグループへのルートの追加
-
アカウント B にログオンし、DataWorks リソースグループページに移動します。 目的のリソースグループを探し、Operation 列の ネットワーク設定 をクリックします。
-
該当する機能モジュールで、紐付けられた VPC を見つけ、カスタムルート (Operation 列内) をクリックします。
-
新しいルート をクリックし、接続方法を 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.cnf -
vim /etc/my.cnfコマンドを実行して設定ファイルを編集します(my.cnfのパスを前の手順の実際のパスに置き換えます)。 -
設定ファイルの末尾で、
iキーを押して、[mysqld]の下に以下の設定を追加します:bind-address=0.0.0.0 -
Escキーを押し、:wq!と入力して保存して終了します。 -
systemctl restart mysqldコマンドを実行してサービスを再起動します。 -
DataWorks のリモート接続用のデータベースユーザーを作成します。
-
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_private_IP_address> -p
-
5. ECS セキュリティグループの設定
-
アカウント A にログオンし、ECS コンソールに移動します。トップナビゲーションバーで、中国 (杭州) リージョンを選択します。
-
左側のナビゲーションペインで、インスタンスとイメージ > Instance を選択します。 MySQL データベースがデプロイされている ECS インスタンスを見つけ、インスタンス名をクリックして Instance Details ページに移動します。
-
セキュリティグループ タブに切り替え、セキュリティグループ名をクリックして[セキュリティグループの詳細] ページに移動します。
-
[アクセスルール] セクションで、[ルールを追加] をクリックして、次の主要なパラメーターを設定します。他のパラメーターはデフォルト値のままにします。
-
ソース: DataWorks リソースグループの vSwitch CIDR ブロック (例:
172.16.66.0/24) を入力します。 -
ポート: ECS インスタンスにデプロイされているデータベースのポート (この場合は
3306) を選択します。
-
6. 接続テスト
-
アカウント B にログインします。
-
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、[Data Integration] をクリックします。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[Data Integrationに移動] をクリックします。
-
左側のナビゲーションペインで、Data Sources をクリックして データソース一覧 ページに移動し、次に Add Connection をクリックします。
-
MySQL データソースタイプを選択して、その接続パラメーターを設定します。
-
設定モード には、User-created Data Store with Public IP Addresses を選択します。
-
[ホストアドレス] に、ECS インスタンスのプライベート IP アドレス (この例では
192.168.6.172) を入力します。 -
Port Number を
3306に設定します。 -
Database Name には、既存のデータベースの名前を入力します。
-
ユーザー名 と パスワード に、4. MySQL データベースのリモートアクセスを有効にする の手順で作成した
dataworks_userユーザーのユーザー名とパスワードを設定します。
-
-
接続設定 セクションで、リソースグループを選択し、[接続テスト] をクリックします。 接続ステータスが 接続可能 であることを確認します。
データソースの [接続設定] セクションで、リソースグループを選択し、[接続テスト] をクリックして、接続ステータスが [接続済み] であることを確認します。
説明接続テストが失敗した場合、接続診断ツール を使用して問題をトラブルシューティングできます。問題が解決せず、リソースグループがまだデータソースに接続できない場合は、チケットを送信してください。
関連ドキュメント
ネットワーク接続に関するよくある質問については、「リソースグループの操作とネットワーク接続」をご参照ください。

