管理专用连接端点:AWS

本主题提供有关如何管理专用连接端点的信息,以便与 AWS 的出站专用连接配合使用。

提供专用连接端点

您可以使用 SYSTEM$PROVISION_PRIVATELINK_ENDPOINT 系统函数通过指定服务或资源以及主机名来创建专用连接端点。在使用此系统函数时,必须使用 ACCOUNTADMIN 角色。

备注

如果对外部暂存区或外部卷使用专用连接,则在指定主机名时必须使用通配符 (*)。使用通配符并不意味着所有 S3 桶都通过专用连接访问。只有启用了专用连接(即外部暂存区或外部卷)的 Snowflake 对象所引用的桶才能通过 VPC 端点进行访问。

SYSTEM$PROVISION_PRIVATELINK_ENDPOINT 函数接受提供商服务名称和主机名作为其实参。您可以通过使用 AWS 命令行的 describe-vpc-endpoint-services 子命令获取这些值。如 AWS 文档 (https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-vpc-endpoint-services.html) 中所述,此 AWS 子命令返回一个 JSON 对象,具有 ServiceName 字段和 PrivateDnsName 字段。使用以下表来确定 SYSTEM$PROVISION_PRIVATELINK_ENDPOINT 函数应使用哪些值:

SYSTEM$PROVISION_PRIVATELINK_ENDPOINT 实参

describe-vpc-endpoint-services 输出

provider_service_name

ServiceName

host_name

PrivateDnsName

如果对外部暂存区或外部卷使用专用连接,则必须使用带通配符的值。

例如,要创建一个可以从外部访问 Amazon S3 的 PrivateLink,请执行以下 SQL 语句,以便为 us-west-2 配置端点:

SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT(
  'com.amazonaws.us-west-2.s3',
  '*.s3.us-west-2.amazonaws.com'
);
Copy

在您创建端点后,使用该端点之前会有一个延迟。有关检查已创建端点状态的信息,请参阅 SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO

移除服务的一个专用连接端点

您可以使用 SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT 系统函数通过指定服务或资源来移除专用连接端点。

在端点被移除后,端点会被放入队列中,7 天后将被删除。

在使用此系统函数时,您需要使用 ACCOUNTADMIN 角色。

例如,要移除一个可以从外部访问 Amazon S3 的 PrivateLink,请执行以下 SQL 语句:

SELECT SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT('com.amazonaws.us-west-2.s3');
Copy

恢复服务的一个专用连接端点

您可以使用 SYSTEM$RESTORE_PRIVATELINK_ENDPOINT 系统函数通过指定服务或资源来恢复仍在删除队列中的已移除专用连接端点。如果在删除队列中找不到端点,则无法恢复该端点。

在使用此系统函数时,您需要使用 ACCOUNTADMIN 角色。

例如,要恢复一个可以从外部访问 Amazon S3 的 PrivateLink,请执行以下 SQL 语句:

SELECT SYSTEM$RESTORE_PRIVATELINK_ENDPOINT('com.amazonaws.us-west-2.s3');
Copy

列出服务的所有专用连接端点

您可以使用 SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO 系统函数列出您账户中的所有专用连接端点及其信息。

在使用此系统函数时,您需要使用 ACCOUNTADMIN 角色。

例如,要列出所有 AWS PrivateLink 端点和 AWS 服务,请执行以下 SQL 语句:

SELECT SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO();
Copy

有关函数返回的 JSON 对象字段的描述,请参阅 返回

备注

您还可以查询 ACCOUNT_USAGE 架构中的 OUTBOUND_PRIVATELINK_ENDPOINTS 视图,以列出您账户中的专用端点。

语言: 中文