我们的邮箱地址:

stopped@126.com

致电我们:

13659630032

案例中心

  • Home
  • 在 AWS Glue 中,通过安全的连接模式解锁可扩展分析,以便从 Snowflake 读取或写入数

在 AWS Glue 中,通过安全的连接模式解锁可扩展分析,以便从 Snowflake 读取或写入数

2026-01-27 13:31:34 24

在 AWS Glue 中利用安全连结模式解锁可扩展的数据分析

作者:Caio Montovani、Kamen Sharlandjiev、Bosco Albuquerque、Kartikay Khator、Navnit Shukla,发表于2024年8月19日

文章要点

数据驱动的环境中,整合多元数据源对于洞察力和创新至关重要AWS Glue 作为数据整合服务,使企业能够有效地统合来自多个来源的数据借由安全的连接模式,企业可以在数据整合策略中利用 Snowflake 数据借助该架构,企业可以促进数据隐私和安全,同时提高分析能力

在今天的数据驱动的世界中,无缝整合和利用多元数据源的能力对于获取可行的洞察和推动创新至关重要。随著组织越来越依赖存储在不同平台上的数据,如 Snowflake、Amazon S3 和各种 SaaS 应用,将这些分散的数据源整合在一起的挑战变得愈发紧迫。

AWS Glue 是一个强大的数据整合服务,帮助企业汇聚来自不同来源的数据,使其能够充分发挥数据资产的潜能。使用 AWS Glue 整合来自 Snowflake、Amazon S3 和 SaaS 应用的数据,组织可以在 生成式人工智慧、机器学习、商业智能 和自助式分析等领域铸造新机会,或将数据提供给底层应用。

在本文中,我们将探讨 AWS Glue 如何作为数据整合服务,将数据从 Snowflake 转到 Amazon S3 的整合策略,让您可以利用数据生态系统的力量,为各种用例带来有意义的成果。

用例

考虑一家大型电子商务公司,其依赖数据驱动的洞察来优化其运营、行销策略和顾客体验。该公司将大量的交易数据、顾客信息和产品目录储存于 Snowflake。然而,他们还从各种其他来源如存储在 Amazon S3 的网络日志、社交媒体平台和第三方数据提供者生成和收集数据。为了全面了解业务并作出明智的决策,该公司需要无缝整合和分析来自所有这些来源的数据。

电子商务公司的一项关键商业需求是生成一份详细分析价格和折扣策略的《价格摘要报告》。这份报告对于理解收入流、识别优化机会、以及进行数据驱动的定价和促销决策至关重要。在生成并存储《价格摘要报告》于 Amazon S3 之后,该公司可以利用 AWS 数据分析服务来生成互动式商业智能仪表板并对报告进行查询。这使得商业分析师和决策者能够获得有价值的见解,视觉化关键指标,并深入探索数据,从而帮助决策和策略规划。

解决方案概述

以下架构图示范了使用 AWS Glue 中的本地 Snowflake 连接器,将 Snowflake 数据与 Amazon S3 整合的安全有效解决方案。此设置利用 AWS PrivateLink 提供在不同虚拟私有云VPC间的安全连接,消除了将数据暴露于公共互联网的需要,这对于企业来说至关重要。

以下是整合过程中的一些关键组件和步骤:

