Customer-managed VPC

重要的

此功能要求您的帐户在保费计划

概述

默认情况下,您的Databricks工作区计算资源(例如Databricks Runtime集群)是在谷歌云中的GKE集群中创建的VPC网络.Databricks在您的谷歌云帐户中创建并配置此VPC。

或者,您可以选择在现有的数据库中创建Databricks工作空间customer-managed VPC您在谷歌云帐户中创建的。您可以使用客户管理的VPC来对您的网络配置进行更多的控制,以符合您的组织可能需要的特定的云安全和治理标准。

客户管理的VPC是一个很好的解决方案,如果你有:

  • 禁止PaaS提供商在您自己的谷歌云帐户中创建vpc的安全策略。

  • 创建新VPC的审批流程,由内部信息安全或云工程团队以良好的文档方式配置和保护VPC。

福利包括:

  • 较低的权限级别:维护您自己的谷歌云帐户更多的控制权。数据库不需要像默认的数据库管理VPC那样需要太多的权限。限制所需的权限可以更容易地获得在平台堆栈中使用Databricks的批准。bob体育客户端下载看到客户管理vpc的权限级别较低

  • 巩固vpc:配置多个“数据库”工作空间,共享一个数据平面VPC。这通常是计费和实例管理的首选。

Customer-managed VPC

要使用客户管理的VPC,必须在创建Databricks工作区时指定它账户控制台.不能将已有的带有数据库管理VPC的工作空间移动到自己的VPC中。此外,在创建工作空间之后,您不能更改工作空间使用的由客户管理的VPC。

客户管理vpc的权限级别较低

在创建工作空间时,Databricks创建一个服务帐户并授予一个角色与权限Databricks需要管理您的工作空间。

如果您的工作空间使用客户管理的VPC,则不需要那么多权限。Databricks创建的角色省略了网络、路由器、子网等对象的创建、更新、删除等权限。有关完整列表,请参见Databricks授予服务帐户的自定义角色中的权限

需求

出口需求

作为创建工作空间的一部分,Databricks在VPC中创建了一个GKE集群。默认情况下,这是一个私有GKE集群,这意味着没有公共IP地址。对于私有GKE集群,您提供的子网和辅助IP范围必须允许出站公共internet流量,默认情况下不允许这样做。如果要启用出口,可以添加谷歌云NAT或使用类似的方法。看到步骤1:创建并设置VPC

请注意

如果您选择一个公共GKE集群,那么您的工作空间就没有安全的集群连接因为计算节点有公网IP地址。

网络需求

网络资源和属性使用要求如下表所示CIDR标记

网络资源或属性

描述

有效范围

子网范围

您的VPC的IP范围,从中分配您的工作空间的GKE集群节点。有关大小建议和计算,请参见计算新工作区的子网大小

范围是从/ 29/ 9

子网区域

子网所在区域

子网区域必须与地区为Databricks提供一个GKE集群来运行您的工作空间。

GKE吊舱的次要范围

您的VPC的IP范围,从中分配您的工作空间的GKE集群荚。

范围是从/ 21/ 9

GKE服务的次要范围

VPC的IP范围,用于分配您的工作空间的GKE集群服务。

范围是从/ 27日/ 16

共享一个VPC与多个工作空间

一个谷歌云VPC可配置多个工作空间。您必须确保每个工作区的子网不重叠。若要为每个工作空间使用单独的谷歌云项目,与VPC的项目分开,请使用谷歌所称的a共享VPC.详细信息请参见项目需求

项目需求

谷歌云项目与您的VPC关联的项目可以与工作空间的项目匹配,但不要求匹配。

如果您使用的是标准VPC,谷歌调用a独立的VPC, Databricks使用相同的谷歌云项目用于以下两个:

  • VPC网络

  • Databricks为计算和存储资源的每个工作空间创建的资源。计算资源包括GKE集群及其集群节点。存储资源包括存储系统数据的两个GCS桶和根DBFS。

如果您希望您的VPC中有一个不同于计算和存储资源的谷歌Cloud项目,则必须创建谷歌中所称的a共享VPC而不是独立的VPC。共享VPC可以将多个项目的资源连接到同一个VPC网络中,通过内部ip进行通信。

请注意

术语说明:

  • 不要混淆这个术语共享VPC多个工作空间是否共享一个VPC。独立vpc和共享vpc都可以与单个Databricks工作区或多个工作区一起使用。

  • 共享VPC也称为共享VPC跨项目网络XPN.Databricks文档使用了这个术语共享VPC遵循谷歌文档中最常见的用法。

