亚马逊QuickSight 是为云构建的可扩展、无服务器、可嵌入、机器学习驱动的商业智能 (BI) 服务。 QuickSight 可让您轻松创建和发布交互式 BI 仪表板,其中包含机器学习驱动的洞察力。 QuickSight 仪表板可以从任何设备访问,并无缝嵌入到您的应用程序、门户和网站中。
QuickSight 提供了多种数据来源,包括但不限于 亚马逊雅典娜, 亚马逊Redshift, 亚马逊简单存储服务 (亚马逊 S3)和雪花。 这篇博文提供了一些解决方案,使您能够将 Snowflake 设置为 QuickSight 的数据源,而不管您的网络配置要求如何。
我们介绍了 Snowflake 的以下配置作为 QuickSight 的数据源:
- QuickSight 通过 AWS PrivateLink 连接到 Snowflake
- QuickSight 通过 AWS PrivateLink 和 Virtual Private Cloud (VPC) 对等连接到 Snowflake(同一区域)
- QuickSight 通过 AWS PrivateLink 和 VPC 对等连接到 Snowflake(跨区域)
- QuickSight 连接到 Snowflake(公共网络)
先决条件
要完成此解决方案,您需要具备以下条件:
- 一个AWS账户
- AWS命令行界面 (AWS CLI) 安装在您的工作站上(有关说明,请参阅 (安装、更新和卸载 AWS CLI 版本 2)
- 企业版 QuickSight 帐户
- 一个雪花账户
- 雪花数据库和表
- 雪花仓库
- 充足 AWS身份和访问管理 (IAM) 创建 VPC 终端节点、安全组、路由表和 亚马逊路线53 托管区域和资源记录集
QuickSight 通过 AWS PrivateLink 连接到 Snowflake
首先,我们向您展示如何使用 QuickSight 通过 AWS PrivateLink 连接到 Snowflake。 下图说明了解决方案架构。
设置 Snowflake AWS PrivateLink 集成
首先,我们将介绍为您的 Snowflake 账户启用 AWS PrivateLink。 这包括在您的 AWS 账户中查找资源、访问 Snowflake UI 以及使用 Snowflake 创建支持案例。
- 确定要用于设置 AWS PrivateLink 集成的 VPC。 为此,请从命令行检索 VPC 列表,然后检索
VpcId
来自所需 VPC 的结果 JSON 对象的元素。 请参阅以下代码:
- 检索您的 AWS 账户 ID。 这篇博文假设您的目标账户是 AWS CLI 配置中的默认账户。
- 如果您要设置多个账户,请对所有账户和 VPC 重复这些步骤(本文假设您正在设置单个账户和 VPC,并将使用它作为前进的上下文)。
- 联系我们
雪花支持 使用您的 AWS 账户 ID、VPC ID 以及用于访问 Snowflake 的相应账户 URL(例如,
<account id>.snowflakecomputing.com
).
启用 AWS PrivateLink 您的 Snowflake 帐户最多可能需要两个工作日。
- 启用 AWS PrivateLink 后,通过在 Snowflake 工作表中运行以下命令来检索您所在区域的 AWS PrivateLink 配置,然后检索以下各项的值
privatelink-account-url
和privatelink_ocsp-url
来自生成的 JSON 对象。 每个值的示例如下:
- 将这些值存储在文本编辑器中以备后用。
接下来,我们在网络上配置 VPC 端点 亚马逊虚拟私有云 (Amazon VPC) 控制台创建所有必需的安全组。
- 在Amazon VPC控制台上,选择 端点 在导航菜单中。
- 创建端点.
- 选择 按名称查找 AWS 服务.
- 针对 服务名称,输入
privatelink-vpce-id
我们之前检索到的。 - 确认.
出现带有“找到服务名称”的绿色警报,并且 VPC 和子网选项会自动展开。
根据您的目标区域,您的结果屏幕可能会显示另一个区域名称。
- 选择您发送给 Snowflake 的相同 VPC ID。
- 选择要在其中创建端点的子网。
AWS 建议使用多个子网以实现高可用性。
- 针对 安全组,选择 创建新的安全组.
这打开了 安全组 Amazon VPC 控制台上的新选项卡中的页面。
- 创建安全组.
- 为您的新安全组命名(例如,
quicksight-doc-snowflake-privatelink-connection
) 和说明。 - 选择您在之前的步骤中使用的 VPC ID。
接下来,您添加两个规则,以允许从您的 VPC 内的流量到此 VPC 终端节点。
- 检索目标 VPC 的 CIDR 块:
- 添加规则 ,在 入境规则
- HTTPS 对于类型,将源保留为 定制版, 并输入从前面检索到的值
describe-vpcs
呼叫(例如,10.0.0.0/16)。 - 添加规则 ,在 入境规则
- HTTP 对于类型,将源保留为 定制版, 并输入从前面检索到的值
describe-vpcs
- 创建安全组.
- 从新创建的安全组中检索安全组 ID。
- 在 VPC 终端节点配置页面,移除默认安全组。
- 搜索并选择新的安全组 ID。
- 创建端点.
您将被重定向到一个页面,该页面包含指向您的 VPC 终端节点配置的链接,由 VPC ID 指定。 下一页有一个链接可以查看完整的配置。
- 检索 DNS 名称列表中的最顶部记录。
这可以与其他 DNS 名称区分开来,因为它只包含区域名称(例如 us-west-2
),并且没有可用区字母符号(例如 us-west-2a
).
- 将此记录存储在文本编辑器中以备后用。
在您的 VPC 中为 Snowflake 终端节点配置 DNS
要配置您的 Snowflake 端点,请完成以下步骤:
- 在 Route 53 控制台上,选择 托管区域 在导航窗格中。
- 创建托管区域.
- 针对 域名,输入您存储的值
privatelink-account-url
从前面的步骤。
在此字段中,我们从 DNS 名称中删除 Snowflake 帐户 ID,仅使用以区域标识符开头的值(例如, <region>.privatelink.snowflakecomputing.com
)。 我们稍后为子域创建资源记录集。
- 针对 Type, 选择 私人托管区.
您的地区代码可能不是 us-west-2
; 引用 Snowflake 返回给您的 DNS 名称。
- 在 与托管区域关联的 VPC 部分,选择您的 VPC 所在的区域和之前步骤中使用的 VPC ID。
- 创建托管区域.
接下来。 我们创建了两个记录:一个用于 privatelink-account-url
和一个用于 privatelink_ocsp-url
.
- 点击 托管区域 页面,选择 创建记录集.
- 针对 记录名称, 输入您的 Snowflake 帐户 ID(中的前八个字符
privatelink-account-url
). - 针对 记录类型,选择 CNAME.
- 针对 值,输入我们在上一节中检索到的区域 VPC 终端节点的 DNS 名称。
- 创建记录.
- 对我们标记为的 OCSP 记录重复这些步骤
privatelink-ocsp-url
早些时候,从ocsp
通过记录名称的八字符雪花 ID(例如,ocsp.xxxxxxxx
).
为您的 VPC 配置 Route 53 解析器入站终端节点
QuickSight 不使用标准的 AWS 解析器(VPC 的 .2 解析器)。 要从 QuickSight 解析私有 DNS,您需要设置 Route 53 解析器端点。
首先,我们为 Route 53 解析器入站终端节点创建一个安全组。
- 点击 安全组 在 Amazon VPC 控制台的页面,选择 创建安全组.
- 输入安全组的名称(例如,
quicksight-doc-route53-resolver-sg
) 和说明。 - 选择前面步骤中使用的 VPC ID。
- 创建允许从 VPC CIDR 块内通过 UDP 和 TCP 使用 DNS(端口 53)的规则。
- 创建安全组.
- 请注意安全组 ID,因为我们现在添加了一条规则以允许流量流向 VPC 终端节点安全组。
现在我们为我们的 VPC 创建 Route 53 解析器入站终端节点。
- 在 Route 53 控制台上,选择 入站端点 在导航窗格中。
- 创建入站端点.
- 针对 端点名称,输入名称(例如,
quicksight-inbound-resolver
). - 针对 区域内的 VPC,选择前面步骤中使用的 VPC ID。
- 针对 端点的安全组,选择您之前保存的安全组 ID。
- 在 IP地址 部分,选择两个可用区和子网,然后离开 使用自动选择的 IP 地址 选择。
- 提交.
- 在创建后选择入站端点,并记下解析器的两个 IP 地址。
将 VPC 连接到 QuickSight
要将 VPC 连接到 QuickSight,请完成以下步骤:
- 点击 安全组 在 Amazon VPC 控制台的页面,选择 创建安全组.
- 输入名称(例如,
quicksight-snowflake-privatelink-sg
) 和说明。 - 选择前面步骤中使用的 VPC ID。
QuickSight 的安全组与其他安全组的不同之处在于它们是无状态的,而不是有状态的。 这意味着您必须明确允许来自目标安全组的返回流量。 安全组中的入站规则必须允许所有端口上的流量。 它需要这样做是因为任何入站返回数据包的目标端口号都设置为随机分配的端口号。 有关更多信息,请参阅 入境规则.
- 创建安全组.
- 记下安全组 ID,因为我们现在添加了一条规则以允许流量流向 VPC 终端节点安全组。
- 点击 安全组 页面,搜索用于 VPC 终端节点的安全组 ID。
- 编辑入站规则.
- 使用您创建的安全组的安全组 ID 作为源,为 HTTPS 和 HTTP 流量添加规则。
- 保存规则.
接下来,我们转到 QuickSight 控制台来配置 VPC 连接。
- 导航到 QuickSight 控制台。
- 选择用户名并选择 管理QuickSight.
- 在导航窗格中,选择 管理 VPC 连接.
- 添加 VPC 连接.
- 针对 VPC 连接名称,输入名称(例如,
snowflake-privatelink
). - 针对 专有网络 ID,选择前面步骤中使用的 VPC。
- 针对 子网 ID,选择具有 VPC 终端节点的子网之一,如您之前创建终端节点时指定的那样。
- 针对 安全组 ID, 输入您创建的安全组的 ID。
- 针对 DNS 解析器端点,输入您之前创建的入站解析器端点的两个 IP。
- 创建.
通过 VPC 设置雪花数据源
要设置 Snowflake 数据源,请完成以下步骤。
- 在QuickSight控制台上,选择 数据集 在导航页面。
- 新数据集.
- 选择雪花选项。
- 针对 资料来源名称,输入名称(例如,
snowflake
). - 针对 连接类型¸ 选择您之前创建的 VPC 连接 (
snowflake-privatelink
). - 针对 数据库服务器,输入
privatelink-account-url
. - 针对 数据库名称, 输入数据库的名称。
- 针对 仓库保管, 输入正在运行的 Snowflake 仓库的名称。
- 针对 用户名,输入您的雪花用户名。
- 针对 密码,输入您的雪花密码。
- 验证.
- 验证成功后,选择 创建数据源.
创建您的第一个 QuickSight 仪表板
在本节中,我们将介绍在 QuickSight 中创建数据集,然后在可视化中使用该数据。 我们正在使用一个包含虚构员工信息的虚拟数据集。
- 针对 架构,选择您的架构。
- 针对 表,选择您的表。
- 选择.
在 完成数据集创建 部分,您可以确定 QuickSight 是将您的数据集导入 SPICE 以提高查询性能还是在每次加载仪表板时直接查询您的数据。 有关 SPICE 的更多信息,请参阅 将数据导入 SPICE.
- 对于这篇文章,我们选择 导入 SPICE 以加快分析速度.
- 可视化.
现在我们有了数据集的架构、表和 SPICE 配置,我们可以创建我们的第一个可视化。
- 从可用字段列表中选择一个字段。 对于这篇文章,我们选择 城市.
- 在视图中选择一个可视化 视觉类型
这只是触及 QuickSight 可视化功能的皮毛。 有关更多信息,请参阅 使用 Amazon QuickSight 视觉对象.
接下来,我们将介绍一种网络配置,该配置允许 QuickSight 连接到另一个 VPC 中的一个带有 AWS PrivateLink 的 VPC,并使用 VPC 对等连接来允许 QuickSight 使用 AWS PrivateLink 连接。
QuickSight 通过同一区域内的 AWS PrivateLink 和 VPC 对等连接到 Snowflake
在本节中,我们将向您展示如何使用 QuickSight 连接到 Snowflake,其中两个 VPC 对等互连和 AWS PrivateLink。 下图说明了解决方案架构。
设置 VPC 对等互连
首先,我们从发出请求的 VPC 创建 VPC 对等连接。
- 点击 对等连接 在 Amazon VPC 控制台的页面,选择 创建对等连接.
- 针对 选择要与之对等的本地 VPC,选择您在其中配置 Snowflake AWS PrivateLink 连接的 VPC。
- 在 选择另一个 VPC 进行对等连接 部分,保留默认选项 账号管理 和 区域 (我的账户 和 本地区, 分别)。
- 针对 VPC(接受者),选择 QuickSight 连接到的 VPC。
- 创建对等连接.
接下来,我们接受来自接受 VPC 的 VPC 连接。
- 点击 对等连接 页面,选择您创建的连接。
- 点击 行动 菜单中选择 接受.
- 查看有关请求的信息。 如果一切看起来都正确,请选择 是的,接受.
接下来,我们配置 DNS 以在两个 VPC 之间进行解析。
- 点击 对等连接 页,选择新的对等连接。
- 点击 DNS 选项卡,检查两个选项是否显示为 残疾人.
如果它们已启用,您可以跳到创建路由表的步骤。
- 点击 行动 菜单中选择 编辑 DNS 设置.
这需要您的 VPC 启用 DNS 主机名和解析。
- 选中这两个复选框以允许 DNS 从接受者和请求者 VPC 解析。
- 保存.
接下来,创建路由表条目以允许路由在两个 VPC 之间传播。
- 点击 路由表 页面,选择请求 VPC 中的路由表。
- 点击 路线 标签,选择 编辑路线.
- 为对等 VPC 使用的 CIDR 块添加路由(对于本博文,为 172.31.0.0/16)。
- 保存路线.
- 对接受方 VPC 中的路由表重复此操作。
在接受方 VPC 中配置 DNS
在本节中,我们将与请求方 VPC 具有相同私有托管区域的接受方 VPC (<region>.privatelink.snowflakecomputing.com
).
- 在 Route 53 控制台上,选择 托管区域 在导航窗格中。
- 选择托管区域
<region>.privatelink.snowflakecomputing.com
并选择 编辑. - 在 与托管区域关联的 VPC 部分中,选择 添加专有网络.
- 选择与接受方 VPC 关联的区域和 VPC ID。
- 保存更改.
在接受方 VPC 中配置 Route 53 解析器入站终端节点
要配置您的 Route 53 解析器入站终端节点,请完成以下步骤:
- 点击 安全组 在 Amazon VPC 控制台的页面,选择 创建安全组.
- 输入名称(例如,
quicksight-doc-route53-resolver-sg
) 和说明。 - 选择前面步骤中使用的 VPC ID。
- 创建规则,允许从 VPC CIDR 块内通过 UDP 和 TCP 进行 DNS(端口 53)(对于本博文,172.31.0.0/16)。
- 创建安全组.
- 记下安全组 ID,因为我们现在添加了一条规则以允许流量流向 VPC 终端节点安全组。
接下来,我们为此 VPC 设置 Route 53 入站终端节点。
- 在 Route 53 控制台上,选择 入站端点 在导航窗格中。
- 创建入站端点.
- 输入端点的名称(例如,
quicksight-inbound-resolver
). - 针对 区域内的 VPC,为接受方 VPC 选择 VPC ID。
- 针对 安全组,选择您之前保存的安全组 ID。
- 在 IP地址 部分,选择两个可用区和子网,然后离开 使用自动选择的 IP 地址
- 提交.
- 创建后选择入站端点。
- 配置入站端点后,记下解析器的两个 IP 地址。
将接受方 VPC 连接到 QuickSight
首先,我们需要为 QuickSight 创建一个安全组,以允许流向 Route 53 解析器入站终端节点的流量、AWS PrivateLink 的 VPC 终端节点以及本地网络内的流量。
- 点击 安全组 在 Amazon VPC 控制台的页面,选择 创建安全组.
- 输入名称(例如,
quicksight-snowflake-privatelink-vpc-peering-sg
) 和说明。 - 为接受方 VPC 选择 VPC ID。
- 创建以下入口规则:
-
- 适用于所有 TCP 端口(例如,172.31.0.0/16)的本地网络的一项规则。
- 一项规则允许来自所有 TCP 端口的 Route 53 解析器入站终端节点的安全组的 DNS 流量。
- 一项规则允许来自所有 UDP 端口的 Route 53 解析器入站终端节点的安全组的 DNS 流量。
- 允许流量到 VPC 终端节点(位于对等 VPC 中)的安全组的一项规则。
如前所述,QuickSight 的安全组不同于其他安全组。 您必须明确允许来自目标安全组的返回流量,并且安全组中的入站规则必须允许所有端口上的流量。 有关更多信息,请参阅 入境规则.
接下来,我们修改 Route 53 解析器入站终端节点的安全组,以允许来自我们创建的安全组的流量。
- 点击 安全组 页面,搜索用于 Route 53 解析器入站终端节点的安全组 ID。
- 编辑入站规则.
- 使用我们为 QuickSight 创建的安全组的安全组 ID 作为源,为 DNS over UDP 和 DNS over TCP 添加规则。
- 保存规则.
接下来,修改为 AWS PrivateLink 连接的 VPC 终端节点创建的安全组。
- 点击 安全组 页面,搜索用于 AWS PrivateLink 连接的 VPC 终端节点的安全组 ID。
- 编辑入站规则.
- 为 HTTPS 和 HTTP 添加规则,使用为 QuickSight 创建的安全组的安全组 ID 作为源。
- 保存规则.
接下来,我们在 QuickSight 中设置 VPC 连接。
- 在 QuickSight 控制台上,选择用户名并选择 管理QuickSight.
- 在导航窗格中,选择 管理 VPC 连接.
- 添加 VPC 连接.
- 针对 VPC 连接名称¸ 输入名称(例如,
snowflake-privatelink-vpc-peering
). - 针对 子网路,选择具有路由表的子网 ID,该路由表与 AWS PrivateLink 连接所在的请求方 VPC 建立对等连接。
- 针对 安全组 ID,输入之前创建的安全组的ID。
- 针对 DNS 解析器端点,为您创建的入站解析器端点输入两个 IP。
- 创建.
通过 VPC 在 QuickSight 中设置雪花数据源
要在 QuickSight 中设置雪花数据源,请完成以下步骤:
- 在QuickSight控制台上,选择 数据集 在导航窗格中。
- 新数据集.
- 选择雪花选项。
- 输入数据源名称(例如,
snowflake-dataset
). - 选择您创建的 VPC 连接 (
snowflake-privatelink
). - 针对 数据库服务器, 输入
privatelink-account-url
. - 针对 数据库名称, 输入数据库的名称。
- 针对 仓库保管, 输入正在运行的 Snowflake 仓库的名称。
- 针对 用户名,输入您的雪花用户名。
- 针对 密码,输入您的雪花密码。
- 验证.
- 验证成功后,选择 创建数据源.
有关创建仪表板的步骤,请参阅前面的部分, 创建您的第一个 QuickSight 仪表板.
在下一节中,我们将介绍类似的网络配置,不同之处在于我们使用跨区域 VPC 对等。
QuickSight 通过 AWS PrivateLink 和 VPC 跨区域对等连接到 Snowflake
在本节中,我们将向您展示如何使用 QuickSight 通过 AWS PrivateLink 连接到 Snowflake,其中两个 VPC 跨区域对等互连。
我们在整篇博文中泛指区域,将具有 Snowflake AWS PrivateLink 连接的区域表示为区域 A,将设置 QuickSight 的区域表示为区域 B。
下图说明了我们的解决方案体系结构。
在两个区域之间设置 VPC 对等互连
首先,我们从发出请求的 VPC 创建 VPC 对等连接。
- 导航到 对等连接 区域 B(您计划使用 QuickSight 部署控制面板的区域)中的 Amazon VPC 控制台上的页面。
- 创建对等连接.
- 在 选择要与之对等的本地 VPC 部分,用于 VPC(请求者),选择您已连接或打算连接 QuickSight 的 VPC。
- 针对 选择另一个 VPC 进行对等连接, 选择 我的账户 和 另一个区域.
- 选择您的 Snowflake AWS PrivateLink 连接所在的区域。
- 针对 VPC ID(接受者),输入您的 Snowflake AWS PrivateLink 所在的 VPC 的 VPC ID。
- 创建对等连接.
- 复制 VPC 对等连接 ID,以便我们可以在接下来的步骤中轻松找到它(看起来像
pcx-xxxxxxxxxxxx
).
接下来,我们接受来自您创建 AWS PrivateLink 连接的区域的 VPC 对等连接。
- 导航到区域 A(您的 Snowflake AWS PrivateLink 连接所在的区域)中的 Amazon VPC 控制台。
- 搜索并选择您创建的对等连接。
- 点击 行动 菜单中选择 接受请求.
- 查看有关请求的信息。 如果一切看起来都正确,请选择 是的,接受.
接下来,我们配置 DNS 以在两个 VPC 之间进行解析。
- 点击 对等连接 在 Amazon VPC 控制台的页面上,选择您新创建的 VPC 对等连接。
- 点击 DNS 选项卡,检查两个选项是否显示 残疾人.
如果它们已启用,请跳至创建路由表的步骤。
- 点击 行动 菜单中选择 编辑 DNS 设置.
这需要您的 VPC 启用 DNS 主机名和解析。
- 选中这两个复选框以允许 DNS 从接受者和请求者 VPC 解析。
- 保存.
接下来,我们创建路由表条目以允许路由在区域 B 的两个 VPC 之间传播。
- 导航到区域 B(您计划使用 QuickSight 部署控制面板的区域)中的 Amazon VPC 控制台。
- 在导航窗格中,选择 路由表.
- 选择请求 VPC 中的路由表。
- 点击 路线 标签,选择 编辑路线.
- 为对等 VPC 使用的 CIDR 块添加路由(对于本博文,10.0.0.0/16 是 Snowflake AWS PrivateLink 连接所在的 VPC 的 CIDR 块)。
- 保存路线.
接下来,创建路由表条目以允许路由在区域 A 的两个 VPC 之间传播。
- 导航到区域 A(您的 Snowflake AWS PrivateLink 连接所在的区域)中的 Amazon VPC 控制台。
- 重复前面的步骤,使用对等 VPC 的 CIDR 块(在本博文中为 172.16.0.0/16)。
在 Region B 的 VPC 中配置 DNS
首先,我们需要将区域 B(您部署 QuickSight 的地方)中的 VPC 与区域 A 中您的 Snowflake AWS PrivateLink 连接所在的 VPC 与相同的私有托管区域相关联(<region>.privatelink.snowflakecomputing.com
).
- 在 Route 53 控制台上,选择 托管区域 在导航窗格中。
- 选择私有托管区域
<region>.privatelink.snowflakecomputing.com
并选择 编辑. - 在 与托管区域关联的 VPC 部分中,选择 添加专有网络.
- 选择与接受方 VPC 关联的区域和 VPC ID.
- 保存更改.
为区域 B 中的 VPC 配置 Route 53 解析器入站终端节点
要在区域 B 中配置解析器入站终端节点,请完成以下步骤:
- 点击 安全组 在 Amazon VPC 控制台页面上,选择 创建安全组.
- 输入名称(例如,
quicksight-doc-route53-resolver-sg
) 和说明。 - 选择前面步骤中使用的 VPC ID。
- 创建规则,允许从 VPC CIDR 块内通过 UDP 和 TCP 进行 DNS(端口 53)(对于本博文,172.16.0.0/16)。
- 创建安全组.
- 记下安全组 ID,因为我们现在添加了一条规则以允许流量流向 VPC 终端节点安全组。
接下来,我们为此 VPC 设置 Route 53 入站终端节点。
- 在 Route 53 控制台上,选择 入站端点 在导航窗格中。
- 创建入站端点.
- 输入端点的名称(例如,
quicksight-inbound-resolver
). - 针对 区域内的 VPC,选择前面步骤中使用的 VPC ID。
- 针对 安全组,选择上一步中的安全组 ID。
- 在 IP地址 部分,选择两个可用区和子网,然后离开 使用自动选择的 IP 地址
- 提交.
- 创建后选择入站端点。
- 配置入站端点后,记下解析器的两个 IP 地址。
连接VPC到B区的QuickSight
首先,我们需要为 QuickSight 创建一个安全组,以允许流向 Route 53 解析器入站终端节点的流量、AWS PrivateLink 的 VPC 终端节点以及本地网络内的流量。
- 点击 安全组 在区域 B 中的 Amazon VPC 控制台页面,选择 创建安全组.
- 输入名称(例如,
quicksight-snowflake-sg
) 和说明。 - 为您之前在其中创建 VPC 对等连接的 VPC 选择 VPC ID。
- 创建以下入口规则:
-
- 一个用于本地网络的所有 TCP 端口(例如 172.16.0.0/16)。
- 一项规则允许来自所有 TCP 端口的 Route 53 解析器入站终端节点的安全组的 DNS 流量。
- 一项规则允许来自所有 UDP 端口的 Route 53 解析器入站终端节点的安全组的 DNS 流量。
- 一个允许所有 TCP 端口的流量到位于区域 A 的 VPC 的 CIDR 块,您的 Snowflake AWS PrivateLink 连接存在于该区域(对于本博文,10.0.0.0/16)。
如前所述,QuickSight 的安全组不同于其他安全组。 您必须明确允许来自目标安全组的返回流量,并且安全组中的入站规则必须允许所有端口上的流量。 有关更多信息,请参阅 入境规则.
接下来,我们修改区域 B 中 Route 53 解析器入站终端节点的安全组,以允许来自我们创建的安全组的流量。
- 点击 安全组 页面,搜索用于 Route 53 解析器入站终端节点的安全组 ID。
- 编辑入站规则.
- 使用区域 B 中 VPC 的 CIDR 块为 DNS over UDP 和 DNS over TCP 添加规则(对于本博文,172.16.0.0/16)。
- 保存规则.
接下来,我们需要修改用于 AWS PrivateLink 连接的安全组。
- 导航到 安全组 区域 A 中 Amazon VPC 控制台上的页面。
- 搜索用于 AWS PrivateLink 连接的 VPC 终端节点的安全组 ID。
- 编辑入站规则.
- 添加适用于 HTTPS 和 HTTP 的规则,使用区域 B 中 VPC 的 CIDR 块作为源(对于本博文,172.16.0.0/16)。
- 保存规则.
最后,我们设置了 QuickSight VPC 连接。
- 导航到区域 B 中的 QuickSight 控制台。
- 选择用户名并选择 管理QuickSight.
- 在导航窗格中,选择 管理 VPC 连接.
- 添加 VPC 连接.
- 针对 VPC 连接名称, 输入连接名称(例如,
snowflake-privatelink-cross-region
). - 针对 专有网络 ID,选择区域 B 中 VPC 的 VPC ID。
- 针对 子网路,从区域 B 中的 VPC 中选择一个子网 ID,该 VPC 具有一个路由表,该路由表与 AWS PrivateLink 连接所在的 VPC 建立对等连接。
- 针对 安全组 ID, 输入您创建的安全组的 ID。
- 针对 DNS 解析器端点,为之前创建的入站解析器端点输入两个 IP。
- 创建.
通过 VPC 在 QuickSight 中设置雪花数据源
要在 QuickSight 中设置雪花数据源,请完成以下步骤:
- 在QuickSight控制台上,选择 数据集 在导航窗格中。
- 新数据集.
- 选择雪花选项。
- 输入数据源的名称(例如,
snowflake-dataset
). - 选择您创建的 VPC 连接 (
snowflake-privatelink
). - 针对 数据库服务器, 输入
privatelink-account-url
. - 针对 数据库名称, 输入数据库的名称。
- 针对 仓库保管, 输入正在运行的 Snowflake 仓库的名称。
- 针对 用户名,输入您的雪花用户名。
- 针对 密码,输入您的雪花密码。
- 验证.
- 验证成功后,选择 创建数据源.
有关创建仪表板的步骤,请参阅前面的部分, 创建您的第一个 QuickSight 仪表板.
对于我们的最后一个配置,我们介绍了如何在没有 AWS PrivateLink 的情况下设置与 Snowflake 的 QuickSight 连接。
没有 AWS PrivateLink 的 QuickSight 连接到 Snowflake
在本节中,我们将向您展示如何在不使用 AWS PrivateLink 的情况下使用 QuickSight 连接到 Snowflake。
- 在QuickSight控制台上,选择 数据集 在导航窗格中。
- 新数据集.
- 选择雪花选项。
- 输入数据源名称(例如,
snowflake-dataset
). - 将连接类型保留为 公共网络.
- 针对 数据库名称, 输入数据库的名称。
- 对于您的数据库服务器,输入您用于登录 Snowflake (
xxxxxxxx.snowflakecomputing.com
). - 针对 仓库保管, 输入正在运行的 Snowflake 仓库的名称。
- 针对 用户名,输入您的雪花用户名。
- 针对 密码,输入您的雪花密码。
- 验证.
- 创建数据源.
有关创建仪表板的步骤,请参阅前面的部分, 创建您的第一个 QuickSight 仪表板.
清理
如果您使用 QuickSight、Snowflake 和 PrivateLink 的工作已完成, 删除您的 Route53 解析器入站端点, Route 53 私有主机区,并 VPC 端点 为雪花,以避免产生额外费用。
结论
在这篇博文中,我们介绍了使用 AWS PrivateLink 在三种不同场景中将 QuickSight 作为数据源连接到 Snowflake 作为数据源的四种场景:相同的 VPC、同一区域中的 VPC 对等以及跨区域的 VPC 对等。 我们还介绍了如何在没有 AWS PrivateLink 的情况下将 QuickSight 连接到 Snowflake。
设置数据源后,您可以通过设置从数据中获得更多见解 ML见解 在 QuickSight 中,使用 QuickSight 设置数据的图形表示 视觉效果或 加入 来自多个数据集的数据,以及所有其他 QuickSight 功能。
关于作者
麦克斯韦月亮 是 AWS 的一名高级解决方案架构师,与独立软件供应商 (ISV) 合作设计和扩展他们在 AWS 上的应用程序。 工作之余,麦克斯韦是两只猫的爸爸,是伍尔弗汉普顿流浪足球俱乐部的狂热支持者,正在耐心等待新一波的斯卡音乐。
博斯科阿尔伯克基 是 AWS 的高级合作伙伴解决方案架构师,在使用来自企业数据库供应商和云提供商的数据库和分析产品方面拥有超过 20 年的经验,并帮助大型技术公司设计数据分析解决方案以及领导的工程团队正在设计并实施数据分析平台和数据产品。
- '
- "
- 100
- 11
- 7
- 9
- ACCESS
- 账号管理
- 额外
- 所有类型
- 允许
- Amazon
- 分析
- 应用领域
- 架构
- 可用性
- AWS
- 边界
- 商业
- 商业智能
- 呼叫
- 猫
- 云端技术
- 俱乐部
- 码
- 公司
- 连接
- 连接方式
- 创造
- XNUMX月XNUMX日
- data
- 数据分析
- 数据库
- 设计
- DNS
- 编辑
- 员工
- 端点
- 端点安全
- 工程师
- 企业
- 扩大
- 特征
- 费用
- 字段
- 姓氏:
- 足球
- 向前
- ,
- 绿色
- 团队
- 高
- 创新中心
- How To
- HTTPS
- IAM
- 身分
- 包含
- 信息
- 可行的洞见
- 积分
- 房源搜索
- 互动
- IP
- IP地址
- IT
- 大
- 导致
- 有限
- Line
- 友情链接
- 清单
- 本地
- 移动
- 音乐
- 名称
- 旅游导航
- 网络
- 优惠精选
- 打开
- 附加选项
- 附加选项
- 秩序
- 其他名称
- 合伙人
- 密码
- 性能
- 平台
- 港口
- 私立
- 热销产品
- 国家
- 发布
- 记录
- 岗位要求
- 资源
- 资源
- 路线
- 定位、竞价/采购和分析/优化数字媒体采购,但算法只不过是解决问题的操作和规则。
- 运行
- 鳞片
- 屏风
- 搜索
- 保安
- 选
- 无服务器
- 集
- 设置
- 简易
- So
- 软件
- 解决方案
- 开始
- 存储
- 子
- 成功
- SUPPORT
- 磁化面
- 专业技术
- 次
- 交通
- ui
- 折扣值
- 厂商
- 查看
- 在线会议
- 可视化
- 仓库保管
- 波
- 网站
- 中
- 工作
- 年