Cloud Data Fusion ネットワーキングの概要

このページでは、開発環境および実行環境における、パブリックまたはプライベート Cloud Data Fusion インスタンスからのデータソースへの接続に関する背景情報を提供します。

準備

Cloud Data Fusion のネットワーキングでは、以下について基本的な理解が必要です。

テナント プロジェクト

Cloud Data Fusion では、ユーザー プロジェクトにある Dataproc クラスタでパイプラインを実行する際など、ユーザーに代わってパイプラインを管理するために必要なリソースとサービスを保持するテナント プロジェクトが作成されます。

テナント プロジェクトはユーザーに直接公開されませんが、プライベート インスタンスを作成する場合は、プロジェクト名を使用して VPC ピアリングを設定します。テナント プロジェクトの各プライベート インスタンスには、独自の VPC ネットワークとサブネットがあります。

プロジェクトには複数の Cloud Data Fusion インスタンスを配置できます。Cloud Data Fusion UI または Google Cloud CLI でインスタンスにアクセスするときに保持するリソースとサービスを管理します。
詳細については、テナント プロジェクトに関する Service Infrastructure のドキュメントをご覧ください。

お客様のプロジェクト

お客様がこのプロジェクトを作成して所有します。デフォルトでは、Cloud Data Fusion はパイプラインを実行するエフェメラル Dataproc クラスタをこのプロジェクト内に作成します。

Cloud Data Fusion インスタンス

Cloud Data Fusion インスタンスは、パイプラインを設計して実行する Cloud Data Fusion の一意のデプロイメントです。1 つのプロジェクトに複数のインスタンスを作成し、Cloud Data Fusion インスタンスを作成する Google Cloud リージョンを指定できます。 要件と費用の制約に応じて、Cloud Data Fusion の Developer、Basic、Enterprise エディションを使用するインスタンスを作成できます。 各インスタンスには一意の独立した Cloud Data Fusion デプロイメントがあり、これにはパイプラインのライフサイクル管理、オーケストレーション、調整とメタデータの管理を行う一連のサービスが含まれます。これらのサービスは、テナント プロジェクトの長時間実行リソースを使用して実行されます。

ネットワーク図

次の図は、さまざまなオンプレミス データソースとクラウド データソースからデータを抽出、変換、ブレンド、集約、読み込むデータ パイプラインを構築する際の接続を示しています。

Cloud Data Fusion バージョン 6.4 以降では、プライベート インスタンスでの下り(外向き)の制御パブリックソースへの接続の図をご覧ください。

6.4 より前のバージョンの場合、次のシステム アーキテクチャ図は、Cloud Data Fusion がテナント プロジェクトの Preview や Wrangler などのサービス、および顧客プロジェクトの Dataproc からデータソースに接続する方法を示しています。

Cloud Data Fusion のネットワーク図

パイプラインの設計と実行

Cloud Data Fusion には、設計と実行環境が分離されています。そのため、1 つのパイプラインを設計してから、それを複数の環境で実行できます。開発環境はテナント プロジェクトに保存され、実行環境は 1 つ以上の顧客プロジェクトに保存されます。

例: Wrangler や Preview などの Cloud Data Fusion サービスを使用してパイプラインを設計します。これらのサービスはテナント プロジェクトで実行されます。この場合、データへのアクセスは、Google が管理する Cloud Data Fusion サービス エージェントのロールによって制御されます。次に、お客様のプロジェクトでパイプラインを実行し、Dataproc クラスタを使用します。お客様のプロジェクトでは、デフォルトの Compute Engine サービス アカウントがデータへのアクセスを制御します。カスタム サービス アカウントを使用するようにプロジェクトを構成できます。

サービス アカウントの構成の詳細については、Cloud Data Fusion のサービス アカウントをご覧ください。

開発環境

顧客プロジェクトで Cloud Data Fusion インスタンスを作成すると、Cloud Data Fusion はパイプライン、メタデータ、Cloud Data Fusion UI、Preview や Wrangler などの設計時ツールのライフサイクルの管理に必要なサービスを実行する個別の Google マネージド テナント プロジェクトを自動的に作成します。

Cloud Data Fusion での DNS 解決

Google Cloud に転送するデータをラングリングしてプレビューするときに、設計時環境のドメイン名を解決するには、DNS ピアリングを使用します(Cloud Data Fusion 6.7.0 以降で利用可能)。これにより、ソースやシンクのドメインまたはホスト名を使用できます。IP アドレスのように頻繁に再構成する必要はありません。

DNS 解決は、非公開の VPC ネットワーク内でオンプレミスまたは別のサーバー(データベースや FTP サーバーなど)のドメイン名を使用する接続とプレビュー パイプラインをテストする際に、Cloud Data Fusion の設計時環境で行うことをおすすめします。

詳しくは、DNS ピアリングCloud DNS 転送をご覧ください。

実行環境

インスタンスでパイプラインを確認してデプロイした後、パイプラインを手動で実行するか、時間スケジュールまたはパイプライン状態トリガーで実行します。

Cloud Data Fusion、もしくは顧客によってプロビジョニングおよび管理されている実行環境は、どちらも顧客プロジェクト内に存在します。

パブリック インスタンス(デフォルト)

Cloud Data Fusion インスタンスをプロビジョニングする最も簡単な方法は、パブリック インスタンスを作成することです。出発点として機能し、公共のインターネット上の外部エンドポイントにアクセスできます。

Cloud Data Fusion のパブリック インスタンスは、ご自身のプロジェクトのデフォルトの VPC ネットワークを使用します。

