重新定位集群 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

重新定位集群

通过在 Amazon Redshift 中使用重新定位,您可以让 Amazon Redshift 将集群移动到另一个可用区 (AZ),而不会丢失任何数据或对您的应用程序进行更改。通过重新定位,您可以在集群上出现服务中断时继续操作,而产生的影响最小。

开启集群重新定位后,Amazon Redshift 可能会在某些情况下选择重新定位集群。特别是,当当前可用区中的问题阻碍了最佳集群操作或提高服务可用性时,会发生这种情况。您还可以在给定可用区中的资源限制中断集群操作的情况下调用重新定位功能。例如,恢复集群或调整集群大小的功能。Amazon Redshift 提供重新定位功能,无需额外付费。

当 Amazon Redshift 集群重新定位到新的可用区时,新集群具有与原始集群相同的端点。您的应用程序可以重新连接到端点并继续操作,而不会进行修改或丢失数据。但是,由于给定可用区中的潜在资源限制,重新定位可能并不总是可能的。

仅对 RA3 实例类型支持 Amazon Redshift 集群重新定位,例如 ra3.16xlarge、ra3.4xlarge 和 ra3.xlplus。RA3 实例类型使用 Redshift 托管存储 (RMS) 作为持久存储层。集群数据的最新副本始终提供在 Amazon 区域中的其他可用区中。换句话说,您可以将 Amazon Redshift 集群重新定位到另一个可用区,而不会丢失任何数据。

当您开启集群的重新定位时,Amazon Redshift 会将您的集群迁移到代理后面。这样做有助于实现对集群计算资源的位置无关访问。迁移会导致重新引导集群。当集群重新定位到另一个可用区时,在新集群在新可用区中重新联机时,会发生中断。但是,您无需对应用程序进行任何更改,因为即使集群重新定位到新的可用区后,集群端点仍保持不变。

默认情况下,所有 RA3 集群上的集群重新定位均处于禁用状态。在创建预置集群时,Amazon Redshift 将 5439 指定为默认端口。您可以更改为 5431-5455 或 8191-8215 端口范围内的另一个端口。(不要更改为超出范围的端口。这会导致错误。) 要更改预置集群的默认端口,请使用 Amazon Redshift 控制台、Amazon CLI 或 Amazon Redshift API。要更改无服务器工作组的默认端口,请使用 Amazon CLI 或 Amazon Redshift Serverless API。

如果您开启重新定位,并且您当前使用领导节点 IP 地址访问您的集群,请确保更改该访问权限。反之,请使用与集群的 Virtual Private Cloud (VPC) 端点关联的 IP 地址。要查找此集群 IP 地址,在集群详细信息页面的网络和安全部分中查找和使用 VPC 终端节点。要获取有关 VPC 终端节点的更多详细信息,请登录 Amazon VPC 控制台。

您也可以使用 Amazon Command Line Interface (Amazon CLI) 命令 describe-vpc-endpoints 获取与端点关联的弹性网络接口。您可以使用 describe-network-interfaces 命令获取关联的 IP 地址。有关 Amazon Redshift Amazon CLI 命令的更多信息,请参阅 Amazon CLI 命令参考中的可用命令

注意

提醒一下,集群重新定位不是配置其他 Redshift 联网功能(例如用于灾难恢复或其他用途的功能)的先决条件。例如,您可以将跨区域快照复制作为补充,为您的环境提供更高的弹性,但这不是必需的。在启用以下功能时,此功能也并非必需:

  • 从跨账户或跨区域 VPC 连接到 Redshift – 您可以从一个 Amazon Virtual Private Cloud (VPC) 连接到另一个包含 Redshift 数据库的虚拟私有云 (VPC)。这简化了管理,例如,对于来自不同账户或 VPC 的客户端访问,无需对连接到数据库的身份提供本地 VPC 访问权限。有关更多信息,请参阅从其他账户或区域中的 Redshift VPC 端点连接到 Amazon Redshift Serverless

  • 设置自定义域名 – 您可以为 Amazon Redshift 集群或 Amazon Redshift Serverless 工作组创建自定义域名,也称为自定义 URL,以提供更简单也更容易记住的端点名称。有关更多信息,请参阅使用自定义域名进行客户端连接

限制

使用 Amazon Redshift 重新定位时,请注意以下限制:

  • 由于给定可用区中的潜在资源限制,可能无法在所有情况下进行集群重新定位。如果发生这种情况,Amazon Redshift 不会更改原始集群。

  • DC1、DC2 或 DS2 产品实例系列不支持重新定位。

  • 您不能跨 Amazon 区域执行重新定位。

  • Amazon Redshift 重新定位原定设置为端口号 5439。您也可以更改为 5431-5455 或 8191-8215 范围内的另一个端口。

  • 在以下区域提供重新定位:

    • 美国东部(俄亥俄州)区域 (us-east-2)

    • 美国东部(弗吉尼亚州北部)区域 (us-east-1)

    • 美国西部(加利福尼亚北部)区域 (us-west-1)

    • 美国西部(俄勒冈州)区域 (us-west-2)

    • 亚太地区(墨尔本)区域(ap-southeast-4)

    • 亚太地区(孟买)区域 (ap-south-1)

    • 亚太地区(首尔)区域 (ap-northeast-2)

    • 亚太地区(新加坡)区域 (ap-southeast-1)

    • 亚太地区(悉尼)区域 (ap-southeast-2)

    • 亚太地区(东京)区域 (ap-northeast-1)

    • 加拿大(中部)区域 (ca-central-1)

    • 加拿大西部(卡尔加里)区域 (ca-west-1)

    • 欧洲(法兰克福)区域 (eu-central-1)

    • 欧洲(爱尔兰)区域 (eu-west-1)

    • 欧洲(伦敦)区域 (eu-west-2)

    • 欧洲(巴黎)区域 (eu-west-3)

    • 欧洲(斯德哥尔摩)区域 (eu-north-1)

    • 以色列(特拉维夫)区域(il-central-1)

    • 南美洲(圣保罗)区域 (sa-east-1)

