このページでは、開発環境および実行環境における、パブリックまたはプライベート 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 には、設計と実行環境が分離されています。そのため、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/20
、10.132.0.0/20
で始まります。
リージョンを越えてコンピューティング リソースが相互に接続されるように、デフォルトの VPC ネットワークがデフォルトのローカル ルートを各サブネットに設定します。インターネットへのデフォルト ルート(0.0.0.0/0
)を設定すると、インターネットにアクセスして、ルーティングされていないネットワーク トラフィックをキャプチャできます。
ファイアウォール ルール
デフォルトの VPC ネットワークには、次のような一連のファイアウォール ルールがあります。
デフォルト | 説明 |
---|---|
デフォルトで icmp を許可 |
ソース 0.0.0.0/0 の icmp プロトコルを有効にする |
デフォルトで内部を許可 | ソース 10.128.0.0/9 の tcp:0-65535 、udp:0-65535 、icmp を有効にして、最小 10.128.0.1 から最大 10.255.255.254 個の IP アドレスまでカバーする。 |
デフォルトで rdp を許可 |
ソース 0.0.0.0/0 の tcp:3389 を有効にする |
デフォルトで ssh を許可 |
ソース 0.0.0.0/0 の tcp: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 ネットワーク設定で要件を満たしています。
Cloud Data Fusion の Private Service Connect
Cloud Data Fusion インスタンスは、オンプレミス、Google Cloud、または他のクラウド プロバイダ上にあるリソースに接続する必要がある場合があります。内部 IP アドレスで Cloud Data Fusion を使用する場合、外部リソースへの接続は Google Cloud プロジェクトの VPC ネットワークを介して確立されます。ネットワークを介したトラフィックは公共のインターネットを経由しません。VPC ネットワーク ピアリングを使用して Cloud Data Fusion に VPC へのアクセスを提供する場合は、大規模なネットワークを使用すると明らかになる制限があります。
Private Service Connect インターフェースを使用すると、Cloud Data Fusion は VPC ネットワーク ピアリングを使用せずに VPC に接続します。Private Service Connect インターフェースは Private Service Connect の一種であり、Cloud Data Fusion がコンシューマ VPC ネットワークへのプライベートで安全な接続を開始できるようにします。これにより、VPC ネットワーク ピアリングのように柔軟性が得られ、アクセスが容易になるだけでなく、Private Service Connect が提供する明示的な承認とコンシューマ側の制御も可能となります。詳細については、Private Service Connect を使用してプライベート インスタンスを作成するをご覧ください。
開発環境および実行環境でのデータへのアクセス
パブリック インスタンスでは、オープンなインターネット上でネットワーク通信を行いますが、重要な環境では推奨されません。データソースに安全にアクセスするには、常に実行環境のプライベート インスタンスからパイプラインを実行します。
ソースへのアクセス
次の手順で、パブリックおよびプライベート インスタンスのデータソースにアクセスします。
- 限定公開の Google アクセスを使用して Google Cloud APIs に発信する
- VPC ピアリングを介して実行環境(Dataproc)と通信する
次の表は、さまざまなデータソースの開発時と実行時のパブリック インスタンスとプライベート インスタンスを比較したものです。
データソース | パブリック Cloud Data Fusion インスタンス (開発時) |
パブリック Cloud Data Fusion Dataproc (実行時) |
プライベート Cloud Data Fusion インスタンス (開発時) |
プライベート Cloud Data Fusion Dataproc (実行時) |
---|---|---|---|---|
Google Cloud ソース (権限を付与し、ファイアウォール ルールを設定した後) |
||||
オンプレミス ソース (VPN/Interconnect を設定し、権限を付与し、ファイアウォール ルールを設定した後) |
||||
パブリック インターネット ソース (権限を付与し、ファイアウォール ルールを設定した後) |