使用 Redshift 托管的 VPC 终端节点 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 Redshift 托管的 VPC 终端节点

默认情况下,Amazon Redshift 集群或 Amazon Redshift Serverless 工作组在虚拟私有云(VPC)中进行预置。当您允许公共访问或设置互联网网关、NAT 设备或 Amazon Direct Connect 连接将流量路由到集群时,可从另一个 VPC 或子网中访问该 VPC。您也可以通过设置 Redshift 托管的 VPC 端点(由 Amazon PrivateLink 支持)来访问集群或工作组。

您可以将 Redshift 托管的 VPC 端点设置为包含集群或工作组的 VPC 与运行客户端工具的 VPC 之间的私有连接。如果集群或工作组位于另一个账户中,则账户拥有者(授予者)必须授予对连接账户(被授予者)的访问权限。通过这种方法,您可以访问数据仓库,而无需使用公有 IP 地址或通过互联网路由流量。

以下是允许使用 Redshift 托管的 VPC 端点进行访问的常见原因:

  • Amazon 账户 A 希望允许 Amazon 账户 B 中的 VPC 对集群或工作组具有访问权限。

  • Amazon 账户 A 希望允许同样位于 Amazon 账户 A 中的 VPC 对集群或工作组具有访问权限。

  • Amazon 账户 A 希望允许 Amazon 账户 A 中的 VPC 中的另一个子网对集群或工作组具有访问权限。

设置 Redshift 托管的 VPC 端点以访问其他账户中的集群或工作组的工作流如下所示:

  1. 拥有者账户向其他账户授予访问权限,并指定被授权者的 Amazon 账户 ID 和 VPC 标识符(或所有 VPC)。

  2. 被授权者账户收到通知,告知他们有权创建 Redshift 托管的 VPC 终端节点。

  3. 被授权者账户创建一个 Redshift 托管的 VPC 终端节点。

  4. 被授权者账户可以使用 Redshift 托管的 VPC 端点访问拥有者账户的集群或工作组。

您可以使用 Amazon Redshift 控制台、Amazon CLI 或 Amazon Redshift API 执行此操作。

使用 Redshift 托管的 VPC 终端节点时的注意事项

注意

要创建或修改 Redshift 托管式 VPC 端点,除了在 Amazon 托管式策略 AmazonRedshiftFullAccess 中指定的其它权限外,IAM 策略中还需要权限 ec2:CreateVpcEndpointec2:ModifyVpcEndpoint

使用 Redshift 托管的 VPC 终端节点时,请牢记以下内容:

  • 请确保要访问的集群是 RA3 节点类型。Amazon Redshift Serverless 工作组也可用于此目的。

  • 对于预置的集群,请确保要访问的集群已打开集群重新定位功能。有关启用集群重新定位的要求的信息,请参阅重新定位集群

  • 确保要通过安全组访问的集群或工作组在有效端口范围 5431-5455 和 8191-8215 内。默认值为 5439。

  • 您可以修改与现有 Redshift 托管的 VPC 终端节点关联的 VPC 安全组。要修改其他设置,请删除当前 Redshift 托管 VPC 终端节点并创建一个新的端点。

  • 您可以创建的 Redshift 托管 VPC 终端节点的数量限制为您的 VPC 终端节点配额。

  • 无法从互联网访问 Redshift 托管的 VPC 终端节点。Redshift 托管的 VPC 端点只能在预置了端点的 VPC 中访问,或者在路由表和安全组允许的情况下与预置端点的 VPC 对等连接的任何 VPC 中访问。

  • 您不能使用 Amazon VPC 控制台管理 Redshift 托管的 VPC 终端节点。

  • 为预置集群创建 Redshift 托管的 VPC 端点时,您选择的 VPC 必须具有子网组。要创建子网组,请参阅使用控制台管理集群子网组

有关配额和命名约束的信息,请参阅Amazon Redshift 资源中的配额和限制

有关定价的信息,请参阅 Amazon PrivateLink 定价

使用控制台管理 Redshift 托管的 VPC 端点

您可以使用 Amazon Redshift 控制台配置 Redshift 托管 VPC 终端节点的使用。

授予访问权限

如果您要访问集群或工作组的 VPC 位于另一个 Amazon 账户中,请确保从拥有者(授予者)账户授权它。

允许另一个 Amazon 账户中的 VPC 访问您的集群或工作组
  1. 登录 Amazon Web Services Management Console,然后通过以下网址打开 Amazon Redshift 控制台:https://console.aws.amazon.com/redshiftv2/

  2. 在导航菜单上,选择集群。对于 Amazon Redshift Serverless,请选择无服务器控制面板

  3. 对于您要允许访问的集群,请通过选择集群名称查看详细信息。选择集群的属性选项卡。

    授予的账户部分显示有权访问集群的账户和相应的 VPC。对于 Amazon Redshift Serverless 工作组,请选择工作组。授权账户位于数据访问权限选项卡下。

  4. 选择授予访问权限以显示要输入被授权者信息的表单以添加账户。

  5. 对于 Amazon 账户 ID,输入您授予访问权限的账户 ID。您可以授予对指定账户中特定 VPC 或所有 VPC 的访问权限。

  6. 选择授予访问权限以授予访问权限。

创建 Redshift 托管的 VPC 终端节点

如果您拥有某个集群或工作组,或者您已被授予对集群或工作组的访问权限,则可以为该集群或工作组创建一个 Redshift 托管的 VPC 端点。

要创建 Redshift 托管的 VPC 终端节点
  1. 登录 Amazon Web Services Management Console,然后通过以下网址打开 Amazon Redshift 控制台:https://console.aws.amazon.com/redshiftv2/

  2. 在导航菜单上,选择配置

    配置页面显示已创建的 Redshift 托管 VPC 终端节点。要查看端点的详细信息,请选择其名称。对于 Amazon Redshift Serverless,当您选择工作组时,VPC 端点位于数据访问权限选项卡下。

  3. 选择创建端点以显示一个表单,在其中输入有关要添加的端点的信息。

  4. 输入端点名称、12 位 Amazon 账户 ID、端点所在的虚拟私有云(VPC)子网VPC 安全组的值。

    子网中的子网定义了 Amazon Redshift 部署端点所在的子网和 IP 地址。Amazon Redshift 选择具有可用于与端点关联的网络接口的 IP 地址的子网。

    VPC 安全组中的安全组规则定义了您为端点授权的入站流量的端口、协议和源。您允许通过工作负载运行所在的安全组或 CIDR 范围访问所选端口。

  5. 选择创建端点以创建端点。

创建端点后,您可以通过 Redshift 托管 VPC 端点的配置设置的端点 URL 中所示的 URL 来访问集群或工作组。

使用 Amazon CLI 管理 Redshift 托管的 VPC 终端节点

您可以使用以下 Amazon Redshift CLI 操作来使用 Redshift 托管的 VPC 终端节点。有关更多信息,请参阅 Amazon CLI 命令参考

使用 Amazon Redshift API 操作管理 Redshift 托管的 VPC 终端节点

您可以使用以下 Amazon Redshift API 操作来使用 Redshift 托管的 VPC 终端节点。有关更多信息,请参阅 Amazon Redshift API 参考

使用 Amazon CloudFormation 管理 Redshift 托管的 VPC 端点

有关用于使用 Amazon CloudFormation 创建 Redshift 托管 VPC 终端节点的 Amazon CloudFormation 资源类型的信息,请参阅《Amazon CloudFormation 用户指南》中的 AWS::Redshift::EndpointAccess