このトピックでは、パブリックエンドポイントを持つ MySQL インスタンスを例に、DataWorks をインターネット経由でデータソースに接続する方法を説明します。
適用シナリオ
以下の条件を満たす場合に、本ソリューションをご利用ください:
データソースがパブリックエンドポイントを有している。
仕組み
デフォルトでは、サーバーレスリソースグループはパブリックネットワークにアクセスできません。パブリックネットワーク上のデータソースにアクセスするには、リソースグループにアタッチされた VPC に対して インターネット NAT ゲートウェイ および EIP を設定する必要があります。
従来型リソースグループはパブリックネットワークにアクセスでき、直接接続可能です。
説明従来型リソースグループは段階的に廃止予定です。サーバーレスリソースグループをご利用ください。
Alibaba Cloud は、各リソースグループのエグレス IP アドレスを統一的に管理および割り当てます。プロキシ IP アドレスやその他の方法を使用して、リソースグループのエグレス IP アドレスを変更またはカスタマイズすることはできません。コードでプロキシ設定を構成しても、DataWorks タスクは実行時にリソースグループに割り当てられた IP アドレスを使用します。地理的に制限されたデータソースにアクセスするには、VPN Gateway や Express Connect などのネットワーク製品を使用して、クロスボーダー接続を確立してください。
前提条件
-
DataWorks でサポートされているデータソースを持っている。
ワークスペースを作成済みであること。
リソースグループを作成し、ワークスペースにバインド済みであること。
-
データソースがパブリックエンドポイントを持っている。
データソースが Alibaba Cloud のデータベースではなく、セルフマネージドデータベースや TencentDB for MySQL、PostgreSQL などのサードパーティクラウドデータベースである場合、DataWorks ワークスペースの任意のリージョンを選択できます。中国本土内の任意のリージョンを選択でき、リージョンを一致させる厳密な要件はありません。ネットワーク遅延を最小限に抑えるため、データソースに地理的に近いリージョンを選択することを推奨します。
課金
サーバーレスリソースグループのインターネットアクセスを有効にするには、リソースグループが配置されている VPC にインターネット NAT ゲートウェイを設定し、EIP をバインドする必要があります。インターネット NAT ゲートウェイと EIP の料金については、「NAT Gatewayの料金」および「EIPの料金概要」をご参照ください。
ネットワーク接続性の設定
以下の手順では、ネットワーク接続を確立するための一般的な手順とコアロジックを説明します。詳細な設定については、本トピックで紹介している具体的な設定例をご参照ください。
ステップ1:基本情報の取得
データソース側
-
データソースが配置されているサーバーのパブリック IP アドレス
データソースをホストするサーバーのパブリック IP アドレスを取得するか、ネットワーク管理者にお問い合わせください。
DataWorks側
サーバーレスリソースグループ
リソースグループにバインドされている VPC と vSwitch の情報
-
DataWorks リソースグループリストページへ移動し、対象のリソースグループを見つけて、ネットワーク設定 列の Operation をクリックします。
-
関連する機能モジュールのセクションで、バインドされている [独自のネットワーク] と [スイッチ] を確認します。
たとえば、パブリックエンドポイントを持つ MySQL インスタンスをデータ同期のために DataWorks に接続する場合、独自のネットワーク セクションで対応する VPC と vSwitch の情報を確認します。
リソースグループの [ネットワーク設定] ページで、[VPCバインド] タブをクリックします。関連する機能モジュールのセクションで、[バインド済みVPC] 列にバインドされている VPC 情報を確認できます。
レガシー専用リソースグループ
リソースグループの EIP アドレス
-
DataWorks リソースグループリストページへ移動し、対象のリソースグループを見つけて、Details 列の Operation をクリックしてリソースグループの詳細ページへ移動します。
-
EIP アドレスを取得します。
Data Integration リソースグループの [基本情報] パネルで、[EIPアドレス] フィールドを見つけ、アドレスを記録します。パブリックネットワークを使用してデータを転送する必要がある場合は、この EIP をデータソース側の許可リストに追加してください。
ステップ2:ネットワーク接続性の確立
-
サーバーレスリソースグループ:デフォルトでは、サーバーレスリソースグループはインターネットにアクセスできません。データソースへのインターネットアクセスを有効にするには、バインドされている VPC にインターネット NAT ゲートウェイと EIP を設定する必要があります。
-
レガシー専用リソースグループ:レガシー専用リソースグループは、デフォルトでインターネットアクセスが可能であり、直接接続できます。
設定中に問題が発生した場合は、チケットを送信して、関連するクラウドサービスのテクニカルサポートにお問い合わせください。
既存の NAT ゲートウェイに、DataWorks のパブリックアクセスに必要な SNAT と競合する DNAT エントリがある場合 (たとえば、同じ EIP が DNAT と SNAT の両方に使用されているために競合が発生する場合) 、他のサービスへの依存関係により DNAT エントリを削除できない場合は、現在の NAT ゲートウェイに別の SNAT エントリを作成することでこの問題を解決できます。新しい SNAT エントリを作成する際は、「ステップ2:ネットワーク接続性の確立」で説明されているようにパラメーターを設定し、サーバーレスリソースグループを含む VPC が新しい SNAT エントリを通じて外部データソースにアクセスできるようにします。
ステップ3:(オプション) 許可リストの設定
データソースがアクセス制御に許可リストを使用している場合は、リソースグループのパブリック IP アドレスをデータソースの許可リストに追加する必要があります。
本トピックでは、MySQL を例に、データベースアクセスをリソースグループのパブリック IP アドレスに制限する IP 許可リストを設定する方法を説明します。
許可リストを設定する際は、以下の点に注意してください。
-
サーバーレスリソースグループがインターネット経由でデータソースにアクセスする場合、エグレス IP アドレスは、リソースグループが含まれる vSwitch の CIDR ブロックからの IP アドレスではなく、NAT ゲートウェイにバインドされている EIP です。この EIP をデータソース側のセキュリティグループまたはファイアウォールの許可リストに追加する必要があります。vSwitch の CIDR ブロックの設定のみでは不十分です。
-
送信元 IP アドレスの変更により許可リストが無効になった場合は、DNS 解決またはルーティングポリシーが NAT ゲートウェイの EIP に正しくマッピングされているかどうかを確認してください。一般的な原因には、VPC ルートテーブルの設定ミス、NAT ゲートウェイの SNAT エントリが有効になっていない、または複数の NAT ゲートウェイインスタンスによるエグレス IP アドレスの不確実性などがあります。
-
レガシー専用リソースグループのエグレス IP アドレスは、それにバインドされている EIP です。このアドレスをリソースグループの詳細ページから取得し、データソースの許可リストに追加してください。
-
管理者としてデータベースにログインします。
-
DataWorks がデータソースにアクセスする際に使用するアカウントを作成し、必要な権限をアカウントに付与します。
-- "dataworks_user" はユーザー名です。任意の名前に変更できます。 -- "StrongPassword123!" はパスワードです。任意のパスワードに変更できます。 CREATE USER 'dataworks_user'@'<public_IP_address_bound_to_resource_group>' IDENTIFIED BY 'StrongPassword123!'; -- リソースグループにバインドされているパブリックIPアドレスから、特定のデータベース (例: mydatabase) へのアクセス権限をユーザーに付与します。 GRANT ALL PRIVILEGES ON mydatabase.* TO 'dataworks_user'@'<public_IP_address_bound_to_resource_group>' WITH GRANT OPTION; -
FLUSH PRIVILEGES;コマンドを実行して権限を反映させ、次にexitコマンドを実行してデータベースへの接続を終了します。
ネットワーク接続性の確認
-
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、[Data Integration] をクリックします。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[Data Integrationに移動] をクリックします。
-
左側メニューで Data Sources をクリックします。[データソース] ページで、[データソースの追加] をクリックします。次に、データソースタイプを選択し、必要に応じて接続パラメーターを設定します。
-
下部のリソースグループリストで、データソースに接続されているリソースグループを選択します。[接続設定] エリアで、対象のリソースグループの テスト接続 をクリックします。緑色のチェックマークとともに「接続済み」と表示された場合、リソースグループとデータソース間のネットワーク接続は正常です。
説明接続テストで失敗が返された場合は、接続診断ツールを使用して問題のトラブルシューティングを行うことができます。問題が解決しない場合は、テクニカルサポートにチケットを起票してください。
設定例
この例では、パブリックエンドポイントを持つ MySQL インスタンスと中国 (上海) リージョンの DataWorks ワークスペースのネットワーク接続を設定する方法を説明します。
1. 基本情報
|
パラメーター |
データソース |
DataWorks リソースグループ |
|
リージョン |
- |
中国 (上海) |
|
ネットワーク情報 |
|
サーバーレスリソースグループの詳細ページで、[VPCバインド] タブをクリックします。[データスケジューリング & Data Integration] セクションで、[バインド済みVPC] ( |
2. ネットワーク接続性の確立
このソリューションは、サーバーレスリソースグループにのみ適用されます。インターネット NAT ゲートウェイを使用して、リソースグループにバインドされている VPC のインターネットアクセスを有効にします。レガシー専用リソースグループは、デフォルトでバインドされている EIP を持っているため、設定は不要です。
設定中に問題が発生した場合は、チケットを送信して、関連するクラウドサービスのテクニカルサポートにお問い合わせください。
-
DataWorks リソースグループリストページへ移動し、対象のリソースグループを見つけて、ネットワーク設定 列の Operation をクリックします。
-
関連する機能モジュールのセクションで、バインドされている VPC を見つけ、VPC の横にある
アイコンをクリックして、VPC の 基本情報 ページへ移動します。たとえば、パブリックエンドポイントを持つ MySQL インスタンスをデータ同期のために DataWorks に接続する必要がある場合は、[データスケジューリング & Data Integration] セクションで対応する VPC を見つけ、VPC の横にある
アイコンをクリックします。 -
リソース管理 タブへ移動します。[インターネットへのアクセス] セクションで、すぐに作成 の下にある [作成] をクリックして、リソースグループにバインドされている VPC のインターネットアクセスを有効にします。
以下の主要なパラメーターを設定します。
パラメーター
値
VPC
リソースグループにバインドされているものと同じ VPC と vSwitch を選択します。
関連付けられたvSwitch
[Access mode]
[VPCの完全NATモード (SNAT)] を選択します。
Elastic IPアドレス
[EIPを購入] を選択します。
サービスリンクロールの作成
NAT ゲートウェイを初めて作成する場合は、サービスリンクロールを作成する必要があります。[サービスリンクロールの作成] をクリックします。
-
Buy Now をクリックし、支払いを完了して NAT ゲートウェイインスタンスを作成します。
購入が完了すると、3つのリソース操作の結果を示す成功メッセージが表示されます:[Elastic IPの作成] (成功)、[NATゲートウェイの作成] (成功)、[Elastic IPのバインド] (成功)。
-
NAT ゲートウェイインスタンスの作成後、コンソールに戻り、新しいインスタンスの SNAT エントリを作成します。
説明この VPC 内のリソースグループは、SNAT エントリが設定された後にのみインターネットにアクセスできます。
SNAT エントリは、VPC、vSwitch、ECS インスタンス/ENI、カスタム CIDR ブロックの4つのスコープをサポートしています。vSwitch スコープのエントリは、選択された vSwitch のみを対象とします。DataWorks リソースグループが選択されていない vSwitch にデプロイされている場合、この SNAT エントリを通じてインターネットにアクセスできません。VPC スコープの SNAT エントリを設定することを推奨します。このスコープでは、送信元 CIDR ブロックは 0.0.0.0/0 であり、VPC 内のすべての CIDR ブロックを網羅します。これにより、すべての vSwitch 上のリソースグループが NAT ゲートウェイを通じてインターネットにアクセスできるようになります。
-
新規インスタンスの操作列で Management をクリックしてインスタンス管理ページに移動し、[SNAT 管理] タブをクリックします。
-
[SNAT エントリリスト] タブで、[SNAT エントリの作成] をクリックし、以下の主要なパラメーターを設定します。
パラメーター
値
SNAT エントリスコープ
VPC スコープを選択して、NAT ゲートウェイが配置されている VPC 内のすべてのリソースグループが、設定された EIP を通じてインターネットにアクセスできるようにします。
EIPの選択
現在の NAT ゲートウェイインスタンスにバインドされている EIP を選択します。
SNAT エントリのパラメーターを設定したら、[OK] をクリックして SNAT エントリを作成します。
[SNAT エントリリスト] タブで、新しい SNAT エントリの Status が 利用可能 に変わると、リソースグループにバインドされた VPC はインターネットにアクセスできるようになります。
以前に vSwitch スコープの SNAT エントリを設定していた場合は、VPC スコープの SNAT エントリを作成した後、それらを削除できます。VPC スコープの SNAT エントリは、送信元 CIDR ブロックが 0.0.0.0/0 であり、VPC 内のすべての vSwitch CIDR ブロックを網羅します。古い vSwitch スコープのエントリは不要になり、安全に削除できます。
-
3. 許可リストの設定
-
リソースグループにバインドされているパブリック IP アドレスを取得します。
サーバーレスリソースグループ
-
VPC コンソールへ移動します。左側メニューで、[NATゲートウェイ] > [インターネット NAT ゲートウェイ] を選択して、インターネット NAT ゲートウェイリストページへ移動します。
-
作成したインターネット NAT ゲートウェイを見つけ、[Elastic IPアドレス] 列で EIP アドレスを取得します。
レガシー専用リソースグループ
-
DataWorks リソースグループリストページへ移動し、対象のリソースグループを見つけて、Details 列の Operation をクリックしてリソースグループの詳細ページへ移動します。
-
EIP アドレスを取得します。
-
-
管理者としてデータベースにログインします。
-
DataWorks がデータソースにアクセスする際に使用するアカウントを作成し、必要な権限をアカウントに付与します。
-- "dataworks_user" はユーザー名です。任意の名前に変更できます。 -- "StrongPassword123!" はパスワードです。任意のパスワードに変更できます。 CREATE USER 'dataworks_user'@'<public_IP_address_bound_to_resource_group>' IDENTIFIED BY 'StrongPassword123!'; -- リソースグループにバインドされているパブリックIPアドレスから、特定のデータベース (例: mydatabase) へのアクセス権限をユーザーに付与します。 GRANT ALL PRIVILEGES ON mydatabase.* TO 'dataworks_user'@'<public_IP_address_bound_to_resource_group>' WITH GRANT OPTION; -
FLUSH PRIVILEGES;コマンドを実行して権限を反映させ、次にexitコマンドを実行してデータベースへの接続を終了します。
4. 接続性のテスト
-
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、[Data Integration] をクリックします。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[Data Integrationに移動] をクリックします。
-
左側メニューで Data Sources をクリックして データソース一覧 ページへ移動し、次に Add Connection をクリックします。
-
データソースタイプとして MySQL を選択し、そのパラメーターを設定します。
-
設定モード を User-created Data Store with Public IP Addresses に設定します。
-
[ホストアドレス] には、MySQL インスタンスが配置されているサーバーのパブリック IP アドレスを入力します。この例では、IP アドレスは
47.117.XX.XXです。 -
Port Number を
3306に設定します。 -
Database Name には、既存のデータベースの名前を入力します。
-
ユーザー名 と パスワード には、3. 許可リストの設定で作成した
dataworks_userアカウントの認証情報を入力します。
-
-
接続設定 セクションで、ワークスペースに紐付いているリソースグループの [接続テスト] をクリックし、テスト結果が 接続可能 であるかどうかを確認します。
説明接続テストが失敗した場合、接続診断ツール を使用して問題をトラブルシューティングできます。問題が解決せず、リソースグループがまだデータソースに接続できない場合は、チケットを送信してください。
よくある質問
サーバーレスリソースグループからパブリックFTPへの接続タイムアウト
デフォルトでは、サーバーレスリソースグループはインターネットにアクセスできません。パブリック FTP データソースへの接続がタイムアウトする場合は、以下の手順でトラブルシューティングを行ってください。
-
サーバーレスリソースグループが含まれる VPC に NAT ゲートウェイと SNAT エントリを設定していることを確認します。設定していない場合は、このトピックの「ステップ2:ネットワーク接続性の確立」を参照して、NAT ゲートウェイのバインドと SNAT エントリの作成を完了してください。
-
NAT ゲートウェイが、サーバーレスリソースグループが実際に使用している VPC と vSwitch にバインドされているかどうかを確認します。バインド関係がリソースグループのネットワーク設定と一致していることを確認してください。
-
VPC ルートテーブルで、FTP サーバーの IP アドレスに対応する CIDR ブロックのルートを追加します。たとえば、FTP サーバーアドレスが
121.4.x.xの場合、宛先 CIDR ブロック121.4.0.0/16のルートエントリを追加し、ネクストホップを NAT ゲートウェイインスタンスに設定します。 -
FTP サーバーの許可リスト制限を確認します。サーバーレスリソースグループのエグレス IP アドレス (NAT ゲートウェイにバインドされた EIP) を FTP サーバーのアクセス許可リストに追加してください。
パブリックPostgreSQL接続でのUIテーブル検索の失敗
インターネット経由で PostgreSQL データソースに接続する場合、UI のテーブル検索機能はメタデータを取得するために複数回のやり取りが必要となり、高いネットワークの安定性が求められます。パブリックネットワーク環境が不安定であったり、送信制限がある場合、メタデータの取得がタイムアウトまたは失敗し、テーブル検索でリストの読み込みに失敗する可能性があります。対照的に、スクリプトモードは同期タスクを直接送信するため、この問題の影響を受けません。
この問題を解決するために、以下の方法を使用することを推奨します。
-
内部ネットワーク接続の確立を優先する:VPC 接続を通じて PostgreSQL データソースにアクセスすることで、パブリックネットワークの不安定性の影響を回避できます。ネットワークソリューションの詳細については、「ネットワーク接続性ソリューションの概要」をご参照ください。
-
SDKを使用してタスクを作成する:内部ネットワーク接続に切り替えられない場合は、DataWorks OpenAPI または SDK を使用してデータ同期タスクを作成し、UI テーブル検索機能の制限を回避します。
海外のDataWorksコンソールにアクセスできない
中国本土から米国 (シリコンバレー) などの海外リージョンの DataWorks コンソールにアクセスする場合、クロスボーダーのネットワーク接続が関係します。これにより、ネットワーク遅延や制限のためにページが開かない、または読み込みが遅くなる可能性があります。以下の手順を実行することを推奨します。
-
モバイルホットスポットなど、別のコンピューターまたはネットワーク環境を使用して、ローカルネットワーク環境の問題を除外してみてください。
-
問題がクロスボーダーリンクに関連していることが確認された場合は、会社のネットワーク管理部門に連絡して、海外リージョンの DataWorks コンソールアドレスへのアクセスを許可するようにネットワークポリシーを調整してください。
-
海外リージョンのコンソールへの長期的な安定したアクセスのために、Alibaba Cloud Global Accelerator (GA) を使用してクロスボーダーアクセスエクスペリエンスを最適化することを推奨します。GA は、低遅延で高可用性のクロスボーダーネットワークアクセラレーションを提供します。
プロキシを使用したエグレスIPのカスタマイズ
いいえ。Alibaba Cloud は、各リソースグループのエグレス IP アドレスを統一的に管理および割り当てます。プロキシ IP アドレスやその他の方法を使用して、リソースグループのエグレス IP アドレスを変更またはカスタマイズすることはできません。コードでプロキシ設定を構成しても、DataWorks タスクは実行時にリソースグループに割り当てられた IP アドレスを使用します。地理的に制限されたデータソースにアクセスするには、VPN Gateway や Express Connect などのネットワーク製品を使用して、クロスボーダー接続を確立してください。