出于各种原因,您可能希望使用不同的项目来获取工作空间资源:

  • 您希望为每个工作空间分离计费元数据,用于每个业务单元的成本归属和预算计算,每个业务单元都有自己的Databricks工作空间,但只有一个VPC托管所有工作空间。

  • 您希望为每个目的限制每个项目的权限。例如,用于每个工作空间的计算和存储资源的项目不需要创建VPC的权限。

  • 对于谷歌云应用程序,您的组织可能需要这种方法。

谷歌叫什么主持的项目是VPC所属的项目。谷歌叫什么服务项目是Databricks用于每个工作空间的计算和存储资源的项目。

角色需求

主要执行操作的对象必须为每个操作具有特定的所需角色。

重要的

使用账户控制台要创建工作空间,主体是您的admin用户帐户。

对于独立的VPC帐户,VPC和VPC中部署的资源都有一个“谷歌Cloud”项目。如果您的VPC是谷歌所称的a共享VPC,意味着每个工作空间的计算和存储资源在VPC中有一个单独的项目。对于共享VPC,操作主体(用户或业务帐户)必须具有特定的角色这两个VPC的项目和工作区的项目。详见下表。共享vpc的详细信息请参见项目需求

要使用客户管理的VPC创建工作空间,您需要创建网络配置和工作空间的角色。

操作

如果您的VPC是独立VPC,需要在工作空间的项目中加入角色

共享VPC时,需加入的角色

执行以下所有由客户管理的VPC操作

任何业主(角色/所有者)或(b)双方编辑(角色/编辑器)及IAM管理计划(角色/ resourcemanager.projectIamAdmin).

在VPC的项目中:查看者(角色/查看器).在工作区的项目上(a)业主(角色/所有者)或(b)双方编辑(角色/编辑器)及IAM管理计划(角色/ resourcemanager.projectIamAdmin).

创建网络配置

