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

在 Amazon Redshift 中使用 Redshift 托管的 VPC 终端节点

预设情况下,Amazon Redshift 集群在 Virtual Private Cloud (VPC) 中进行预置。当您允许公共访问或设置互联网网关、NAT 设备或 Amazon Direct Connect 连接将流量路由到集群时,可从另一个 VPC 或子网中访问它。或者,您可以通过设置 Redshift 托管的 VPC 终端节点(由 Amazon PrivateLink 支持)来访问集群。

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

以下场景描述了允许使用 Redshift 托管的 VPC 终端节点访问集群的常见原因:

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

  • Amazon 账户 A 希望允许同样位于 Amazon 账户 B 中的 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 终端节点时,请牢记以下内容:

  • 请确保要访问的集群是 RA3 节点类型。

  • 确保要访问的集群已打开集群重新定位。有关启用集群重新定位的要求的信息,请参阅在 Amazon Redshift 中管理集群重新定位

  • 确保要访问的集群可通过端口 5439 访问。

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

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

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

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

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

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

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

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

授予对集群的访问权限

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

允许另一个 Amazon 账户中的 VPC 访问您的集群
  1. 登录到 Amazon Web Services Management Console并打开 Amazon Redshift 控制台,网址:https://console.aws.amazon.com/redshift/

  2. 在导航菜单上,选择 Clusters(集群)。

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

    Granted accounts(授予的账户)部分显示有权访问集群的账户和相应的 VPC。

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

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

  6. 选择 Grant access(授予访问权限)以授予访问权限。

创建 Redshift 托管的 VPC 终端节点

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

要创建 Redshift 托管的 VPC 终端节点
  1. 登录到 Amazon Web Services Management Console并打开 Amazon Redshift 控制台,网址:https://console.aws.amazon.com/redshift/

  2. 在导航菜单上,选择 Configurations(配置)。

    Configurations(配置)页面显示已创建的 Redshift 托管 VPC 终端节点。要查看端点的详细信息,请选择其名称。

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

  4. 输入 Endpoint name(端点名称)、Amazon account ID(Amazon 账户 ID)、Cluster identifier(集群标识符)、Virtual Private Cloud (VPC)Subnet group(子网组)的值,以及端点的其他属性。

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

    安全组中的安全组规则定义了您为端点授权的入站流量的端口、协议和源。根据您在创建、修改或迁移集群时选择的端口,您可以通过安全组或运行工作负载的 CIDR 范围访问所选端口。

  5. 选择 Create endpoint(创建端点)以创建端点。

创建端点后,您可以通过您的 Redshift 托管 VPC 终端节点的配置设置中的 Endpoint URL(端点 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 参考