ネットワーキング

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

始める前に

このページでは、次の用語を理解していることを前提としています。

テナント プロジェクト

Cloud Data Fusion では、ユーザーに代わってパイプラインを管理するために必要なリソースとサービスを保持するテナント プロジェクトが作成されます。例: お客様のプロジェクトに存在する Dataproc クラスタでのパイプラインの実行。テナント プロジェクトはお客様に公開されませんが、プライベート インスタンスを作成する場合は、テナント プロジェクト名を使用して VPC ピアリングを設定する必要があります。

テナント プロジェクトには、複数の Cloud Data Fusion インスタンスを含めることができます。テナント プロジェクトが保持するリソースとサービスには、Cloud Data Fusion インスタンスを介して Cloud Data Fusion ウェブ UI または gcloud コマンドライン ツールからアクセスします。

詳細については、テナント プロジェクトに関するサービスのインフラストラクチャのドキュメントをご覧ください。

お客様のプロジェクト

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

Cloud Data Fusion インスタンス

Cloud Data Fusion インスタンスとは、Cloud Data Fusion 固有のデプロイメントのことです。Cloud Data Fusion を使ってみるには、Google Cloud Console を使用して Cloud Data Fusion インスタンスを作成します。

1 つの Google Cloud プロジェクトで複数のインスタンスを作成でき、さらに Cloud Data Fusion インスタンスを作成する Google Cloud リージョンを指定できます。

要件と費用の制約に応じて、Developer、Basic、Enterprise インスタンスを作成できます。

Cloud Data Fusion インスタンスごとに、固有の独立した Cloud Data Fusion デプロイメントが 1 つ含まれます。このデプロイメントに、パイプラインのライフサイクル管理、オーケストレーション、調整とメタデータの管理を行う一連のサービスが含まれています。これらのサービスは、テナント プロジェクトの長時間実行リソースを使用して実行されます。

ネットワーク図

オンプレミスやクラウドのさまざまなデータソースからデータを抽出し、変換、ブレンド、集約してからデータを読み込むデータ パイプラインを構築できます。

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

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

Cloud Data Fusion ネットワークの図

テナント プロジェクトを使用するメリット

Cloud Data Fusion でテナント プロジェクトを使用すると、次のようなメリットがあります。

  • Cloud Data Fusion ウェブ UI または gcloud ツールで提供されるテナント プロジェクトでユーザーとデベロッパーが使用できるのは、マネージド サービスのみです。
  • テナント プロジェクトでリソースの表示や管理を行うことができないため、ユーザーはシステム障害が発生する可能性があるサービスに対して課金されたり、意図しない変更を行う可能性がなくなります。
  • テナント プロジェクトの各マネージド サービスには、それぞれ独自の VPC ネットワークとサブネットがあります。

開発環境と実行環境

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

実行環境

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

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

Cloud Data Fusion インスタンス

Cloud Data Fusion インスタンスには、アクセスモデルに基づく 2 つのタイプ、パブリック(デフォルト)インスタンスと、プライベート インスタンスがあります。

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

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 パブリック インスタンスは作成できません。代わりに、Cloud Data Fusion プライベート インスタンスの作成の手順を行ってください。

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

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

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

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

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

パブリック インターネット上のデータソースにプライベート インスタンスから接続するには、パブリック インスタンスでパイプラインを設計し、実行時には、プロジェクトの 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 未満

次のステップ