デフォルトの VPC ネットワークには次のものがあります。

  • 各リージョンに対する自動生成サブネット
  • ルーティング テーブル
  • コンピューティング リソース間の通信を確保するファイアウォール ルール

リージョン間でのネットワーキング

新しいプロジェクトを作成する際の、デフォルトの VPC ネットワークのメリットは、事前定義された IP アドレス範囲(CIDR ブロックとして表現される)を使用して、リージョンごとに 1 つのサブネットが自動的に入力される点です。IP アドレス範囲は、Google Cloud のグローバル リージョン全体で 10.128.0.0/2010.132.0.0/20 で始まります。

リージョンを越えてコンピューティング リソースが相互に接続されるように、デフォルトの VPC ネットワークがデフォルトのローカル ルートを各サブネットに設定します。インターネットへのデフォルト ルート(0.0.0.0/0)を設定すると、インターネットにアクセスして、ルーティングされていないネットワーク トラフィックをキャプチャできます。

ファイアウォール ルール

デフォルトの VPC ネットワークには、次のような一連のファイアウォール ルールがあります。

デフォルト 説明
デフォルトで icmp を許可 ソース 0.0.0.0/0icmp プロトコルを有効にする
デフォルトで内部を許可 ソース 10.128.0.0/9tcp:0-65535udp:0-65535icmp を有効にして、最小 10.128.0.1 から最大 10.255.255.254 個の IP アドレスまでカバーする。
デフォルトで rdp を許可 ソース 0.0.0.0/0tcp:3389 を有効にする
デフォルトで ssh を許可 ソース 0.0.0.0/0tcp:22 を有効にする

これらのデフォルトの VPC ネットワーク設定により、Cloud Data Fusion などのクラウド サービスを設定する前提条件が最小限に抑えられます。ネットワーク セキュリティの問題により、組織ではデフォルトの VPC ネットワークをビジネス オペレーションに使用させないことがよくあります。デフォルトの VPC ネットワークがなければ、Cloud Data Fusion パブリック インスタンスは作成できません。代わりに、プライベート インスタンスを作成します。

デフォルトの VPC ネットワークでは、リソースへのオープン アクセスは許可されません。代わりに、Identity and Access Management(IAM)でアクセスを制御します。

  • Google Cloud にログインするには、検証済み ID が必要です。
  • ログインした後、Google Cloud サービスを表示するための明示的な権限(閲覧者のロールなど)が必要です。

プライベート インスタンス

一部の組織では、すべての本番環境システムをパブリック IP アドレスから分離することが義務付けられています。Cloud Data Fusion のプライベート インスタンスは、すべての種類の VPC ネットワーク設定で要件を満たしています。

バージョン 6.4 以前のプライベート インスタンス

6.4 より前のバージョンの Cloud Data Fusion では、設計と実行環境では内部 IP アドレスのみが使用されます。Cloud Data Fusion Compute Engine に接続されたパブリック インターネット IP アドレスは使用されません。設計時ツールとして、Cloud Data Fusion のプライベート インスタンスは、公共のインターネット上のデータソースにはアクセスできません。

代わりに、パイプラインをパブリック インスタンスで設計します。次に、実行するために、プロジェクトの VPC ポリシーを制御するお客様のプロジェクト内のプライベート インスタンスにプロジェクトを移動します。両方のプロジェクトのデータに接続する必要があります。

開発環境および実行環境でのデータへのアクセス

パブリック インスタンスでは、オープンなインターネット上でネットワーク通信を行いますが、重要な環境では推奨されません。データソースに安全にアクセスするには、常に実行環境のプライベート インスタンスからパイプラインを実行します。

Cloud Data Fusion バージョン 6.4 では、パイプラインを設計する場合、プライベート インスタンスからオープンなインターネット上のデータソースにアクセスすることはできません。代わりに、パブリック インスタンスを使用してテナント プロジェクトにパイプラインを設計し、インターネット上のデータソースに接続するようにします。パイプラインを構築したら、それを顧客プロジェクトに移動し、プライベート インスタンスで実行します。そうすると、VPC ポリシーを制御できます。両方のプロジェクトのデータに接続する必要があります。

ソースへのアクセス

実行環境が 6.4 より前のバージョンの Cloud Data Fusion で実行されている場合、アクセスできるのは VPC ネットワーク内のリソースのみです。 オンプレミスのデータソースにアクセスするように Cloud VPN または Cloud Interconnect を設定します。バージョンが 6.4 より前の Cloud Data Fusion では、Cloud NAT ゲートウェイを設定してある場合にのみ、パブリック インターネット上のソースにアクセスできます。

次の手順で、パブリックおよびプライベート インスタンスのデータソースにアクセスします。

  • 限定公開の Google アクセスを使用して Google Cloud APIs に発信する
  • VPC ピアリングを介して実行(Dataproc)環境と通信する

次の表は、さまざまなデータソースの開発時と実行時のパブリック インスタンスとプライベート インスタンスを比較したものです。

データソース パブリック Cloud Data Fusion インスタンス
(開発時)
パブリック Cloud Data Fusion Dataproc
(実行時)
プライベート Cloud Data Fusion インスタンス
(開発時)
プライベート Cloud Data Fusion Dataproc
(実行時)
Google Cloud ソース
(権限を付与し、ファイアウォール ルールを設定した後)
オンプレミス ソース
(VPN/Interconnect を設定し、権限を付与し、ファイアウォール ルールを設定した後)
パブリック インターネット ソース
(権限を付与し、ファイアウォール ルールを設定した後)
バージョン 6.4 以上 バージョン 6.4 未満

次のステップ