查看器(角色/查看器

在VPC的项目和工作区的项目中:查看器(角色/查看器

删除网络配置

没有一个

没有一个

创建Databricks工作区

(a)观看者(角色/查看器)或(b)双方编辑(编辑/所有者)及IAM管理计划(角色/ resourcemanager.projectIamAdmin).

在VPC的项目中:查看者(角色/查看器).在工作区的项目上(a)业主(角色/所有者)或(b)双方编辑(角色/编辑器)及IAM管理计划(角色/ resourcemanager.projectIamAdmin).

删除工作区

任何业主(角色/所有者)或(b)双方编辑(编辑/所有者)及IAM管理计划(角色/ resourcemanager.projectIamAdmin).

在VPC的项目中:不需要配置角色。在工作区的项目上(a)业主(角色/所有者)或(b)双方编辑(角色/编辑器)及IAM管理计划(角色/ resourcemanager.projectIamAdmin).

步骤1:创建并设置VPC

  1. 选择创建谷歌所称的独立VPC还是共享VPC。共享VPC允许为VPC指定一个谷歌Cloud项目,每个工作空间可以指定不同的项目。Databricks使用工作区项目创建工作区的存储和计算资源。看到项目需求

    • 如果要在VPC中使用与每个工作空间的计算和存储资源相同的项目,请单独创建VPC。

    • 否则,请创建共享VPC。

  2. 创建VPC网络需求

    • 创建独立VPC,使用谷歌云控制台或者是谷歌CLI.使用实例使用谷歌命令行创建独立VPC,其IP范围满足Databricks工作空间的要求。取代<地区>用谷歌云地区计划在其中创建Databricks工作区。取代< vpc-name >使用新的VPC名称。取代< subnet-name >使用新的子网名称。取代<项目id >独立VPC的项目ID。

      gcloud配置Project < Project -id> gcloud计算网络创建——subnet-mode自定义gcloud计算网络子网创建——网络< vpc-name >——范围10.0.0.0/16——地区<地区>——secondary-range圆荚体10.1.0.0/16, svc10.2.0.0/20

      本例中以从IP地址段命名圆荚体而且svc.这些名称与后面的配置步骤相关。

    • 创建共享VPC

      1. 阅读谷歌文章共享VPC简介”。

      2. 请遵循谷歌文章中的说明。使用共享VPC创建集群”。的主持的项目是VPC所属的项目。的服务项目是Databricks用于每个工作空间的计算和存储资源的项目。创建共享VPC,在共享VPC中创建GKE测试集群进行测试,并删除测试集群。

  3. 如果您计划在该VPC中的任何工作空间使用私有GKE集群(创建工作空间时默认设置),则计算资源节点没有公网IP地址。

    请注意

    如果您计划在创建工作空间时使用公共GKE集群,为计算资源节点创建公共IP地址,请跳过本节的下一步。

    为了支持带有私有GKE集群的工作空间,VPC中必须包含允许从VPC向公共internet出口(出站)流量的资源,以便您的工作空间可以连接到Databricks控制平面。

    启用出口的一个简单方法是添加谷歌云NAT。请遵循谷歌文章中的说明。使用云NAT设置网络地址转换”。这种方法支持到所有目的地的出口。如果您想将出口限制到所需的目的地,您可以现在或稍后使用使用防火墙限制工作区的网络出口

    如果你使用谷歌CLI对于这一步,可以使用以下命令。取代< vpc-name >使用前面步骤中创建的VPC名称。取代< nat-name >新的NAT名称。将替换为你想要在你的工作区中使用的区域名称(或同一区域中的多个工作区):

    Gcloud计算路由器创建my-router -network< vpc-name >——地区 gcloud compute路由器nats create ——路由器我的路由器——auto-allocate-nat-external-ips——nat-all-subnet-ip-ranges——router-region<地区>

    有关其他示例,请参阅谷歌文章“GKE设置示例”。

步骤2:为您的admin用户帐户确认或添加项目上的角色

主要执行操作的对象必须为每个操作具有特定的所需角色。看到角色需求用于创建工作空间和其他相关操作所需的角色

重要的

使用账户控制台要创建工作空间,主体是您的admin用户帐户。添加角色时,请提供管理员帐户的电子邮件地址。

确认或更新项目主体的角色:

  1. 项目IAM页面在谷歌云控制台。

  2. 如果需要,在页面顶部的项目选择器中更改项目以匹配您的VPC项目。

  3. 如果主体已经在此项目中具有角色,则可以在此页上找到它,并在角色列。

  4. 向项目中的主体添加新角色:

    1. 在IAM页面上方,单击添加

    2. 主要字段,输入要更新的实体的电子邮件地址。

    3. 单击选择角色字段。选择列出为必选的角色。看到角色需求.属性中的选择器中,可以找到角色所有者、查看器和编辑器基本类别。

      请注意

      创建带有客户管理VPC的工作空间时,需要使用角色用于创建网络配置和工作空间。现在为这两个操作添加角色。

    4. 单击,可添加其他角色添加另一个角色并重复“确认或更新项目主体的角色”中前面的步骤。

    5. 点击保存

  5. 如果你使用谷歌云共享VPC,它允许为您的工作空间资源(例如计算资源和存储)使用不同的谷歌Cloud项目,您还需要在工作空间的项目上为主体确认或添加角色。重复本节中的步骤,但使用工作区的项目,而不是VPC的项目。

步骤3:向Databricks注册网络,这会创建一个网络配置对象

将网络(VPC)注册为一个新的Databricks网络配置对象。

  1. 账户控制台

  2. 2 .在左侧导航区单击云资源云资源

  3. 点击添加网络配置

  4. 在单独的web浏览器窗口中,打开谷歌云控制台。

  5. 进入您的VPC。

  6. 单击子网名称。谷歌Cloud控制台显示一个页面,其中包含子网详细信息和表单所需的其他信息。

  7. 将信息复制到添加网络配置的形式。

    1. 在第一个字段中为网络配置输入一个人类可读的名称。

    2. VPC名称、子网名称、子网所在区域请按照要求填写。

    3. 输入GKE pod和服务的备用IP范围。如果使用前面的示例创建独立VPCgcloud命令时,对从IP段进行命名圆荚体而且svc

    4. 点击添加

步骤4:创建引用网络配置的Databricks工作空间

重要的

要创建工作空间,您的帐户上必须有一些必需的谷歌权限,可以是谷歌账户或者一个服务帐户.看到需要的权限

要使用帐户控制台创建工作空间,请遵循中的说明使用帐户控制台创建和管理工作区设置这些字段:

  • 谷歌云项目ID

    • 如果您的VPC是独立的VPC,设置为VPC的项目ID。对于独立的VPC,这也是您的工作空间用于其资源的项目。

    • 如果您的VPC是共享VPC,将此设置为此工作区资源的项目ID。

  • 网络模式中,选择Customer-managed网络

  • 网络配置,从选择器中选择您的网络配置。