Amazon Web Services 外部存储卷的专用连接¶
本主题提供了设置与 AWS 外部卷的出站专用连接的配置详细信息。出站公共连接和出站专用连接的主要区别在于如何设置外部卷的 USE_PRIVATELINK_ENDPOINT 属性。
当外部卷配置为使用专用连接时,您与 AWS 云存储服务的连接将通过 AWS 内部网络进行。通过将外部卷配置为使用出站专用连接,可以阻止对存储账户的公共访问,从而为数据卸载操作增加额外的安全性。
有关使用外部卷为 Iceberg 表连接外部云存储的更多信息,请参阅 配置外部卷。
备注
您可以使用 AWS PrivateLink 访问 Snowflake 管理的 Iceberg 表,以及使用目录集成进行对象存储的 Iceberg 表。此外,您还可以使用 AWS PrivateLink 访问外部管理的 Iceberg 表和从对象存储中的 Delta 文件创建的 Iceberg 表。
出站专用连接成本¶
您为每个专用连接端点以及处理的总数据量付费。有关这些项目的定价,请参阅 Snowflake 服务使用量表。
在 ACCOUNT_USAGE 和 ORGANIZATION_USAGE 架构中查询计费视图时,可以通过筛选以下服务类型来查看这些项目的成本:
OUTBOUND_PRIVATELINK_ENDPOINT
OUTBOUND_PRIVATELINK_DATA_PROCESSED
例如,您可以查询 USAGE_IN_CURRENCY_DAILY 视图并筛选这些服务类型。
注意事项¶
您可以为同一个云存储服务配置出站公共连接和出站专用连接。如果要这样做,请为出站公共连接创建专用外部卷,并指定 USE_PRIVATELINK_ENDPOINT = FALSE。
设置到外部卷的出站专用连接¶
要设置到外部卷的出站专用连接,您可以 使用 SQL 或 使用 Snowsight。
使用 SQL¶
语法更新¶
外部卷的 USE_PRIVATELINK_ENDPOINT 属性决定了是通过专用连接还是通过穿过公共网络来访问外部卷。要使用专用连接,请在创建或修改外部卷时设置 USE_PRIVATELINK_ENDPOINT = TRUE。
CREATE EXTERNAL VOLUME 和 ALTER EXTERNAL VOLUME 的新语法如下:
DESCRIBE EXTERNAL VOLUME 命令包括 USE_PRIVATELINK_ENDPOINT 属性及其值。
配置外部卷访问¶
使用以下步骤使用出站专用连接将数据卸载到 AWS 上的外部卷:
调用 SYSTEM$PROVISION_PRIVATELINK_ENDPOINT 系统函数以在 Snowflake VNet 中配置专用端点,使 Snowflake 能够使用专用连接连接到外部 AWS 云存储。
如以下示例所示,您必须使用通配符 (
*),而非指定单个 AWS S3 桶。使用通配符并不意味着所有 S3 桶都通过专用连接访问。只有由启用了 USE_PRIVATELINK_ENDPOINT 参数的外部卷引用的桶,才可以通过端点访问。此函数将专用端点与主机名绑定,从而使外部卷可以使用专用端点连接到存储位置(只要对象上启用了 AWS PrivateLink)。
调用 SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO 函数。
当函数的输出包括
"status": "APPROVED时,您从 Snowflake 到存储账户的连接将可以使用专用连接。在等待
"APPROVED"状态时,您可以继续执行后续步骤。创建外部卷,确保将
USE_PRIVATELINK_ENDPOINT属性设置为:code:TRUE。例如:使用 CREATE ICEBERG TABLE 命令创建引用外部卷的 Iceberg 表。例如:
专用端点具有
"APPROVED"状态后,测试会将数据从 Snowflake 卸载到外部卷。
使用 Snowsight¶
要在 Snowsight 中使用专用连接设置外部卷访问,请按照以下步骤操作:
调用 SYSTEM$PROVISION_PRIVATELINK_ENDPOINT 系统函数以在 Snowflake VNet 中配置专用端点,使 Snowflake 能够使用专用连接连接到外部 AWS 云存储。
如以下示例所示,您必须使用通配符 (
*),而非指定单个 AWS S3 桶。使用通配符并不意味着所有 S3 桶都通过专用连接访问。只有由启用了 USE_PRIVATELINK_ENDPOINT 参数的外部卷引用的桶,才可以通过端点访问。此函数将专用端点与主机名绑定,从而使外部卷可以使用专用端点连接到存储位置(只要对象上启用了 AWS PrivateLink)。
调用 SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO 函数。
当函数的输出包括
"status": "APPROVED时,您从 Snowflake 到存储账户的连接将可以使用专用连接。在等待
"APPROVED"状态时,您可以继续执行后续步骤。按照以下步骤操作 使用 Snowsight 为 S3 创建外部卷,并在配置外部卷时启用专用连接。
重要
要启用专用连接,在 Configure external volume 页面上,必须从 Connectivity 字段中选择 Private (Azure Private Endpoint)。
使用 CREATE ICEBERG TABLE 命令创建引用外部卷的 Iceberg 表。例如:
专用端点具有
"APPROVED"状态后,测试会将数据从 Snowflake 卸载到外部卷。
撤销端点¶
如果不再需要外部卷的专用连接端点,请取消设置外部卷的 USE_PRIVATELINK_ENDPOINT 属性,然后调用 SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT 系统函数。