的数据库管理指南介绍如何在AWS上设置Databricks,详细介绍了标签、组和秘密等功能的实现。这里有一些注意事项和决策点,可以帮助您理解实现决策的权衡。其中许多项目在AWS数据表上的企业版推出中进行了更详细的检查。
数据平台管bob体育客户端下载理策略
分布式与集中式
分布式策略
分布式策略允许不同的团队拥有自己的环境:
- 他们可以被授予该工作空间的管理权限,用于创建集群和资源
- 他们不必担心约束或与其他团队相矛盾
- 工作空间的访问权限被锁定到被授予对特定工作空间的访问权限的特定团队成员
集中战略
另一方面,集中式策略允许:
- 更灵活的跨团队沟通和知识共享
- 真理的唯一来源
- 允许锁定工作空间的更多特定组件,以限制资源对所有用户开放
最佳实践
使用E2版本的分布式模型Databricks -一个帐户由管理团队维护,而每个团队利用Databricks与两个工作空间:生产和开发个性化的工作流程。
E2 vs.非E2(单租户)
E2版本的Databricks平台(于2020年9月发布)使AWSbob体育客户端下载上的Databricks平台更加安全、可扩展且更易于管理。E2的体系结构提供:
Multi-workspace账户
为每个帐户创建多个工作区帐户API.工作空间由单个帐户连接,因此所有的工作空间配置都可以由一个中央团队管理,同时允许每个工作空间的各个团队拥有更多的管理权限。可以设置退款并将其分发到每个单独的工作空间(团队),并且仍然可以在Account API的聚合视图中看到。
Customer-managed vpc
在您自己的VPC中创建Databricks工作空间,而不是使用Databricks在您的AWS帐户中创建和配置的单个AWS VPC中创建集群的默认架构。
云平台bob体育客户端下载
标签应该在所有团队中保持一致和适用,并由管理团队强制执行,以确保资源成本和分析能够正确分配。以下是团队为准备此实现必须解决的一些常见问题。
- 是否有要实现的企业标签模式?
- 是否有特定于Databricks的标记模式要实现?
- 是否有特定于我们正在操作的Databricks工作空间的标记模式?
- 我们的数据团队是否有特定的标记模式?
你可以在砖的文档.
外部Apache Hive亚稳态
Databricks工作区本机集成了一个Hive metastore,用于跟踪模式、位置和有关远程存储在云中数据的额外元数据。客户面临的一个挑战是在整个企业中维护这些数据资产的一致愿景,因为每个工作空间都有自己的定义。
根据您组织的目标,可以考虑滚动自己的外部Hive metastore,因为这将允许企业在Databricks工作区之间共享公共元数据存储库。
然而,Databricks并没有正式支持这种配置,因此客户端需要承担操作和维护支持Hive metastore的RDBMS的风险。这也带来了在云环境中永久运行RDBMS实例的额外成本,并确保您的企业网络
策略允许对该资源的集中访问。
Databricks还可以作为metastore与AWS Glue集成。
你可以了解更多BOB低频彩Databricks目录页面.
云提供商- AWS
AWS帐户
管理
选择AWS作为您的云提供商时,您首先需要的是一个AWS帐户。Databricks将在您的AWS帐户中创建资产,当您使用Databricks Web应用程序时,所有Spark/SQL命令将从Databricks“控制平面”发送到您的AWS帐户中的资产,即“数据平面”。
企业在帐户管理方面有不同的需求,一些企业将使用相同的AWS帐户,而一些组织将根据业务需求使用不同的AWS帐户。将Databricks工作空间隔离到不同的AWS帐户中可以实现更大的责任隔离,但在尝试在AWS帐户之间工作时增加了操作开销。
根据所提供的帐户,某些资源是有限的(例如,有一个与AWS帐户相关联的可用AWS Glue数据目录)。检查这些限制,考虑用于创建云基础设施的企业标准和控制,并确保Databricks配置策略是一致的,这对于企业成功采用至关重要。
砖
账户管理
创建Databricks工作空间时,将您的AWS帐户与您的Databricks帐户使用Accounts API。帐户admin是整个企业中运行的所有Databricks工作空间的单一来源。帐户管理可以委托给云管理员或Databricks管理员,具体取决于企业中的角色/职责。为您的企业使用单个Databricks帐户是首选的最佳实践,这样您就可以全面地查看与在单个位置使用Databricks相关的成本,而不必从几个不同的帐户中将这些信息拼凑在一起。
砖
cross-account作用
Databricks需要访问AWS帐户中的跨帐户服务IAM角色,以便Databricks可以在新的工作空间的适当VPC中部署集群。Databricks帐户API支持多个凭据,因此很容易配置跨帐号角色对于每个工作空间,这允许更大的灵活性和可审计性向前发展。有些客户选择对所有Databricks工作空间只使用一个跨帐户角色,以简化工作空间的创建,这是另一种完全可以接受的解决方案。
AWS根桶
帐户中的根存储S3桶需要存储集群日志、笔记本修订和作业结果等对象。您还可以使用根存储S3桶存储非生产数据,例如测试所需的数据。您可以在一个帐户中与多个工作区共享根S3桶。您不必为每个工作区创建新的。如果一个帐户中的多个工作空间共用一个S3根桶,则S3根桶中的数据将按工作空间划分到不同的目录中。一些企业更喜欢通过为每个工作空间创建一个专用桶来完全分离每个工作空间的操作,而其他企业更喜欢在所有工作空间中合并和管理单个S3桶。推荐的最佳实践是将S3存储桶放在与工作空间相同的AWS区域中,因此如果您的企业倾向于集中基础设施,建议为每个AWS区域使用集中式S3存储桶,而不是在不同的区域中配置存储。
AWS网络
安全
Databricks-managed VPC
默认情况下,Databricks在您的AWS帐户中为每个工作空间创建一个VPC。Databricks使用它在工作空间中运行集群。在创建工作空间的过程中,创建VPC时,VPC的生命周期与工作空间的生命周期紧密相连。这可能是需要的,因为网络基础设施将作为删除工作区的一部分自行清理。但是,对于有特定网络需求的客户,或者希望在Databricks VPC内共享服务的客户来说,这可能不理想。
Customer-managed VPC
您也可以使用自己的VPC作为工作空间,使用“客户管理VPC”特性。Databricks建议您提供自己的VPC,以便您可以根据组织的企业云标准配置它,同时仍然符合Databricks的要求。不能将已有的工作空间迁移到自己的VPC中。
还有更多文档可在此处获取
AWS数据安全性
Databricks支持访问控制列表一直到存储层。Databricks可以利用其平台中最先进的AWS安全服务来利用其云主干。bob体育客户端下载通过SSO将您现有的AWS数据访问角色与您的身份提供者联合起来,以简化管理用户及其对数据湖的安全访问。Databricks还可以利用AWS CloudTrail和CloudWatch的强大功能,跨部署帐户和您配置的任何其他帐户提供数据访问信息。
IAM实例配置文件
IAM角色是一个带有权限策略的AWS身份,该身份可以在AWS中做什么,不可以做什么。实例概要文件是IAM角色的容器,您可以使用它在实例启动时将角色信息传递给EC2实例。
为了安全地访问AWS资源,您可以使用实例配置文件启动Databricks集群,允许您从Databricks集群访问数据,而无需在笔记本电脑中嵌入AWS密钥。这篇文章说明如何建立实例概要文件,并在Databricks中使用它们安全地访问S3桶。
使用凭据传递
IAM凭据直通允许您使用登录Databricks时使用的身份自动从Databricks集群验证到S3桶。当您为集群启用IAM凭据传递时,您在该集群上运行的命令可以使用您的身份读写S3中的数据。与使用实例概要文件保护对S3桶的访问相比,IAM凭据传递有两个关键好处:
- IAM证书直通功能允许多个具有不同数据访问策略的用户共享一个Databricks集群访问S3中的数据,同时保证数据的安全性。一个实例配置文件只能关联一个IAM角色。这要求Databricks集群上的所有用户共享该角色和该角色的数据访问策略。
- IAM证书直通功能将用户与某个身份关联起来。这反过来支持通过CloudTrail记录S3对象。所有S3访问都通过CloudTrail日志中的ARN直接绑定到用户。
在AWS中,由于上面列出的原因,利用凭据传递是访问数据的首选身份验证/授权方法。但是,凭据传递确实有已知的限制,这些限制在下面的文档部分中列出。使用凭据传递的解决方法是直接使用实例概要文件,而不是配置元实例概要文件,然后假设角色。然而,不幸的是,这不会将用户的标识传播到底层AWS基础设施,因此建议仅在遇到其中一种情况时使用此方法记录的局限性。
欲了解更多信息,请阅读交付和访问计费使用日志和使用审计日志监视Databricks工作区。