このドキュメントでは、Managed Service for Apache Spark のネットワーク構成の要件について説明します。
Virtual Private Cloud サブネットワークの要件
このドキュメントでは、Managed Service for Apache Spark バッチ ワークロードとインタラクティブ セッションの Virtual Private Cloud ネットワーク要件について説明します。
プライベート Google アクセス
Managed Service for Apache Spark バッチ ワークロードとインタラクティブ セッションは、内部 IP アドレスのみを持つ VM と、サブネットで プライベート Google アクセス(PGA)が自動的に有効になっているリージョン サブネットで実行されます。
サブネットを指定しない場合、Managed Service for Apache Spark は、バッチ ワークロードまたはセッションのリージョンにある default サブネットをバッチ ワークロードまたはセッションのサブネットとして選択します。
ワークロードで外部ネットワークまたはインターネット アクセスが必要な場合(たとえば、 PyTorch Hub や Hugging Face から ML モデルなどのリソースを ダウンロードする場合)は、Cloud NAT を設定して、VPC ネットワークで 内部 IP を使用してアウトバウンド トラフィックを許可できます。
オープン サブネット接続
Managed Service for Apache Spark バッチ ワークロードまたはインタラクティブ セッション用に選択したリージョンの VPC サブネットでは、サブネット内の VM インスタンス間のすべてのポートで内部通信を許可する必要があります。
1 つのワークロードの悪意のあるスクリプトが他のワークロードに影響を与えないように、 Managed Service for Apache Spark は デフォルトのセキュリティ 対策をデプロイします。
次の Google Cloud CLI コマンドは、すべてのポートですべてのプロトコルを使用して VM 間の内部上り(内向き)通信を許可するサブネットにネットワーク ファイアウォールを接続します。
gcloud compute firewall-rules create allow-internal-ingress \ --network=NETWORK_NAME \ --source-ranges=SUBNET_RANGES \ --destination-ranges=SUBNET_RANGES \ --direction=ingress \ --action=allow \ --rules=all
注:
SUBNET_RANGES: VM 間の内部上り(内向き)接続を許可する をご覧ください。
default-allow-internalファイアウォール ルールを使用したプロジェクトのdefaultVPC ネットワークがオープン サブネット接続の要件を満たしており、すべてのポート(tcp:0-65535、udp:0-65535、icmp protocols:portsなど)で上り(内向き)通信が許可されています。ただし、このルールでは、ネットワーク上の任意の VM インスタンスによる上り(内向き)も許可されます。
自動的に作成されるリージョン システム ファイアウォール ポリシー
オープン サブネット接続の要件を満たすために、ランタイム バージョン 3.0 以降を使用する
Managed Service for Apache Spark バッチ ワークロードとインタラクティブ セッション
では、バッチまたはセッションの VPC サブネットにリージョン
システム ファイアウォール ポリシー dataproc-firewall-policy-[network-id]-region または
dataproc-fw-[network-id]-region が自動的に作成されます。
このポリシーには、次の上り(内向き)ルールと下り(外向き)ルールが含まれています。
| 名前 | 目的 | 候補 | 方向 | アクション | 移行元と移行先 | プロトコルとポート |
|---|---|---|---|---|---|---|
dataproc-allow-internal-ingress-rule-[subnetworkId] |
同じサブネット内の他の タグ付き Managed Service for Apache Spark VM からのみ、必要な内部通信をすべて許可します。 | 4 | INGRESS | 許可 |
srcSecureTag: このサブネットのセキュア タグ値。targetSecureTags:このサブネットのセキュア タグ値。 |
tcp:0-65535、udp:0-65535、icmp protocols:ports |
dataproc-allow-internal-egress-rule-[subnetworkId] |
Managed Service for Apache Spark VM がパッケージ(pip や apt-get など)をダウンロードし、プライベート Google アクセスを使用して Google API にアクセスできるようにします。 | 5 | EGRESS | 許可 |
destIpRanges: 0.0.0.0/0。targetSecureTags:このサブネットのセキュア タグ値。 |
tcp:0-65535、udp:0-65535、icmp protocols:ports |
注:
Managed Service for Apache Spark は、セキュア タグを保存するために、ユーザー プロジェクトに関連付けられたテナント プロジェクト をプロビジョニングします。 Managed Service for Apache Spark は、テナント プロジェクトのサブネットの セキュア タグ を作成し、Managed Service for Apache Spark VM にアタッチします。これにより、 作成されたシステム ファイアウォール ポリシーは Managed Service for Apache Spark VM にのみ適用されます。
自動的に作成されるシステム ファイアウォール ポリシーは、共有 VPC ではサポートされていません。
Managed Service for Apache Spark と VPC-SC ネットワーク
VPC Service Controls を使用すると、ネットワーク管理者 は Google マネージド サービスのリソースにセキュリティ境界を定義し、これらのサービス間の通信を 制御できます。
Managed Service for Apache Spark で VPC-SC ネットワークを使用する場合は、次の戦略を検討してください。
カスタム コンテナ イメージ を作成し、VPC-SC 境界の外部に依存関係をプリインストールし、カスタム コンテナ イメージを使用する Spark バッチ ワークロード を送信します。
詳細については、VPC Service Controls - Managed Service for Apache Spark をご覧ください。