Redshift 托管的 VPC 端点 - Amazon Redshift

Redshift 托管的 VPC 端点

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

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

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

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

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

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

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

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

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

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

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

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

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

注意

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

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

  • 如果您使用的是预置集群,集群必须为 RA3 节点类型。Amazon Redshift Serverless 工作组也可用于设置 VPC 端点。

  • 对于预调配集群,请确保对集群启用集群重新定位或多可用区。有关启用集群重新定位的要求的信息,请参阅重新定位集群。有关启用多可用区的信息,请参阅创建新集群时设置多可用区

  • 确保要通过安全组访问的集群或工作组在有效端口范围 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 Redshift 资源中的配额和限制

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