このページでは、Private Service Connect を使用する場合の Dataproc クラスタのネットワーク接続の構成について説明します。このドキュメントでは、さまざまな Dataproc ユースケースにおける Private Service Connect と Virtual Private Cloud ピアリングの相互作用について説明します。また、プライベート Google アクセス、Private Service Connect、Cloud NAT の機能の類似点と相違点についても説明します。
概要
Dataproc クラスタには、Dataproc API、Cloud Storage、Cloud Logging などのGoogle Cloud API とサービスとのネットワーク接続や、他の Virtual Private Cloud ネットワークやオンプレミス環境のデータソースなどのユーザー リソースとのネットワーク接続が必要です。
デフォルトでは、イメージ バージョン 2.2
以降で作成された Dataproc クラスタは、内部 IP アドレスのみで作成されます。Dataproc は、内部 IP のみのクラスタで使用されるリージョン サブネットでプライベート Google アクセスを自動的に有効にし、公共のインターネットに接続せずに Google API とサービスへの接続を可能にします。
ネットワークをよりきめ細かく制御するには、Private Service Connect を使用するようにクラスタを構成します。これにより、VPC ネットワーク内のプライベート エンドポイントを介して、サポートされている Google API とサービスにトラフィックが転送されます。これはセキュリティとコンプライアンスに役立ちます。
一般的なプライベート ネットワーキング オプション
このセクションでは、プライベート Google アクセス、Private Service Connect、Cloud NAT の機能と違いについて説明します。
プライベート Google アクセスは、VM がインターネットを使用せずに Google の一般公開サービスにアクセスするための一方向のパスです。これは、公共道路を迂回して Google のサービスモールに直接つながる、近隣(VPC サブネット)からの特別な道路の出口のようなものです。この道路は近隣の人なら誰でも利用できます。Dataproc は、イメージ バージョン
2.2
以降で作成された Dataproc サーバーレス クラスタで使用されるリージョン サブネットで、プライベート Google アクセスを自動的に有効にします。Private Service Connect は、VPC ネットワーク内にあるサービスにプライベートな双方向エンドポイントを作成します。これは、ロケーション(VPC ネットワーク)からサービスに直接接続する専用のプライベート パスに似ています。このアドレスはユーザーのロケーションにあり(VPC ネットワーク内の内部 IP アドレス)、ユーザーのみが使用できます。
Cloud NAT を使用すると、プライベート IP アドレスを持つ VM がインターネットにアクセスできます。
機能と相違点
機能 | プライベート Google アクセス(PGA) | Private Service Connect(PSC) |
---|---|---|
仕組み | VM から特別な Google IP アドレス範囲(private.googleapis.com )にトラフィックを転送します。 |
VPC ネットワーク内に Google サービスを表す転送ルール(エンドポイント)を作成します。 |
IP アドレス | VM が Google 所有の IP アドレスに接続します。 | VM は、VPC ネットワーク内でユーザーが所有する内部 IP アドレスに接続します。 |
方向 | アウトバウンドのみ: VM が Google への接続を開始します。 | 双方向: VM がサービスに接続し、サービスが戻りトラフィックを開始できます。 |
範囲 | サブネット全体で有効または無効。 | 特定のエンドポイント リソースとしてデプロイされます。 |
サービス | Cloud Storage、BigQuery、Dataproc API などの Google API にのみ接続します。 | Google API、他社のサービス、独自のサービスに接続します。 |
Dataproc の場合、プライベート Google アクセスは、クラスタ VM が Dataproc コントロール プレーンに接続できるようにする、よりシンプルな従来からの方法です。Private Service Connect は、より新しい柔軟なアプローチであり、特に複雑なネットワークやマルチテナント ネットワークできめ細かい制御を実現します。
Private Service Connect を使用する理由Dataproc クラスタにプライベート Google アクセスが有効になっている内部専用 IP アドレスがある場合(2.2+
イメージ バージョン クラスタのデフォルト構成)、Private Service Connect には次の利点があります。
Private Service Connect を使用すると、プライベート Google アクセスの共有エンドポイント セットを使用して Google API とサービスに接続するのではなく、VPC ネットワーク内の内部 IP アドレスを持つプライベート エンドポイントを作成して、特定の Google サービスに直接マッピングできます。
Private Service Connect エンドポイントの IP アドレスへのトラフィックのみを許可するファイアウォール ルールを作成できます。たとえば、Dataproc クラスタ VM から BigQuery の Private Service Connect エンドポイントの内部 IP アドレスへの下り(外向き)トラフィックのみを許可し、他のすべての下り(外向き)トラフィックを拒否するルールを構成できます。これは、プライベート Google アクセスを使用して広範なファイアウォール ルールを作成するよりも安全なアプローチです。
VPC ネットワーク内で Private Service Connect エンドポイントを使用すると、Cloud Storage などのサービスへのトラフィックが他の API トラフィックとパスを共有しないため、ネットワーク パスが明示的になり、セキュリティとコンプライアンスの監査が容易になります。
プライベート パスとパブリックパス
プライベート Google アクセス、Private Service Connect、Cloud NAT を使用すると、RFC 1918
アドレスを持つホストがGoogle Cloud サービスにアクセスできます。また、プライベート RFC 1918
アドレスを持つ Google Cloud リソースが Google Cloud サービスへの接続を開始することもできます。
さまざまな接続オプションを評価する際に重要なことは、接続を使用するトラフィックがプライベートのままか、公共のインターネット経由で転送されるかという点です。
プライベート Google アクセスと Private Service Connect は、トラフィックを Google のプライベート ネットワーク内に保持します。データは公共のインターネットを経由して Google Cloud サービスに到達しないため、セキュリティや予測可能なパフォーマンスの実現に役立ちます。
Cloud NAT は、サービスのパブリック エンドポイントに接続して Google Cloud サービスにアクセスします。トラフィックは NAT ゲートウェイを介して VPC ネットワークを離れ、インターネット経由で転送されます。
各オプションの機能
それぞれの接続方法の詳細は次のとおりです。
方法 | サービスへのパス | 宛先エンドポイント | 主なユースケース |
---|---|---|---|
プライベート Google アクセス | Google プライベート ネットワーク | 特別な Google IP アドレス(private.googleapis.com ) |
VM が Google API にプライベートにアクセスするためのシンプルなサブネット レベルのアクセス。 |
Private Service Connect | Google プライベート ネットワーク | VPC ネットワーク内のプライベート IP アドレス エンドポイント | Google API、サードパーティ サービス、独自のサービスへのきめ細かい安全なアクセス。 |
Cloud NAT | 公共のインターネット | サービスのパブリック IP アドレス | プライベート IP アドレスを持つ VM の汎用的なアウトバウンド インターネット アクセス。 |
Private Service Connect を構成する
Dataproc クラスタで Private Service Connect を使用するには、Dataproc が依存するすべての Google API に対して、VPC ネットワークで必要な Private Service Connect エンドポイントと DNS を構成する必要があります。サブネットの設定と DNS の構成の手順については、エンドポイントを介した Google API へのアクセスについてをご覧ください。
必要に応じてピアリングを有効にする
Private Service Connect は多くの Google サービスへのプライベート アクセスを提供しますが、特に次のシナリオでは VPC ピアリングも有効にする必要があります。
他の Virtual Private Cloud ネットワーク: Private Service Connect は、他のユーザー VPC ネットワークに直接接続するのではなく、Google マネージド サービスに接続します。データソース、カスタム アプリケーション、その他のサービスが Dataproc クラスタとは異なる VPC ネットワークにある場合、通常はこれらのネットワーク間のプライベート通信を有効にするために VPC ピアリングが必要になります。
オンプレミス ネットワーク: Dataproc クラスタがオンプレミス環境のデータまたはサービスにアクセスする場合は、オンプレミス ネットワークへの Cloud VPN または Cloud Interconnect 接続が必要です。多くの場合、VPC ピアリングと組み合わせて使用します。
Google サービスへの包括的な内部通信: Private Service Connect は、Cloud Storage や BigQuery などの構成済み Google サービスへのプライベート アクセスを提供しますが、内部コントロール プレーン通信や特定の Dataproc 機能では、基盤となる Google インフラストラクチャや他の Google API にアクセスするために、幅広い Google サービスへのアクセスが可能なネットワークとの VPC ピアリングが必要になる場合があります。
他の VPC ネットワーク内のデータソースへのアクセス: Dataproc ジョブが、別の VPC ネットワークにある Cloud SQL、セルフマネージド データベース、カスタム アプリケーションなどのデータソースから読み取りまたは書き込みを行う場合、Dataproc クラスタの VPC ネットワークと、これらのデータソースを含む VPC ネットワークの間に VPC ピアリングを確立する必要があります。Private Service Connect は、ユーザーが所有するネットワーク間の VPC ネットワーク間通信を提供しません。
ハイブリッド接続: Dataproc クラスタがオンプレミス データセンターのリソースとやり取りする必要があるハイブリッド クラウド環境では、Cloud VPN または Cloud Interconnect を使用してオンプレミス ネットワークを Google Cloud VPC ネットワークに接続するために VPC ピアリングが不可欠です。
Private Service Connect のトラブルシューティング
Private Service Connect(VPC ピアリングなし)を使用する Dataproc クラスタの作成に失敗した場合や、接続に関する問題が発生した場合は、次の手順に沿ってトラブルシューティングを行い、問題を解決してください。
必要な API が有効かどうか確認します。
- Google Cloud プロジェクトで必要な Google API がすべて有効になっていることを確認します。
Private Service Connect エンドポイントの構成を確認します。
クラスタに必要なすべての Google API(
dataproc.googleapis.com
、storage.googleapis.com
、logging.googleapis.com
、bigquery.googleapis.com
、compute.googleapis.com
など)に対して、Private Service Connect エンドポイントが正しく構成されていることを確認します。VPC サブネット内の VM から
dig
やnslookup
などのツールを使用して、必要なサービスの DNS レコードが、Private Service Connect エンドポイントを使用して VPC ネットワーク内のプライベート IP アドレスに正しく解決されることを確認します。
ファイアウォール ルールを確認します。
VPC ネットワークのファイアウォール ルールで、Dataproc クラスタ インスタンスから Private Service Connect エンドポイントへのアウトバウンド接続が許可されていることを確認します。
共有 VPC を使用している場合は、ホスト プロジェクトに適切なファイアウォール ルールが構成されていることを確認します。
Dataproc クラスタのログを調べます。
- Logging でクラスタ作成ログを確認し、
connection refused
、timeout
、unreachable host
などのネットワーク関連のエラーがないか確認します。これらのエラーは、ルートがないか、ファイアウォール ルールが正しくないことを示している可能性があります。クラスタ インスタンスのシリアル コンソール ログを調べます。
- Logging でクラスタ作成ログを確認し、
VPC ピアリングの必要性を評価します。
ワークロードの依存関係に基づいて、Dataproc クラスタが別の VPC ネットワーク内のデータベースやオンプレミス サーバーなど、Google が管理していないリソースへの接続を必要とする場合は、VPC ピアリングを確立します。
Dataproc クラスタが連携するGoogle Cloud サービスのネットワーク要件を確認します。Private Service Connect で使用する場合でも、一部のサービスには特定のピアリング要件がある可能性があります。
ベスト プラクティス
包括的なネットワーク アーキテクチャの計画: Private Service Connect を使用して Dataproc をデプロイする前に、すべての暗黙的および明示的な依存関係とデータフロー パスを考慮し、ネットワーク アーキテクチャを慎重に設計します。プロビジョニングやオペレーションで Dataproc クラスタがやり取りするすべての Google API を特定する必要があります。
接続をテストする: 開発フェーズとステージング フェーズで、Dataproc クラスタから必要なすべてのサービスとデータソースへのネットワーク接続を徹底的にテストします。
Network Intelligence Center を使用する: 接続テストなどの Google Cloud Network Intelligence Center ツールを使用して、ネットワーク接続の問題を診断してトラブルシューティングします。
次のステップ
- Private Service Connect の詳細を確認する。
- VPC ネットワーク ピアリングについて理解する。
- Dataproc クラスタのネットワーク構成を確認する。