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。这通常是计费和实例管理的首选。
要使用客户管理的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集群节点。有关大小建议和计算,请参见计算新工作区的子网大小. |
范围是从 |
子网区域 |
子网所在区域 |
子网区域必须与地区为Databricks提供一个GKE集群来运行您的工作空间。 |
GKE吊舱的次要范围 |
您的VPC的IP范围,从中分配您的工作空间的GKE集群荚。 |
范围是从 |
GKE服务的次要范围 |
VPC的IP范围,用于分配您的工作空间的GKE集群服务。 |
范围是从 |
共享一个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操作 |
任何业主( |
在VPC的项目中:查看者( |
创建网络配置 |
查看器( |
在VPC的项目和工作区的项目中:查看器( |
删除网络配置 |
没有一个 |
没有一个 |
创建Databricks工作区 |
(a)观看者( |
在VPC的项目中:查看者( |
删除工作区 |
任何业主( |
在VPC的项目中:不需要配置角色。在工作区的项目上(a)业主( |
步骤1:创建并设置VPC
选择创建谷歌所称的独立VPC还是共享VPC。共享VPC允许为VPC指定一个谷歌Cloud项目,每个工作空间可以指定不同的项目。Databricks使用工作区项目创建工作区的存储和计算资源。看到项目需求.
如果要在VPC中使用与每个工作空间的计算和存储资源相同的项目,请单独创建VPC。
否则,请创建共享VPC。
创建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, svc=10.2.0.0/20 本例中以从IP地址段命名
圆荚体
而且svc
.这些名称与后面的配置步骤相关。创建共享VPC:
阅读谷歌文章共享VPC简介”。
请遵循谷歌文章中的说明。使用共享VPC创建集群”。的主持的项目是VPC所属的项目。的服务项目是Databricks用于每个工作空间的计算和存储资源的项目。创建共享VPC,在共享VPC中创建GKE测试集群进行测试,并删除测试集群。
如果您计划在该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用户帐户。添加角色时,请提供管理员帐户的电子邮件地址。
确认或更新项目主体的角色:
步骤3:向Databricks注册网络,这会创建一个网络配置对象
将网络(VPC)注册为一个新的Databricks网络配置对象。
去账户控制台.
2 .在左侧导航区单击云资源.
点击添加网络配置.
在单独的web浏览器窗口中,打开谷歌云控制台。
进入您的VPC。
单击子网名称。谷歌Cloud控制台显示一个页面,其中包含子网详细信息和表单所需的其他信息。
将信息复制到添加网络配置的形式。
在第一个字段中为网络配置输入一个人类可读的名称。
VPC名称、子网名称、子网所在区域请按照要求填写。
输入GKE pod和服务的备用IP范围。如果使用前面的示例创建独立VPC
gcloud
命令时,对从IP段进行命名圆荚体
而且svc
.点击添加.