使用 PrivateLink 在您的 AWS 帐户与 Snowflake 帐户之间建立安全的私有连接。这需要在 AWS 和 Snowflake 的 VPC 中创建 VPC 端点,确保数据传输保持在 AWS 网络内。利用 Amazon Route 53 创建一个私有的 hosted zone,以解析 VPC 中的 Snowflake 端点。这使得 AWS Glue 任务可以使用私有 DNS 名称连接到 Snowflake,保持数据传输的安全性和完整性。创建一个 AWS Glue 任务,用于处理从 Snowflake 到 Amazon S3 的提取、转换和加载ETL过程。AWS Glue 任务使用由 VPC 端点建立的安全连接访问 Snowflake 数据。Snowflake 凭证安全地存储在 AWS Secrets Manager 中。AWS Glue 任务在运行时检索这些凭证以进行身份验证并连接到 Snowflake,提供安全的访问管理。VPC 端点使您能够安全地与此服务进行通讯,而不需 traversing 公共互联网,提升安全性和性能。将提取和转换后的数据存储在 Amazon S3 中。将数据组织为适当的结构,例如分区文件夹,以优化查询性能和数据管理。我们使用启用 VPC 端点的配置,安全地与该服务进行通讯,而不经过公共互联网,从而增强安全性和性能。我们还利用 Amazon S3 存储 AWS Glue 脚本、日志以及在 ETL 过程中生成的临时数据。

这一方法提供了以下好处:

安易加速器安卓提高安全性:通过使用 PrivateLink 和 VPC 端点,Snowflake 和 Amazon S3 之间的数据传输在 AWS 网络中是安全的,减少了暴露于潜在安全威胁的风险。高效的数据整合:AWS Glue 简化了 ETL 过程,提供了一个可扩展且灵活的数据整合解决方案,将 Snowflake 与 Amazon S3 整合。成本效益:借助 Amazon S3 的数据存储,加上 AWS Glue 按需计费的定价模式,有助于优化与数据管理和整合相关的成本。可扩展和灵活:该架构支持可扩展的数据传输,并可根据需要扩展以整合其他数据来源和目的地。

通过遵循此架构并利用 AWS Glue、PrivateLink 和相关 AWS 服务的能力,组织可以实现强大、安全和高效的数据整合解决方案,使他们能够发挥 Snowflake 和 Amazon S3 数据的全部潜力,以进行高级分析和商业智能。

前置条件

在设置解决方案之前,请完成以下前置条件:

确认您拥有 AWS 帐户的访问权限,有必要的权限来在 Route 53、Amazon S3、AWS Glue、Secrets Manager 和 Amazon 虚拟私有云 (Amazon VPC) 等服务中配置资源,并使用 AWS CloudFormation 将基础设施视为代码进行建模、供应和管理。确认您拥有访问 Snowflake 的权限,并在 AWS 上具有设置 PrivateLink 的必要权限。参考 Snowflake 文档中的 启用 AWS PrivateLink 以确认步骤、必要的访问级别和服务级别以设置配置。启用 PrivateLink 之后,请保存 Snowflake 提供的以下参数的值,在本篇文章的下一步中使用:privatelinkvpceidprivatelinkaccounturlprivatelinkocspurlregionlesssnowsightprivatelinkurl确保您拥有一个 Snowflake 用户 snowflakeUser 及密码 snowflakePassword,该用户具有从 Snowflake 读写的所需权限。这些用户和密码将用于 AWS Glue 连接中进行身份验证。如果您的 Snowflake 用户没有设置默认工作仓库,您将需要一个工作仓库的名称。我们使用 snowflakeWarehouse 作为工作仓库名称的占位符;请将其替换为您的实际工作仓库名称。如果您对 Snowflake 是新手,建议您完成 20 分钟内熟悉 Snowflake。完成该教程后,您应该知道如何创建所需的 Snowflake 对象,包括工作仓库、数据库和表以存储和查询数据。

使用 AWS CloudFormation 创建资源

本文提供一个 CloudFormation 模板 以便快速设置基础资源。您可以根据需要进行查看和自订。该 CloudFormation 模板会产生以下资源:

资源类型名称VPCvpcbloggluesnowflake子网一个公共子网和三个私有子网路由表明确与子网关联的路由表安全组用于配置 Secrets Manager、Amazon S3 和 Snowflake 的端点,以及 AWS Glue 连接Secrets Manager、Amazon S3 和 Snowflake 的端点Route 53 hosted zoneDNS 记录的容器Route 53 记录集路由流量到 Snowflake 端点S3 BucketbloggluesnowflakeAWS 身份与访问管理 (IAM) 角色bloggluesnowflakeGlueServiceRoleAWS Glue 数据库dbbloggluesnowflakeAmazon Athena 工作组blogworkgroup