开启集群重新定位

您可以从 Amazon Redshift 控制台、通过 Amazon CLI 和 Amazon Redshift API 开启和管理集群重新定位。

要开启集群重新定位,请定义包括多个可用区的子网组。如果 Amazon Redshift 确定了多个可访问的可用区,Amazon Redshift 会自动从可访问的可用区列表中选择以重新定位集群。

重新定位完成后,您可以使用相同的端点访问集群。Amazon Redshift 会删除原始集群的计算资源,并将其返回到资源池。

使用控制台管理重新定位

您可以使用 Amazon Redshift 控制台管理集群重新定位的设置。

在创建新集群时开启重新定位

在创建新集群时,可以使用以下过程开启重新定位。

为新集群开启重新定位
  1. 登录 Amazon Web Services Management Console,然后通过以下网址打开 Amazon Redshift 控制台:https://console.aws.amazon.com/redshiftv2/

  2. 在导航菜单上,选择集群

  3. 选择创建集群以创建新集群。有关如何创建集群的更多信息,请参阅《Amazon Redshift 入门指南》中的创建示例 Amazon Redshift 集群

  4. 备份下,为集群重新定位选择已启用。原定设置情况下,重新定位处于关闭状态。

  5. 选择创建集群

修改现有集群的重新定位

使用以下过程更改现有集群的重新定位设置。

要修改现有集群的重新定位设置
  1. 登录 Amazon Web Services Management Console,然后通过以下网址打开 Amazon Redshift 控制台:https://console.aws.amazon.com/redshiftv2/

  2. 在导航菜单上,选择集群。这将列出您的账户在当前 Amazon 区域中的集群。列表中的各个列中显示了每个集群的一部分属性。

  3. 从列表中选择您要修改的集群的名称。此时将会显示集群详细信息页面。

  4. 选择维护选项卡,然后在备份详细信息部分中选择编辑

  5. 备份下,选择已启用。原定设置情况下,重新定位处于关闭状态。

  6. 选择修改集群

重新定位集群

使用以下过程手动将集群重新定位到其他可用区。当您希望在辅助可用区中测试网络设置或当您在当前可用区中遇到资源限制时,这一点尤其有用。

要将集群重新定位到其他可用区
  1. 登录 Amazon Web Services Management Console,然后通过以下网址打开 Amazon Redshift 控制台:https://console.aws.amazon.com/redshiftv2/

  2. 在导航菜单上,选择集群。这将列出您的账户在当前 Amazon 区域中的集群。列表中的各个列中显示了每个集群的一部分属性。

  3. 从列表中选择您要移动的集群的名称。此时将会显示集群详细信息页面。

  4. 对于操作,选择重新定位。此时将显示重新定位集群页面。

  5. (可选)选择一个可用区。如果您没有选择可用区,Amazon Redshift 会为您选择一个可用区。

Amazon Redshift 开始重新定位并将集群显示为重新定位。重新定位完成后,集群状态将更改为可用。

使用 Amazon Redshift CLI 管理重新定位

您可以使用 Amazon 命令行界面 (CLI) 管理集群重新定位的设置。

使用 Amazon CLI,以下示例命令会创建一个开启了重新定位且名为 mycluster 的 Amazon Redshift 集群。

aws redshift create-cluster --cluster-identifier mycluster --number-of-nodes 2 --master-username enter a username --master-user-password enter a password --node-type ra3.4xlarge --port 5439 --availability-zone-relocation

如果您的当前集群使用不同的端口,您必须在修改它以开启重新定位之前,将其修改为使用 5431-5455 或 8191-8215 端口范围内的端口。原定设置为 5439。下面的示例命令会在集群没有使用给定范围内的端口时修改端口。

aws redshift modify-cluster --cluster-identifier mycluster --port 5439

以下示例命令在 Amazon Redshift 集群上包括 availability-zone-relocation 参数。

aws redshift modify-cluster --cluster-identifier mycluster --availability-zone-relocation

以下示例命令在 Amazon Redshift 集群上关闭 availability-zone-relocation 参数。

aws redshift modify-cluster --cluster-identifier mycluster --no-availability-zone-relocation

以下示例命令将在 Amazon Redshift 集群上调用重新定位。

aws redshift modify-cluster --cluster-identifier mycluster --availability-zone us-east-1b