ワークスペース ネットワーク構成の更新
既存のワークスペースを更新または再構成する Private サービス Connect
このページでは、既存の Databricks ワークスペースのネットワーク構成を更新して、プライベート サービス コネクトを使用したり、既存のワークスペースのフロントエンドまたはバックエンドのプライベート サービス コネクト設定を変更したり、サブネットの IP 範囲の拡張など、基盤となるネットワーク構成を変更したりするための手順を順を追って説明します。
ネットワーク構成を更新する理由
ワークスペース ネットワーク構成を更新すると、次の強化されたセキュリティおよび接続機能が提供されます。
- セキュリティの強化 : Private サービス Connect を使用して、 VPC と Databricks サービスの間にプライベート接続を確立します。
- 柔軟なネットワーク : サブネットの IP 範囲とネットワーク構成を変更して、組織の要件を満たします。
- サービス統合 : プライベート エンドポイントを使用して、ワークスペースを他の Google Cloud サービスに接続します。
- カスタム接続 : 特定のユースケースに合わせてフロントエンドとバックエンドのプライベートサービス接続設定を構成します。
始める前に
- 中断を防ぎ、安全な更新を確保するには、すべての稼働中のクラスターとジョブを終了します。 更新の完了後に再起動できます。
- ワークスペースで使用される VPC をホストする GCP プロジェクトに対する必要な権限が必要です。これらの権限には、ネットワーク構成の変更を可能にする
compute.firewalls.get、compute.networks.get、compute.projects.get、compute.subnetworks.get、resourcemanager.projects.getが含まれます。これらの権限については、 「 ワークスペース作成に必要な権限 」を参照してください。
既存のワークスペースのサブネットを変更する
ワークスペースで使用される IP 範囲を変更するには、必要な範囲で新しいサブネットを作成し、新しいネットワーク構成オブジェクトを作成して、この新しいネットワーク構成を使用するようにワークスペースを更新する必要があります。
ステップ 1: クラウド リソースを作成する
Google Cloud プロジェクトと Databricks アカウントに必要なクラウド リソースを作成します。
- 新しいサブネットを作成する : Google Cloud プロジェクトで使用する新しい CIDR 範囲を使用して、VPC にサブネットを作成します。
- ネットワーク構成オブジェクトを作成する : Databricks アカウントのサブネットに対してネットワーク構成オブジェクトを作成します。「ステップ 1: サブネットを作成する」を参照してください。
ステップ 2: ファイアウォールを構成する
新しいサブネットに新しい入力ファイアウォール ルールを作成します。新しいCIDR範囲を使用するようにワークスペースを更新する前に、このステップを完了する必要があります。
Google クラウド コンソールで、次の値を持つファイアウォール ルールを作成します。
フィールド | Value |
|---|---|
ルール名 |
|
方向 | イングレス |
ターゲット | ネットワークタグ |
優先順位 | 1000 |
ソースフィルター | IPv4範囲: 新しいサブネットのプライマリCIDR範囲 |
プロトコルとポート | すべて許可 |
<subnet-name>新しいサブネットの名前に置き換え、 <workspace-id>ワークスペース ID に置き換えます。
ファイアウォール構成の詳細については、 「ファイアウォールを使用してワークスペースのネットワーク送信を制限する」を参照してください。
ステップ 3: ワークスペース サービス アカウントにDatabricks Network role v2 を付与します。
ワークスペースを更新する前に、新しいサブネット上の Databricks ネットワーク ロール v2 をワークスペース サービス アカウントに付与する必要があります。このステップをスキップすると、権限の問題によりすべての VM の起動が失敗します。
ワークスペース サービス アカウントを見つけるには、古いサブネットの IAM 権限を確認します。サービス アカウントの形式はdb-<workspace-id>@prod-gcp-<geo-region>.iam.gserviceaccount.comです。
-
現在のサブネットから既存の IAM ポリシーを取得します。
Bashgcloud compute networks subnets get-iam-policy <current-subnet> \
--region=<region> \
--project=<project>このコマンドは次のようなポリシー JSON を返します。
JSON{
"bindings": [
{
"role": "projects/<project>/roles/<databricks-network-role-v2>",
"members": ["serviceAccount:db-<workspace-id>@prod-gcp-<geo-region>.iam.gserviceaccount.com"]
}
]
} -
ポリシー バインディング仕様をテンプレートとして使用します。新しいサブネットを対象に、同じロールとメンバーを持つ新しい JSON ファイル (たとえば、
policy.json) を作成します。 -
新しいサブネットにポリシーを適用します。
Bashgcloud compute networks subnets set-iam-policy <new-subnet> policy.json \
--region=<region>
ステップ 4: APIを使用してワークスペースを更新する
Databricks アカウント REST API を使用してワークスペースを更新します。
-
認証 : アカウントAPIに対して認証を行います。 「Databricks リソースへのアクセスを承認する」を参照してください。Google クラウドでは、 Google ID による認証も利用できます。
-
REST API を実行します 。
-
エンドポイント :
PATCH /api/2.0/accounts/{account_id}/workspaces/{workspace_id} -
Path パラメーター :
account_id(必須、uuid)workspace_id(必須、int64)
-
クエリ パラメーター :
update_mask(必須、文字列)
-
-
リクエストの例 :
ステップ 1 で作成した新しいネットワーク構成オブジェクトの
network_id使用します。HTTPPATCH /api/2.0/accounts/{account_id}/workspaces/{workspace_id}?update_mask=network_id
Content-Type: application/json
{
"network_id": "fd0cc5bc-683c-47e9-b15e-144d7744a496"
} -
応答の例 :
JSON{
"workspace_id": 3389895405782117,
"workspace_name": "example-ws",
"creation_time": 1722542958272,
"deployment_name": "3389895405782117.7",
"workspace_status": "PROVISIONING",
"account_id": "2e0b6f3b-e1dc-43ea-93f5-7d55b9d7b780",
"workspace_status_message": "Workspace resources are being set up.",
"network_id": "fd0cc5bc-683c-47e9-b15e-144d7744a496",
"pricing_tier": "ENTERPRISE",
"location": "us-east4",
"cloud": "gcp",
"identity_federation_info": {
"enable_identity_federation": true
},
"gke_config": {
"connectivity_type": "PRIVATE_NODE_PUBLIC_MASTER",
"master_ip_range": "10.103.0.0/28"
},
"cloud_resource_container": {
"gcp": {
"project_id": "databricks-dev-entd-shared"
}
}
}
ステップ 5: クラスタリングとジョブを再起動する
ワークスペースの更新が完了したら、クラスターとジョブを再起動する前に、変更が伝播するまで少なくとも 10 分間待機します。
プライベート サービス コネクト以外のワークスペースを移行するか、既存のワークスペースのプライベート サービス接続構成を変更する
プライベート・サービス・コネクト以外のワークスペースをマイグレーションする場合、または既存のワークスペースのプライベート・サービス・コネクト構成を変更する場合は、以下のステップを実行します。
ステップ 1: クラウド リソースを作成または更新する
必要なクラウドリソースを作成または更新します。
- VPC エンドポイント: 「ステップ 2: VPC エンドポイントを作成する」を参照してください。
- プライベートアクセス設定: プライベート アクセス設定の作成を参照してください。
- ネットワーク構成: 「 ステップ 6: ネットワーク構成を作成する」を参照してください。
これらのリソースの ID は、ステップ 2 で必要になります。
手順 2: API を使用してワークスペースを更新する
変更を適用するには、アカウント API に PATCH リクエストを送信します。
-
認証: アカウントAPIに対して認証します。 「Databricks リソースへのアクセスを承認する」を参照してください。Google クラウドでは、 Google ID による認証も利用できます。
-
エンドポイント:
PATCH /api/2.0/accounts/{account_id}/workspaces/{workspace_id} -
クエリ パラメーター: 更新するフィールドを指定するには、
update_maskクエリ パラメーターを含める必要があります。- 例:
update_mask=network_id,private_access_settings_id,workspace_name,custom_tags
- 例:
-
リクエスト本文: 更新するフィールドを JSON 本文に含めます。サポートされているフィールドには
network_id、private_access_settings_id、workspace_name、custom_tagsなどがあります。
次のリクエストの例では、ワークスペースのネットワーク構成、プライベート アクセス設定、名前、カスタム タグを更新します。
PATCH /api/2.0/accounts/{account_id}/workspaces/{workspace_id}?update_mask=network_id,private_access_settings_id,workspace_name,custom_tags
Content-Type: application/json
{
"network_id": "6f855d93-8c45-4a4c-a0c9-56e35e16d715",
"private_access_settings_id": "be123b84-c964-4285-8b03-b7fe961588dc",
"workspace_name": "updated-ws-name",
"custom_tags": {
"test_key": "test_value"
}
}
ワークスペースは更新を非同期的に実行するため、応答にはPROVISIONINGステータスが表示されます。すべての更新が完了すると、ワークスペースはRUNNINGに戻ります。
{
"workspace_id": 3389895405782117,
"workspace_name": "example-ws",
"creation_time": 1722542958272,
"deployment_name": "3389895405782117.7",
"workspace_status": "PROVISIONING",
"account_id": "2e0b6f3b-e1dc-43ea-93f5-7d55b9d7b780",
"workspace_status_message": "Workspace resources are being set up.",
"network_id": "fd0cc5bc-683c-47e9-b15e-144d7744a496",
"pricing_tier": "ENTERPRISE",
"private_access_settings_id": "3b3bbcb5-46bd-4b03-944e-97eb44ed7991",
"location": "us-east4",
"cloud": "gcp",
"identity_federation_info": {
"enable_identity_federation": true
},
"gke_config": {
"connectivity_type": "PRIVATE_NODE_PUBLIC_MASTER",
"master_ip_range": "10.103.0.0/28"
},
"cloud_resource_container": {
"gcp": {
"project_id": "databricks-dev-entd-shared"
}
}
}
ステップ 3: DNS を構成する (オプション)
アップデート後にワークスペースが Private Service Connect ワークスペースの場合、このステップは必須です。 ユーザーが新しいワークスペース URL にアクセスできるようにするには、DNS を構成する必要があります。「ステップ 9: DNS を構成する」を参照してください。
手順 4: ファイアウォールを構成する (オプション)
このステップは、異なるCIDR範囲を使用するネットワーク設定オブジェクトでワークスペースを更新した場合に必要です。
ファイアウォールのイングレスルールを更新して、新しいサブネットCIDR範囲からのトラフィックを許可します。Databricks イングレス ルール ソースが新しい CIDR 範囲を反映するように更新されていることを確認します。詳細については、「 ファイアウォールを使用してワークスペースのネットワーク エグレスを制限する」を参照してください。
ステップ 5: クラスタリングとジョブを再起動する
ワークスペースの更新が完了し、必要な DNS またはファイアウォールの変更が設定されたら、クラスタリングとジョブを再起動できます。