请按照以下步骤创建您的资源:

登入 AWS CloudFormation 控制台。选择 启动堆叠 以启动 CloudFormation 堆叠。提供 CloudFormation 堆叠参数:对于 PrivateLinkAccountURL ,输入前置条件中获得的 privatelinkaccounturl 参数的值。对于 PrivateLinkOcspURL ,输入前置条件中获得的 privatelinkocspurl 参数的值。对于 PrivateLinkVpceId ,输入前置条件中获得的 privatelinkvpceid 参数的值。对于 PrivateSubnet1CIDR ,输入您的私有子网 1 的 IP 地址。对于 PrivateSubnet2CIDR ,输入您的私有子网 2 的 IP 地址。对于 PrivateSubnet3CIDR ,输入您的私有子网 3 的 IP 地址。对于 PublicSubnet1CIDR ,输入您的公共子网 1 的 IP 地址。对于 RegionlessSnowsightPrivateLinkURL ,输入前置条件中获得的 regionlesssnowsightprivatelinkurl 参数的值。对于 VpcCIDR ,输入您的 VPC 的 IP 地址。选择 下一步。选择 我确认 AWS CloudFormation 可能会创建 IAM 资源。选择 提交,并等待堆叠创建步骤完成。

在 CloudFormation 堆叠成功创建后,您可以在 资源 标签中查看所有创建的资源。

前往 输出 标签以查看 CloudFormation 堆叠提供的输出。请保存 GlueSecurityGroupId、VpcId 和 PrivateSubnet1Id 的值,以供在本篇文章的下一步中使用。

更新 Secrets Manager 秘密以配置 Snowflake 资讯

要便于 AWS Glue 连接 Snowflake 并更新 Secrets Manager 秘密中的用户 snowflakeUser、密码 snowflakePassword 和工作仓库 snowflakeWarehouse,请完成以下步骤:

在 Secrets Manager 控制台中,从导航窗格中选择 Secrets。打开秘密 bloggluesnowflakecredentials。在 Secret value 下,选择 检索秘密值。

选择 编辑。为键 sfUser 输入用户名 snowflakeUser,为键 sfPassword 输入密码 snowflakePassword,为键 sfWarehouse 输入工作仓库 snowflakeWarehouse 。选择 保存。

创建 AWS Glue 连接到 Snowflake

AWS Glue 连接是一个 AWS Glue 数据目录对象,用于存储登录凭证、URI 字串、VPC 信息等。AWS Glue 爬虫、任务和开发端点使用连接来访问某些类型的数据存储。要创建一个 AWS Glue 连接到 Snowflake,请完成以下步骤:

在 AWS Glue 控制台中,在导航窗格下的 数据目录 中选择 连接。选择 创建连接。在 数据来源 中,搜索并选择 Snowflake。选择 下一步。

在 AWS Glue 中,通过安全的连接模式解锁可扩展分析,以便从 Snowflake 读取或写入数在 Snowflake URL 中,输入 https//ltprivatelinkaccounturlgt。根据前置条件获得的参数获取 Snowflake PrivateLink 帐户 URL。在 AWS Secret 中,选择秘密 bloggluesnowflakecredentials。在 VPC 中,选择从 CloudFormation 堆叠输出获得的 VpcId 值。在 子网 中,选择从 CloudFormation 堆叠输出获得的 PrivateSubnet1Id 值。在 安全组 中,选择从 CloudFormation 堆叠输出获得的 GlueSecurityGroupId 值。选择 下一步。

![连接设置](https//d2908q01vomqb2cloudfrontnet/b6692ea5df920cad691c20319a6fffd7a

发表评论