

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# 集群操作
<a name="managing-cluster-operations"></a>

创建集群后，可以执行集群操作，以优化性能、控制成本并确保高可用性。借助集群操作，可以根据数据仓库需求的变化，调整集群大小、暂停集群、恢复集群甚至重新创建集群。

常见的用例包括为峰值工作负载扩展计算容量，在非活动期间暂停集群以降低成本，以及使用不同的配置或在不同的可用区中重新创建集群以进行灾难恢复。以下各节详细介绍了如何执行各种集群操作，以有效地管理 Amazon Redshift 环境。

# 创建集群
<a name="create-cluster"></a>

借助 Amazon Redshift，可以创建预置集群来启动新的数据仓库。预置集群是由称作节点的各种计算资源构成的集合，这些节点已整理到单个大规模并行处理（MPP）系统中。

在创建集群之前，请参阅[Amazon Redshift 预置集群](working-with-clusters.md)和[Amazon Redshift 中的集群和节点](working-with-clusters.md#rs-about-clusters-and-nodes)。

**创建集群**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

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

1. 选择**创建集群**以创建集群。

1. 按照控制台页面上的说明进行操作，为**集群配置**输入属性。

   以下步骤介绍了 Amazon Redshift 控制台，该控制台在支持 RA3 节点类型的 AWS 区域中运行。有关支持 RA3 节点类型的 AWS 区域的列表，请参阅《Amazon Redshift 管理指南》**中的 [RA3 节点类型概览](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-ra3-node-types)。

   如果您不知道要将集群调整到多大，请选择 **Help me choose**（帮我选择）。执行此操作将启动大小调整计算器，该计算器将询问您有关计划存储在数据仓库中的数据的大小和查询特性的问题。如果您知道集群所需的大小（即节点类型和节点数），请选择**我会选择**。然后选择**节点类型**和**节点**数量来调整集群的大小以进行概念验证。
**注意**  
如果您的组织符合条件，而在您创建集群的 AWS 区域中，Amazon Redshift Serverless 不可用，则您也许可以通过 Amazon Redshift 免费试用计划创建集群。请选择**生产**或**免费试用**来回答问题**您打算将此集群用于什么？** 选择**免费试用**时，您将创建具有 dc2.large 节点类型的配置。有关选择免费试用的更多信息，请参阅 [Amazon Redshift 免费试用](https://aws.amazon.com/redshift/free-trial/)。有关提供了 Amazon Redshift Serverless 的 AWS 区域的列表，请参阅《Amazon Web Services 一般参考》**中针对 [Redshift Serverless API](https://docs.aws.amazon.com/general/latest/gr/redshift-service.html) 列出的端点。

1. 在**数据库配置**部分中，为**管理员用户名**指定值。对于**管理员密码**，您可以从以下选项中进行选择：
   +  **生成密码** – 使用 Amazon Redshift 生成的密码。
   +  **手动添加管理员密码** – 使用您自己的密码。
   +  **管理 AWS Secrets Manager 中的管理员凭证** – Amazon Redshift 使用 AWS Secrets Manager 生成和管理您的管理员密码。使用 AWS Secrets Manager 生成和管理您密码的密钥会产生一定的费用。有关 AWS Secrets Manager 定价的信息，请参阅 [AWS Secrets Manager 定价](https://aws.amazon.com/secrets-manager/pricing/)。

1. （可选）按照控制台页面上的说明进行操作，为**集群权限**输入属性。如果您的集群需要为您访问其他 AWS 服务（例如，从 Amazon S3 加载数据），请提供集群权限。

1. 选择**创建集群**以创建集群。集群可能需要几分钟才可以使用。

## 其他配置
<a name="cluster-create-console-configuration"></a>

在创建一个集群时，可以指定其他属性来自定义该集群。您可以在下面的列表中找到有关这些属性中的某些属性的更多详细信息。

**IP 地址类型**  
选择您集群的 IP 地址类型。您可以选择让资源仅通过 IPv4 寻址协议进行通信，也可以选择双栈模式，让您的资源通过 IPv4 和 IPv6 进行通信。此功能现已在 AWS GovCloud（美国东部）和 AWS GovCloud（美国西部）区域提供。有关 AWS 区域的更多信息，请参阅[区域和可用区](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/)。

**Virtual Private Cloud (VPC)**  
选择具有集群子网组的 VPC。集群在创建之后，无法更改集群子网组。

**参数组**  
选择一个集群参数组，以便与集群相关联。如果您不选择参数组，集群将使用默认参数组。

**加密**  
选择是否要加密集群内的所有数据及其快照。如果保留默认设置 **None**，将不会启用加密功能。如果您要启用加密功能，请选择您是使用 AWS Key Management Service (AWS KMS)，还是使用硬件安全模块 (HSM)，然后配置相关设置。有关 Amazon Redshift 中的加密功能的更多信息，请参阅[Amazon Redshift 数据库加密](working-with-db-encryption.md)。  
+ **KMS**

  如果您想启用加密并使用 AWS KMS 来管理您的加密密钥，请选择**使用 AWS Key Management Service (AWS KMS)**。此外还需选择要使用的密钥。您可以选择原定设置密钥、当前账户中的密钥，或其他账户中的密钥。
**注意**  
如果想使用来自其他 AWS 账户的密钥，则输入要使用的密钥的 Amazon 资源名称 (ARN)。您必须拥有使用此密钥的权限。有关在 AWS KMS 中访问密钥的更多信息，请参阅《AWS Key Management Service 开发人员指南》**中的[控制对您的密钥的访问](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html)。

  有关使用 Amazon Redshift 中的 AWS KMS 加密密钥的更多信息，请参阅[使用 AWS KMS 的加密](working-with-db-encryption.md#working-with-aws-kms)。
+ **HSM**

  如果您要启用加密功能并使用硬件安全模块 (HSM) 来管理加密密钥，请选择 **HSM**。

  如果选择 **HSM**，请从 **HSM 连接**和 **HSM 客户端证书**中选择相应值。Amazon Redshift 和 HSM 需要使用这些值来构建受信任的连接，以便通过此连接传输集群密钥。必须先在 Amazon Redshift 中设置 HSM 连接和客户端证书，之后再启动集群。有关设置 HSM 连接和客户端证书的更多信息，请参阅[使用硬件安全模块的加密](working-with-db-encryption.md#working-with-HSM)。

**维护跟踪**  
您可以选择使用的集群版本为**当前版本**、**早先版本** 或（有时）**预览版**跟踪。

**监控**  
可以选择是否创建 CloudWatch 警报。

**配置跨区域快照**  
您可以选择是否启用跨区域快照。

**自动快照保留期**  
您可以选择这些快照的保留天数（最多 35 天）。如果节点类型为 DC2，则可以选择零（0）天，以便不创建自动快照。

**手动快照保留期**  
您可以选择天数或 `Indefinitely` 来保留这些快照。

**用于自动优化的额外计算资源**  
您可以选择是否分配额外的计算资源来执行自动优化，即使在用量大的时段也是如此。有关更多信息，请参阅《Amazon Redshift 数据库开发人员指南》**中的[分配额外的计算资源来执行自动数据库优化](https://docs.aws.amazon.com/redshift/latest/dg/t_extra-compute-autonomics.html)。

# 创建磁盘空间警报
<a name="rs-mgmt-edit-default-disk-space-alarm"></a>

您可以监控磁盘空间使用情况，并设置警报，以便在磁盘空间超过集群的指定阈值时收到通知。通过创建磁盘空间使用情况警报，可以主动管理存储容量，并防止因磁盘空间不足而导致的问题，例如查询失败或数据摄取错误。以下过程将为您演练创建磁盘空间使用情况警报的过程。

**为集群创建磁盘空间用量警报**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**警报**。

1. 对于**操作**，选择**创建警报**。此时将显示**创建警报**页面。

1. 按照页面上的说明操作。

1. 选择**创建警报**。

# 查看集群
<a name="view-cluster"></a>

通过查看集群，可以监控和管理集群的配置、状态和性能指标。通过查看集群详细信息，可以深入了解资源利用率、查询执行时间和系统运行状况。以下过程演示如何访问集群信息。

**查看集群**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**。这将列出您的账户在当前 AWS 区域中的集群。列表中的各个列中显示了每个集群的一部分属性。如果您没有集群，请选择**创建集群**来创建一个集群。

1. 在列表中选择集群名称可查看有关集群的更多详细信息。

# 修改集群
<a name="modify-cluster"></a>

当您修改集群时，对以下选项做出的更改将立即生效：
+ **VPC 安全组** 
+ **公开访问** 
+ **管理员用户密码** 
+ **HSM 连接** 
+ **HSM 客户端证书** 
+ **维护详细信息** 
+ **快照首选项** 

 对以下选项做出的更改只能在重启集群后才会生效：
+ **集群标识符**

  当您更改**集群标识符**时，Amazon Redshift 会自动重新启动集群。
+ **增强型 VPC 路由**

  当您更改**增强型 VPC 路由**时，Amazon Redshift 会自动重新启动集群。
+ **集群参数组** 
+ **IP 地址类型** 

  此功能现已在 AWS GovCloud（美国东部）和 AWS GovCloud（美国西部）区域提供。有关 AWS 区域的更多信息，请参阅[区域和可用区](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/)。

如果您缩短自动快照的保留期，系统将删除保留期设置超出了新保留期的现有自动快照。有关更多信息，请参阅 [Amazon Redshift 快照和备份](working-with-snapshots.md)。

有关集群属性的更多信息，请参阅[其他配置](create-cluster.md#cluster-create-console-configuration)。

**修改集群**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**。

1. 选择要修改的集群。

1. 选择**编辑**。此时将显示**编辑集群**页面。

1. 更新集群属性。您可以修改的一些属性包括：
   + 集群标识符
   + 快照保留
   + 集群重新定位

   控制台提供了指向相应集群详细信息选项卡的链接，用于编辑**网络和安全**、**维护**和**数据库配置**的设置。

1. 选择**保存更改**。

# 调整集群大小
<a name="resizing-cluster"></a>

随着您的数据仓库容量和性能需求的变化，您可以调整集群大小，以便充分利用 Amazon Redshift 的计算和存储选项。

 调整集群大小时，您可以指定与集群当前配置不同的节点数量或节点类型。当集群处于调整大小过程中时，您将无法在集群上运行任何写入或读取/写入查询；您只可以运行读取查询。

 有关调整集群大小的更多信息（包括使用不同方法调整集群大小的过程），请参阅[调整集群大小](#resizing-cluster)。

**调整集群大小**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**。

1. 选择要调整大小的集群。

1. 对于**操作**，选择**调整大小**。此时将显示**调整集群大小**页面。

1. 按照页面上的说明操作。您可以立即调整集群大小，在特定时间调整一次，或者按计划增加和减小集群大小。

1. 根据您的选择，选择**立即调整大小**或**计划调整大小**。

如果您有预留节点，则可以升级到 RA3 预留节点。使用控制台从快照还原或执行弹性调整大小时，您可以执行此操作。您可以使用控制台引导您完成此过程。有关升级到 RA3 节点的更多信息，请参阅[升级到 RA3 节点类型](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-upgrading-to-ra3)。

当您执行调整大小操作以便从 DC2.large 节点类型升级到 RA3.large 节点类型时，Amazon Redshift 会自动将交错排序键转换为复合排序键。这种转换支持访问并发扩展功能，该功能不支持对具有交错排序键的表进行查询。虽然这种自动转换可确保与 RA3 功能的兼容性，但它可能会影响您现有的查询性能模式。

如果要在升级到 RA3 节点后保留交错排序键，则可以在调整大小操作完成后，使用所需的排序键配置来重新创建表。但是，选择此选项意味着您将无法对这些表使用并发扩展。

调整大小操作有两种类型：
+ **弹性调整大小**：您可以向集群添加节点，或从集群中移除节点。您还可以更改节点类型，如从 DC2 节点更改为 RA3 节点。弹性调整大小通常会很快完成，平均约需十分钟。因此，我们建议将其作为首选项。当您执行弹性调整大小时，它会重新分发数据切片，这些数据切片是在每个节点中分配内存和磁盘空间的分区。弹性调整大小适用于以下情况：
  + *增加或减少现有集群中的节点，但不更改节点类型*：这通常被称为*就地*调整大小。当您执行这种调整大小时，一些正在运行的查询会成功完成，但其他查询可能会作为该操作的组成部分而被删除。
  + *更改集群的节点类型*：当您更改节点类型时，将创建快照，并将数据从源集群重新分发到由新节点类型组成的集群。完成后，将删除正在运行的查询。与*就地*调整大小一样，它很快即可完成。
+ **经典调整大小**：您可以更改节点类型、节点数量或此两者，其方式与弹性调整大小相似。经典调整大小需要更多时间才能完成，但在节点计数发生变化或要迁移到的节点类型不在弹性调整大小范围内的情况下，它会很有用。例如，当节点计数的变化非常大时，此调整大小类型可能适用。

**Topics**
+ [弹性调整大小](#elastic-resize)
+ [经典调整大小](#classic-resize-faster)

## 弹性调整大小
<a name="elastic-resize"></a>

当您添加或移除相同类型的节点时，弹性调整大小操作包括以下阶段：

1. 弹性调整大小操作将为集群制作快照。仅 DC2 节点支持无备份表。对于所有其他类型的集群，快照中包含无备份表。有关更多信息，请参阅 [从快照中排除表](working-with-snapshots.md#snapshots-no-backup-tables)。如果您的集群因禁用了自动快照而没有最近的快照，则备份操作可能会花费更长时间。（要最大程度地减少调整大小操作开始前的时间，我们建议您在开始调整大小操作之前启用自动快照或创建手动快照。） 如果在您启动弹性调整大小时，系统正在执行快照操作，若该快照操作未能在数分钟内完成，则调整大小可能会失败。有关更多信息，请参阅 [Amazon Redshift 快照和备份](working-with-snapshots.md)。

1. 该操作将迁移集群元数据。集群将在数分钟内不可用。大多数查询将暂停，并且连接将保持打开状态。但是，某些查询可能会被删除。此阶段很短。

1. 会话连接将恢复，并且查询将继续。

1. 弹性调整大小操作会在后台将数据重新分发到节点切片。集群可用于读取和写入操作，但是某些查询可能需要更长的时间来运行。

1. 在该操作完成后，Amazon Redshift 会发送一个事件通知。

当您使用弹性调整大小来更改节点类型时，它的工作方式与您增加或减少相同类型的节点时相似。首先，创建一个快照。使用该快照中的最新数据预调配新的目标集群，并在后台将数据传输到新集群。在此期间，数据是只读的。在大小调整接近完成时，Amazon Redshift 会将端点更新为指向新集群，并断开与源集群的所有连接。

弹性调整大小操作不太可能失败。但如果失败，在大多数情况下会自动进行回滚，无需任何手动干预。

如果您有预留节点，例如 DC2 预留节点，则您可以在执行调整大小时升级到 RA3 预留节点。您可以在执行弹性调整大小或者使用控制台从快照还原时执行此操作。控制台将引导您完成此过程。有关升级到 RA3 节点的更多信息，请参阅[升级到 RA3 节点类型](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-upgrading-to-ra3)。

弹性调整大小操作不会对表进行排序或回收磁盘空间，因此，它不能替代 vacuum 操作。有关更多信息，请参阅[对表执行 vacuum 操作](https://docs.aws.amazon.com/redshift/latest/dg/t_Reclaiming_storage_space202.html)。

弹性调整大小操作具有以下限制：
+ *弹性大小调整和数据共享集群* - 如果您在作为数据共享创建者的集群上添加或缩减节点，则当 Amazon Redshift 迁移集群元数据时，您无法从使用者连接到该集群。同样，如果您执行弹性大小调整并选择新的节点类型，则当连接断开并转移到新的目标集群时，数据共享将不可用。在这两种类型的弹性大小调整中，创建者会有几分钟时间不可用。
+ *从共享快照传输数据*：要在从共享快照传输数据的集群上运行弹性调整大小，必须至少有一个备份可供该集群使用。您可以在 Amazon Redshift 控制台快照列表中或通过 `describe-cluster-snapshots` CLI 命令或 `DescribeClusterSnapshots` API 操作查看备份。
+ *平台限制*：弹性调整大小仅可用于使用 EC2-VPC 平台的集群。有关更多信息，请参阅 [使用 EC2 创建集群](working-with-clusters.md#cluster-platforms)。
+ *存储注意事项*：确保新的节点配置有足够的存储空间来存储现有数据。您可能需要添加其他节点或更改配置。
+ *源与目标集群大小* – 可以通过弹性调整大小来调整大小的节点的数量和节点类型由源集群中的节点的数量和为已调整大小的集群所选的节点类型来确定。可以使用控制台确定可能的配置。您也可以运行带 `action-type resize-cluster` 选项的 `describe-node-configuration-options` AWS CLI 命令。有关使用 Amazon Redshift 控制台进行大小调整的更多信息，请参阅[调整集群大小](#resizing-cluster)。

  以下示例 CLI 命令描述了可用的配置选项。在此示例中，名为 `mycluster` 的集群是一个 8 节点的 `dc2.large` 集群。

  ```
  aws redshift describe-node-configuration-options --cluster-identifier mycluster --region eu-west-1 --action-type resize-cluster
  ```

  此命令会返回一个选项列表，包括每个选项的建议节点类型、节点数和磁盘利用率。返回的配置根据特定的输入集群而不同。指定 `resize-cluster` CLI 命令的选项时，可以选择其中一种返回的配置。
+ *其他节点的上限*：弹性调整大小对您可以添加到集群的节点有限制。例如，dc2 集群支持弹性调整大小，最大可将节点数量增加一倍。为了说明，您可以将一个节点添加到 4 节点 dc2.8xlarge 集群中，使其成为 5 节点集群，或者添加更多节点，直到达到 8 个为止。
**注意**  
增长和减少限制基于原始节点类型，以及原始集群中的节点数量或其上次经典大小调整。如果弹性调整大小将超过增长或减少限制，则使用经典大小调整。

  使用某些 ra3 节点类型，您最多可以将节点数增加到现有计数的四倍。具体来说，假设您的集群由 ra3.4xlarge 或 ra3.16xlarge 节点组成。然后，您可以使用弹性调整大小将 8 节点集群中的节点数增加到 32。或者，您可以选择低于限制的值。（请记住，将集群增长 4 倍的能力取决于源集群的大小。） 如果您的集群具有 ra3.xlplus 节点，则限制为双倍。

  所有 ra3 节点类型都支持将节点数减少到现有计数的四分之一。例如，您可以将包含 ra3.4xlarge 节点的集群的大小从 12 个节点减少到 3 个节点，或者减少到高于最小值的数字。

  下表列出了支持弹性调整大小的每个节点类型的增长和减少限制。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/redshift/latest/mgmt/resizing-cluster.html)
**注意**  
 **调整 RA3 集群大小时选择传统节点类型** – 如果您尝试将包含 RA3 节点的集群的大小调整为另一种节点类型，例如 DC2，则控制台中会显示一条验证警告消息，调整大小操作将无法完成。之所以会出现这种情况，是因为不支持将大小调整为传统节点类型。这是为了防止客户将大小调整为已过时或即将弃用的节点类型。这同时适用于弹性大小调整和经典大小调整。

## 经典调整大小
<a name="classic-resize-faster"></a>

经典调整大小操作用于处理集群大小或节点类型的更改不受弹性调整大小支持的应用场景。当您执行经典调整大小时，Amazon Redshift 会创建一个目标集群，并将您的数据和元数据从源集群迁移到该集群。

### 对 RA3 进行经典调整大小可以提供更好的可用性
<a name="classic-resize-improved"></a>

当目标节点类型为 RA3 时，经典调整大小功能已得到增强。它通过在源集群与目标集群之间使用备份和还原操作来实现这一目标。开始调整大小时，源集群将重新启动并在数分钟内不可用。在此之后，集群可用于读取和写入操作，同时继续在后台调整大小。

#### 检查集群
<a name="classic-resize-improved-considerations"></a>

为确保在对 RA3 集群执行经典调整大小时获得最佳性能和结果，请完成此清单。如果您不遵循检查表，则可能无法获得使用 RA3 节点进行经典调整大小的一些好处，例如可以执行读写操作。

1. 数据的大小必须小于 2 PB。（1 PB 等于 1000 TB。） 要验证数据的大小，请创建快照并检查其大小。您还可以运行以下查询来检查大小：

   ```
   SELECT
   sum(case when lower(diststyle) like ('%key%') then size else 0 end) distkey_blocks,
   sum(size) as total_blocks,
   ((distkey_blocks/(total_blocks*1.00)))*100 as Blocks_need_redist
   FROM svv_table_info;
   ```

   `svv_table_info` 表仅对超级用户可见。

1. 在发起经典调整大小操作之前，请确保您拥有的手动快照是新鲜的，未久于 10 个小时。否则，请创建快照。

1. 用于执行经典调整大小的快照不能用于表还原或其他用途。

1. 集群必须位于 VPC 中。

#### 对 RA3 进行经典调整大小产生的排序和分配操作
<a name="classic-resize-effects"></a>

在对 RA3 进行经典大小调整期间，对于具有 KEY 分配但以 EVEN 分配方式迁移的表，会将其转换回其原始分配方式。此过程的持续时间取决于数据的大小和集群的繁忙程度。为查询工作负载分配更高的优先级，使其优先于数据迁移。有关更多信息，请参阅[分配方式](https://docs.aws.amazon.com/redshift/latest/dg/c_choosing_dist_sort.html)。在此迁移过程中，数据库可以读取和写入，但查询可能需要更长的时间才能完成。但在此期间，并发扩展可以通过为查询工作负载添加资源来提升性能。您可以查看 [SYS\$1RESTORE\$1STATE](https://docs.aws.amazon.com/redshift/latest/dg/SYS_RESTORE_STATE.html) 和 [SYS\$1RESTORE\$1LOG](https://docs.aws.amazon.com/redshift/latest/dg/SYS_RESTORE_LOG.html) 视图的结果来了解数据迁移的进度。有关监控的更多信息如下所示。

完全调整集群大小后，会出现以下排序行为：
+ 如果调整大小导致集群有更多切片，则 KEY 分配的表将变为部分未排序状态，但 EVEN 分配的表将保持已排序状态。此外，调整大小之后立即显示的已排序数据量信息可能不是最新的。恢复密钥后，自动 vacuum 会随着时间的推移对表进行排序。
+ 如果调整大小导致集群拥有的切片减少，则 KEY 分配的表和 EVEN 分配的表都将变为部分未排序状态。自动 vacuum 会随着时间的推移对表进行排序。

有关自动表 vacuum 的更多信息，请参阅[对表执行 vacuum 操作](https://docs.aws.amazon.com/redshift/latest/dg/t_Reclaiming_storage_space202.html)。有关计算节点中的切片的更多信息，请参阅[数据仓库系统架构](https://docs.aws.amazon.com/redshift/latest/dg/c_high_level_system_architecture.html)。

#### 目标集群为 RA3 时的经典调整大小步骤
<a name="classic-resize-stages-ra3"></a>

当目标集群类型为 RA3 并且您已满足上一节中详述的先决条件时，经典调整大小包含以下步骤。

1. 从源集群发起到目标集群的迁移。当预调配新的目标集群时，Amazon Redshift 发送一个事件通知，告知大小调整已开始。它会重新启动现有集群，这会关闭所有连接。如果您的现有集群是数据共享创建者集群，则与使用者集群的连接也会关闭。重新启动需要几分钟时间。

1. 重新启动后，数据库可用于读取和写入。此外，数据共享恢复，这又需要几分钟的时间。

1. 数据迁移到目标集群。当目标节点类型为 RA3 时，在数据迁移期间可以进行读取和写入。

1. 在调整大小过程即将完成时，Amazon Redshift 会将端点更新到目标集群，并将删除与源集群的所有连接。目标集群成为数据共享的创建者。

1. 调整大小的过程完成。Amazon Redshift 发送事件通知。

您可以在 Amazon Redshift 控制台上查看调整大小的进度。调整集群大小所用的时间取决于数据量。

**注意**  
 **调整 RA3 集群大小时选择传统节点类型** – 如果您尝试将包含 RA3 节点的集群的大小调整为另一种节点类型，例如 DC2，则控制台中会显示一条验证警告消息，调整大小操作将无法完成。之所以会出现这种情况，是因为不支持将大小调整为传统节点类型。这是为了防止客户将大小调整为已过时或即将弃用的节点类型。这同时适用于弹性大小调整和经典大小调整。

#### 当目标集群为 RA3 时监控经典调整大小
<a name="resize-monitoring"></a>

要监控预置集群正在进行的经典调整大小，包括 KEY 分配，请使用 [SYS\$1RESTORE\$1STATE](https://docs.aws.amazon.com/redshift/latest/dg/SYS_RESTORE_STATE.html)。它显示了正在转换的表的完成百分比。您必须是超级用户才能访问数据。

删除在执行经典调整大小时不需要的表。这样做时，可以更快地分配现有的表。

### 目标集群不是 RA3 时的经典调整大小步骤
<a name="classic-resize-stages"></a>

当目标节点类型为 RA3 以外的任何类型（例如 DC2）时，经典调整大小包含以下步骤。

1. 从源集群发起到目标集群的迁移。当预调配新的目标集群时，Amazon Redshift 发送一个事件通知，告知大小调整已开始。它会重新启动现有集群，这会关闭所有连接。如果您的现有集群是数据共享创建者集群，则与使用者集群的连接也会关闭。重新启动需要几分钟时间。

   请注意，在经典调整大小期间，不会保留使用 `BACKUP NO` 创建的任何数据库关系，例如表或实体化视图。有关更多信息，请参阅 [CREATE MATERIALIZED VIEW](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html)。

1. 重新启动后，数据库以只读形式可用。数据共享恢复，这又需要几分钟的时间。

1. 数据迁移到目标集群。数据库保持只读状态。

1. 在调整大小过程即将完成时，Amazon Redshift 会将端点更新到目标集群，并将删除与源集群的所有连接。目标集群成为数据共享的创建者。

1. 调整大小的过程完成。Amazon Redshift 发送事件通知。

您可以在 Amazon Redshift 控制台上查看调整大小的进度。调整集群大小所用的时间取决于数据量。

**注意**  
如果目标集群不是 RA3，或者它不符合上一节中详述的 RA3 目标集群的先决条件，则可能需要几天甚至几周的时间才能调整包含大量数据的集群的大小。  
另请注意，在进行了经典调整大小后，集群的已用存储容量可能会增加。当集群有由于经典调整大小而产生的额外数据切片时，这是正常的系统行为。即使集群中的节点数量保持不变，也可能会发生这种使用额外容量的情况。

### 弹性调整大小与经典调整大小的对比
<a name="classic-resize-vs-classic-resize"></a>

下表对比了两种调整大小类型之间的行为。


| 行为 | 弹性调整大小 | 经典调整大小 | 评论 | 
| --- | --- | --- | --- | 
| 系统数据留存 | 弹性调整大小将保留系统日志数据。 | 经典调整大小不会保留系统表和数据。 | 如果您在源集群中启用了审计日志记录，则您可以在调整大小后继续访问 Amazon S3 或 CloudWatch 中的日志。您可以根据数据策略的规定保留或删除这些日志。 | 
| 更改节点类型 | 当节点类型不变时弹性调整大小：就地调整大小，并将保留大多数查询。 在选择新节点类型的情况下弹性调整大小：将创建新集群。在调整大小过程完成后，将删除查询。 | 经典调整大小：将创建新集群。在调整大小过程中将删除查询。 |  | 
| 会话和查询留存 | 当源集群和目标集群中的节点类型相同时，弹性调整大小将保留会话和查询。如果您选择新的节点类型，则将删除查询。 | 经典调整大小不会保留会话和查询。将删除查询。 | 在删除查询后，预计会出现某种性能下降的情况。最好是在轻度使用期间执行调整大小操作。 | 
| 取消调整大小操作 | 您无法取消弹性调整大小。 | 您可以在经典调整大小操作完成之前取消该操作，方法是在 Amazon Redshift 控制台中从集群详细信息中选择**取消调整大小**。  | 取消调整大小操作所需的时间取决于取消时调整大小操作所处的阶段。在取消操作完成前，如果您这样做，集群将不可用。如果调整大小操作处于最后阶段，您将无法取消。 对 RA3 集群进行经典调整大小时，您无法取消。 | 

### 计划调整大小
<a name="rs-restore-resize-overview-schedule"></a>

您可以为集群制定调整大小操作计划，使其纵向扩展以满足预期高使用率的要求，或者缩减其规模以节约成本。计划适用于弹性调整大小和经典调整大小。您可以在 Amazon Redshift 控制台上设置计划。有关更多信息，请参阅**使用控制台管理集群**下的 [调整集群大小](#resizing-cluster)。还可以使用 AWS CLI 或 Amazon Redshift API 操作来设置调整大小计划。有关更多信息，请参阅 *AWS CLI 命令参考*中的 [create-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/redshift/create-scheduled-action.html) 和 *Amazon Redshift API 参考*中的 [CreateScheduledAction](https://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateScheduledAction.html)。

### 快照、还原和调整大小
<a name="rs-tutorial-snapshot-restore-resize-overview"></a>

[弹性调整大小](#elastic-resize)是调整 Amazon Redshift 集群大小的最快方法。如果弹性调整大小操作不适合您，并且您需要对集群进行近乎恒定的写入访问，则可以使用下一部分中所述的快照和还原操作以及经典调整大小。如果采用此方法，在切换后，您必须手动将在制作快照后写入源集群的所有数据都复制到目标集群中。根据复制用时，您可能需要重复执行此操作多次，直到两个集群中的数据相同。然后，您可以切换到目标集群。在目标集群拥有完整数据集之前，此过程可能会对现有查询产生负面影响。不过，它能最大程度地缩短您无法写入数据库的时间。

快照、还原和调整大小方法使用以下流程：

1. 为您的现有集群制作快照。现有集群就是源集群。

1. 记下制作快照的时间。这样做意味着，您稍后可确定需要重新运行提取、事务处理和加载 (ETL) 流程的时间点，从而将制作快照后写入的所有数据都加载到目标数据库中。

1. 将快照还原到新集群中。这个新集群就是目标集群。验证目标集群中包含示例数据。

1. 调整目标集群的大小。为目标集群选择新的节点类型、节点数和其他设置。

1. 查看为源集群制作快照后通过 ETL 流程加载的数据。请确保按相同顺序将相同的数据重新加载到目标集群中。如果您的数据正在不断加载，请重复执行此流程多次，直到源集群和目标集群中的数据相同为止。

1. 停止在源集群上运行的所有查询。为此，您可以重启集群，或以超级用户的身份登录并使用 [PG\$1CANCEL\$1BACKEND](https://docs.aws.amazon.com/redshift/latest/dg/PG_CANCEL_BACKEND.html) 和 [PG\$1TERMINATE\$1BACKEND](https://docs.aws.amazon.com/redshift/latest/dg/PG_TERMINATE_BACKEND.html) 命令。重启集群是确保集群不可用的最简单方法。

1. 重命名源集群。例如，将其从 `examplecluster` 重命名为 `examplecluster-source`。

1. 重命名目标集群，使用源集群在重命名之前的名称。例如，将目标集群从之前的名称重命名为 `examplecluster`。此后，使用包含 `examplecluster` 的端点的所有应用程序都会连接到目标集群。

1. 在切换到目标集群后删除源集群，并验证所有流程均可按预期正常工作。

或者，您可以在将数据重新加载到目标集群之前重命名源集群和目标集群。如果您不要求任何关联系统和报告立即与目标集群中的相应内容保持同步，则此方法有效。在这种情况下，步骤 6 将移至前述流程的最后。

仅当您希望应用程序继续使用相同的端点连接到集群时，才需要执行重命名流程。如果您没有此要求，则可以更新连接到集群的任何应用程序，以使用目标集群的端点，而无需重命名集群。

重新使用集群名称具有诸多优势。首先，您无需更新应用程序的连接字符串，因为端点始终保持不变，即使基础集群发生改变也是如此。其次，相关项（例如 Amazon CloudWatch 警报和 Amazon Simple Notification Service (Amazon SNS) 通知）与集群名称相关联。这种关联意味着，您可以继续使用已为集群设置的相同警报和通知。在您希望灵活调整集群大小而无需重新配置相关项目（如警报和通知）的生产环境中，继续使用集群名称关系重大。

# 重命名集群
<a name="rs-mgmt-rename-cluster"></a>

如果您希望集群使用其他名称，则可以对其进行重命名。由于连接到集群的端点包含集群名称（也称*集群标识符*），因此重命名集群之后，端点也会改为使用新名称。例如，如果您的集群名为 `examplecluster`，您将其重命名为 `newcluster`，则端点会改为使用 `newcluster` 标识符。连接至集群的所有应用程序都必须使用新的端点进行更新。

如果您希望更改应用程序所连接到的集群，但又不想更改这些应用程序中的端点，则可以重命名集群。在此情况下，您必须先重命名原始集群，然后更改第二个集群，以重新使用原始集群重命名之前的名称。之所以这样做，是因为集群标识符在您的账户和区域中必须是独一无二的，因此原始集群和第二个集群的名称不能相同。如果从快照中还原集群，并且不希望更改任何从属应用程序的连接属性，则可能会这样做。

**注意**  
 如果您删除原始集群，则还需删除任何不需要的集群快照。

当您重命名集群时，在该过程结束之前，集群的状态会变为 `renaming`。该集群使用的旧 DNS 名称会被立即删除，但可能会在缓存中保留几分钟。重命名后的集群的新 DNS 名称在大约 10 分钟内生效。重命名后的集群在新名称生效之前不可用。系统会重新启动集群，且集群的所有现有连接都会被删掉。此过程完成后，端点会改为使用新名称。因此，您应该在开始重命名之前停止运行查询，并在重命名完成后恢复运行。

 系统将会保留集群快照，而且与集群相关联的所有快照在集群重命名之后仍与该集群相关联。例如，假设您的一个集群服务于生产数据库且该集群有若干个快照。如果重命名该集群，然后在生产环境中将其替换为一个快照，则这些现有快照仍与重命名后的集群相关联。

 Amazon CloudWatch 警报和 Amazon Simple Notification Service (Amazon SNS) 事件通知与集群的名称相关联。如果您重命名该集群，则必须相应地对这些内容进行更新。您可以在 CloudWatch 控制台中更新 CloudWatch 警报，也可以在 Amazon Redshift 控制台中的**事件**窗格上更新 Amazon SNS 事件通知。集群的加载和查询数据在重命名前后都会继续显示数据。但是，性能数据则在重命名过程完成后重置。

有关更多信息，请参阅 [修改集群](modify-cluster.md)。

# 升级集群的发行版本
<a name="upgrade-release-version-cluster"></a>

您可以升级**版本状态**值为**有可用的新版本**的集群的发布维护版本。在升级维护版本时，可以选择是立即升级还是在下一个维护时段升级。

**重要**  
如果选择立即升级，您的集群将处于脱机状态，直到升级完成。

**将集群升级到新的发布版本**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**。

1. 选择要升级的集群。

1. 对于**操作**，选择**升级集群版本**。这将显示**升级集群版本**页面。

1. 按照页面上的说明操作。

1. 选择**升级集群版本**。

# 暂停和恢复集群
<a name="rs-mgmt-pause-resume-cluster"></a>

如果您的集群只需在特定时间可用，则可以暂停该集群，然后再恢复它。当集群暂停时，按需计费将暂停。仅集群的存储会产生费用。有关定价的更多信息，请参阅 [Amazon Redshift 定价页面](https://aws.amazon.com/redshift/pricing/)。

如果您暂停集群，Amazon Redshift 将创建快照、开始终止查询并将集群置于暂停状态。如果您删除已暂停的集群而未请求最终快照，则无法还原该集群。在暂停或恢复操作启动后，无法取消或回滚该操作。

您可以在新的 Amazon Redshift 控制台上暂停和恢复集群，也可以使用 AWS CLI 或 Amazon Redshift API 操作暂停和恢复集群。

可以计划用于暂停和恢复集群的操作。在使用新的 Amazon Redshift 控制台创建暂停和恢复的定期计划时，将为您选择的日期范围创建两个计划操作。计划操作名称的后缀为 `-pause` 和 `-resume`。名称的总长度必须在计划操作名称的最大大小范围内。

无法暂停以下类型的集群：
+ EC2-Classic 集群。
+ 不活动的集群，例如，当前正在修改的集群。
+ 硬件安全模块 (HSM) 集群。
+ 已关闭自动快照的集群。

在决定暂停集群时，请考虑以下事项：
+ 与集群的连接或针对集群的查询不可用。
+ 在 Amazon Redshift 控制台上看不到已暂停集群的查询监控信息。
+ 无法修改已暂停的集群。未对集群执行任何计划操作。其中包括创建快照、调整集群大小和集群维护操作。
+ 未创建硬件指标。如果已设置指标缺失警报，请更新 CloudWatch 警报。
+ 无法将已暂停集群的最新自动快照复制到手动快照。
+ 当正在暂停集群时，无法恢复集群，直至暂停操作完成。
+ 如果您暂停集群，则计费将暂停。不过，暂停操作通常在 15 分钟内完成，具体取决于集群的大小。
+ 审计日志已存档，无法在恢复时进行还原。
+ 暂停集群后，跟踪和日志可能无法用于对暂停之前出现的问题进行故障排除。
+  当您使用 AWS Secrets Manager 管理来管理您的管理员凭证并暂停了集群时，您集群的密钥不会被删除，并且系统将继续向您收取该密钥的费用。有关使用 AWS Secrets Manager 管理 Redshift 管理员密码的更多信息，请参阅[使用 AWS Secrets Manager 管理 Amazon Redshift 管理员密码](redshift-secrets-manager-integration.md)。
+ 对于 RA3 实例类型，恢复时会还原集群上的无备份表。对于 DC2 实例类型，恢复时不会还原这些表。有关无备份表的更多信息，请参阅[从快照中排除表](working-with-snapshots.md#snapshots-no-backup-tables)。

在恢复集群时，请考虑以下事项：
+ 已恢复集群的集群版本将根据集群的维护时段更新为维护版本。
+ 如果删除与已暂停集群关联的子网，则您的网络可能会不兼容。在此情况下，将从最新的快照还原您的集群。
+ 如果您在集群暂停时删除弹性 IP 地址，则会请求新的弹性 IP 地址。
+ 如果 Amazon Redshift 无法使用集群之前的弹性网络接口恢复集群，Amazon Redshift 会尝试分配一个新的弹性网络接口。
+ 在恢复集群时，您的节点 IP 地址可能会发生更改。对于从 Secure Shell (SSH) 执行 COPY 或从 Amazon EMR 执行 COPY 等功能，您可能需要更新 VPC 设置以支持这些新的 IP 地址。
+ 如果您尝试恢复未暂停的集群，恢复操作将返回错误。如果恢复操作是计划操作的一部分，请修改或删除计划操作以防止将来出现错误。
+ 根据集群的大小，可能需要几分钟来恢复集群，然后才能处理查询。此外，在恢复完成后重新补充集群时，查询性能可能会在一段时间内受到影响。

# 重新引导集群
<a name="reboot-cluster"></a>

重启集群是一种集群操作，使用与重启前相同的配置来重新启动集群。可以重启集群以应用待处理的维护更新、重置配置更改、从某些问题中恢复或解决集群问题。重启集群有助于确保 Amazon Redshift 环境的卓越性能、安全性和稳定性。以下过程提供了重启 Amazon Redshift 集群的详细步骤。

重启集群后，集群状态将设置为 `rebooting`，并在重启完成后创建一个集群事件。任何待处理的集群修改都将在此次重启时应用。

**重启集群**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**。

1. 选择要重启的集群。

1. 对于**操作**，选择**重启集群**。此时将显示**重启集群**页面。

1. 选择**重启集群**。

# 重新定位集群
<a name="managing-cluster-recovery"></a>

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

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

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

只有 RA3 实例类型支持 Amazon Redshift 集群重新放置。RA3 实例类型使用 Redshift 托管存储 (RMS) 作为持久存储层。集群数据的最新副本始终提供在 AWS 区域中的其他可用区中。换句话说，您可以将 Amazon Redshift 集群重新定位到另一个可用区，而不会丢失任何数据。

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

默认情况下，在新创建或还原的 RA3 集群（其子网组包含多个可用区）上，集群重新定位处于启用状态。在创建预置集群时，Amazon Redshift 将 5439 指定为默认端口。您可以更改为 5431-5455 或 8191-8215 端口范围内的另一个端口。（不要更改为超出范围的端口。这会导致错误。） 要更改预置集群的默认端口，请使用 Amazon Redshift 控制台、AWS CLI 或 Amazon Redshift API。要更改无服务器工作组的默认端口，请使用 AWS CLI 或 Amazon Redshift Serverless API。

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

您也可以使用 AWS Command Line Interface (AWS CLI) 命令 `describe-vpc-endpoints` 获取与端点关联的弹性网络接口。您可以使用 `describe-network-interfaces` 命令获取关联的 IP 地址。有关 Amazon Redshift AWS CLI 命令的更多信息，请参阅 *AWS CLI 命令参考*中的[可用命令](https://docs.aws.amazon.com/cli/latest/reference/redshift/index.html) 

## 限制
<a name="limitations-recovery"></a>

使用 Amazon Redshift 重新定位时，请注意以下限制：
+ 由于给定可用区中的潜在资源限制，可能无法在所有情况下进行集群重新定位。如果发生这种情况，Amazon Redshift 不会更改原始集群。
+ 产品的 DC2 实例系列不支持重新定位。
+ 您不能跨 AWS 区域执行重新定位。
+ Amazon Redshift 重新定位原定设置为端口号 5439。您也可以更改为 5431-5455 或 8191-8215 范围内的另一个端口。

## 使用控制台管理重新定位
<a name="cluster-recovery-console"></a>

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

### 在创建新集群时关闭重新定位
<a name="enable-relocate-new-cluster."></a>

在创建新集群时，可以使用以下过程关闭重新定位。

**为新集群关闭重新定位**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**。

1. 选择**创建集群**以创建新集群。有关如何创建集群的更多信息，请参阅《Amazon Redshift 入门指南》**中的 [Amazon Redshift 预置数据仓库入门](https://docs.aws.amazon.com/redshift/latest/gsg/new-user.html)。

1. 在**备份**下，对于**集群重新定位**选择**禁用**。默认情况下，重新定位处于开启状态。

1. 选择**创建集群**。

### 修改现有集群的重新定位
<a name="modify-relocate-cluster."></a>

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

**要修改现有集群的重新定位设置**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

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

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

1. 选择**维护**选项卡，然后在**备份详细信息**部分中选择**编辑**。

1. 在**备份**下，选择**已禁用**。默认情况下，重新定位处于开启状态。

1. 选择**修改集群**。

### 重新定位集群
<a name="relocate-cluster."></a>

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

**要将集群重新定位到其他可用区**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

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

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

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

1. （可选）选择一个**可用区**。如果您没有选择可用区，Amazon Redshift 会为您选择一个可用区。

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

## 使用 Amazon Redshift CLI 管理重新定位
<a name="cluster-recovery-cli"></a>

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

使用 AWS 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 --no-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
```

# 对集群设置用量限制
<a name="rs-mgmt-set-limit-cluster"></a>

您最多可以添加四个用量限制来控制以下每项的用量：
+  并发扩展 
+  使用额外的计算资源运行的自动优化 
+  Redshift Spectrum 用量 
+  跨区域数据共享 

## 为预置集群设置用量限制
<a name="rs-mgmt-set-limit-cluster-proc"></a>

以下是在预置集群上设置用量限制的过程：

**为集群设置用量限制**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 导航到要为其设置限制的预置集群。

1.  从集群的详细信息页面中，从**操作**下拉菜单中选择**管理用量限制**。也可以为集群选择**维护**选项卡，然后向下滚动并选择**创建用量限制**。

1.  为要设置的用量限制选择**添加限制**。您最多可以为一个给定功能添加 4 个限制。

1.  为用量限制设置**时间段**，即**每日**、**每周**或**每月**。

1.  设置**用量限制**。
   +  对于使用额外计算资源限制运行的并发扩展和自动优化，用量限制是 Amazon Redshift 在给定时间段内使用该功能所花的时间量。在这种情况下，用量限制以小时和分钟为单位设置。
   +  对于 Redshift Spectrum，用量限制是从 Amazon S3 扫描的数据量。在这种情况下，用量限制以太字节（TB）为单位设置。
   +  对于跨区域数据共享，用量限制是指使用者可以查询的从生产者区域传输到使用者区域的数据量。在这种情况下，用量限制以太字节（TB）为单位设置。

1.  设置当您的集群达到限制时，Amazon Redshift 要采取的**操作**。这些操作包括：
   +  **记录到系统表**：向系统视图 [SYS\$1QUERY\$1HISTORY](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_HISTORY.html) 中添加记录。您可以在此视图中查询 usage\$1limit 列，来确定查询是否超出了限制。
   +  **警报**：使用 Amazon SNS 设置通知订阅，并在违反限制时发送通知。您可以选择现有的 Amazon SNS 主题、创建新主题或在无主题的情况下继续操作。
   +  **禁用功能**：禁用该功能。还可以选择使用 Amazon SNS 来发送通知。用户可以继续使用集群来执行其它任务。

   前两个操作是信息性的，但最后一个操作会关闭此功能的使用。

1.  选择页面底部的**保存**以保存限制。如果您同时设置了多个限制，**保存更改**将同时保存所有限制。

# 关闭和删除集群
<a name="rs-mgmt-shutdown-delete-cluster"></a>

如果您希望集群停止运行且不再产生费用，则可以将其关闭。在关闭集群时，您可以选择创建一个最终快照。如果您创建最终快照，则 Amazon Redshift 会在您将集群关闭之前为其创建一个手动快照。如果您打算使用与要删除的集群相同的数据和配置来预配置新集群，您将需要使用手动快照。通过使用手动快照，您可以稍后还原快照并恢复使用集群。

如果您不再需要集群及其数据，则可以将其关闭，而不创建最终快照。在这种情况下，会永久删除该集群及其数据。

无论在您关闭集群时是否有最终手动快照，与该集群相关联的所有自动快照都会在您关闭集群后删除。与该集群相关联的所有手动快照都会保留下来。如果您在关闭集群时没有其他正在运行的集群，或者正在运行的 Amazon Redshift 集群超出了向您提供的免费可用存储，则您需要针对保留下来的所有手动快照（包括可选的最终快照）按 Amazon Simple Storage Service 存储费率支付相应的费用。有关快照存储费用的更多信息，请参阅 [Amazon Redshift 定价页面](https://aws.amazon.com/redshift/pricing/)。

删除集群也会删除所有关联的 AWS Secrets Manager 密钥。

**删除集群**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**。

1. 选择要删除的集群。

1. 对于**操作**，选择**删除**。此时将显示**删除集群**页面。

1. 选择**删除集群**。

**注意**  
当您删除集群并选择创建最终快照时，如果正在对该集群执行还原操作，则 Amazon Redshift 将停止删除请求。如果发生这种情况，您可以删除没有最终快照的集群，也可以在还原完成后将其与最终快照一起删除。

# Amazon Redshift 快照和备份
<a name="working-with-snapshots"></a>

快照是集群的时间点备份。存在两种类型的快照：*自动*和*手动*。Amazon Redshift 通过使用加密的安全套接字层 (SSL) 连接，在 Amazon S3 内部存储这些快照。

Amazon Redshift 会自动拍摄递增快照，来跟踪自上次自动快照拍摄以来集群发生的变化。自动快照保留从快照还原集群所需的全部数据。您可以创建快照计划来控制何时拍摄自动快照，也可以随时拍摄手动快照。

当您从快照还原时，Amazon Redshift 将创建一个新集群并使该新集群在所有数据都已加载前可用，从而使您可以立即开始查询新集群。该集群将按需流式传输来自快照的数据以响应活动查询，然后在后台加载剩余的数据。

在启动集群时，可以设置自动快照和手动快照的保留期。您可以通过修改集群来更改自动快照和手动快照的默认保留期。您可以在创建快照时或通过修改快照来更改手动快照的保留期。

您可以通过下列方式监控快照进度：在 AWS 管理控制台中查看快照详细信息、调用 CLI 中的 [describe-cluster-snapshots](https://docs.aws.amazon.com/cli/latest/reference/redshift/describe-cluster-snapshots.html) 或调用 [DescribeClusterSnapshots](https://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusterSnapshots.html) API 操作。对于正在进行的快照，通过上述方式可以看到增量快照的大小、传输速率、已用时间以及估计的剩余时间等信息。

为了确保您的备份始终对集群可用，Amazon Redshift 将快照存储在由 Amazon Redshift 管理的内部托管 Amazon S3 桶中。要管理存储费用，请估计需要将自动快照保留多少天并相应地配置其保留期。删除所有不再需要的手动快照。有关备份存储成本的更多信息，请参阅 [Amazon Redshift 定价](https://aws.amazon.com/redshift/pricing/)。

您还可以使用 AWS Backup 创建和还原快照，这是一项完全托管式服务，有助于您在云端以及在本地集中管理和自动执行各种 AWS 服务中的数据保护。有关更多信息，请参阅 [AWS Backup 与 Amazon Redshift 集成](managing-aws-backup.md)。有关 AWS Backup 的信息，请参阅《AWS Backup Developer Guide》**中的 [What is AWS Backup?](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html)

## 使用 Amazon Redshift Serverless 中的快照和备份
<a name="working-with-snapshots-serverless"></a>

Amazon Redshift Serverless 与预置集群一样，使您能够将备份作为命名空间中的对象和数据在某个时间点的表示形式。Amazon Redshift Serverless 中的备份有两种类型：手动创建的快照，以及 Amazon Redshift Serverless 自动创建的恢复点。可以在[快照和恢复点](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-snapshots-recovery-points.html)中找到有关使用 Amazon Redshift Serverless 快照的更多信息。

您也可以将快照从预置集群还原到无服务器命名空间。有关更多信息，请参阅[从快照还原无服务器命名空间](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-snapshot-restore.html)。

## 自动快照
<a name="about-automated-snapshots"></a>

当某个集群的自动快照处于启用状态时，Amazon Redshift 会定期拍摄该集群的快照。默认情况下，Amazon Redshift 大约每 8 小时或在每节点数据更改达到 5 GB 时拍摄一次快照，以先到者为准。如果您的数据大于 5 GB \$1 节点数，则自动快照创建间隔的最短时间为 15 分钟。或者，您也可以创建快照计划来控制何时拍摄自动快照。如果您使用自定义计划，则自动快照间隔的最短时间为 1 小时。当您创建集群时，自动快照默认处于启用状态。

系统会在保留期结束时删除自动快照。默认保留期为一天；不过，您可以使用 Amazon Redshift 控制台对其进行修改，也可以使用 Amazon Redshift API 或 CLI 以编程方式对其进行修改。

要禁用自动快照，只需将保留期设置为零即可。如果您禁用自动快照，则 Amazon Redshift 会停止拍摄快照并删除相应集群的任何现有自动快照。您不能为 RA3 节点类型禁用自动快照。您可以将 RA3 节点类型的自动保留期设置为 1-35 天。

只有 Amazon Redshift 才能删除自动快照；您不能手动删除它们。Amazon Redshift 会在下列情况下删除自动快照：快照的保留期结束时、您禁用了集群的自动快照或您删除了集群。*Amazon Redshift 会保留最新的自动快照，直到您禁用自动快照或删除集群为止。*

如果您想要将自动快照保留更长时间，则可以创建一份副本作为手动快照。自动快照会保留至保留期结束；而相应的手动快照在您将其手动删除前或保留期结束前将会一直保留。

## 自动快照计划
<a name="automated-snapshot-schedules"></a>

要精确控制拍摄快照的时间，您可以创建快照计划并将其附加到一个或多个集群。修改快照计划时，将修改所有关联集群的计划。如果集群未附加快照计划，其将使用默认的自动快照计划。

*快照计划* 是一组计划规则。您可以基于指定的时间间隔（例如每 8 小时或每 12 小时）定义简单的计划规则。也可以添加规则来在一周中的某些天、特定时间或特定时段拍摄快照。此外，您还可以使用类 Unix 系统的 cron 表达式定义规则。

## 快照计划格式
<a name="working-with-snapshot-scheduling"></a>

您可以在 Amazon Redshift 控制台中创建快照计划。然后，您可以将计划附加到集群来触发创建系统快照。可以将计划附加到多个集群，也可以在计划中创建多个 cron 定义来触发快照。

您可以使用 cron 语法为快照定义计划。这些计划的定义使用经过修改的类 Unix 系统的 [cron](http://en.wikipedia.org/wiki/Cron) 语法。您可以使用[协调世界时 (UTC)](http://en.wikipedia.org/wiki/Coordinated_Universal_Time) 格式指定时间。您可以创建最大频率为 1 小时、最小精度为 1 分钟的计划。

Amazon Redshift 修改后的 cron 表达式有 3 个必填字段，之间以空格分隔。

**语法**

```
cron(Minutes Hours Day-of-month Month Day-of-week Year)
```


| **字段** | **值** | **通配符** | 
| --- | --- | --- | 
|  分钟  |  0-59  |  , - \$1 /   | 
|  小时  |  0-23  |  , - \$1 /   | 
|  Day-of-month  |  1-31  |  , - \$1 ? / L W  | 
|  Month  |  1-12 或 JAN-DEC  |  , - \$1 /  | 
|  星期几  |  1–7 或 SUN-SAT  |  , - \$1 ? L \$1  | 
|  Year  |  1970-2199  |  , - \$1 /  | 

**通配符**
+ **,**（逗号）通配符包含其他值。在 `Day-of-week` 字段中，`MON,WED,FRI` 将包含星期一、星期三和星期五。总值限制为每字段 24 个。
+ **-**（破折号）通配符用于指定范围。在 `Hour` 字段中，1–15 将包含指定日期的 1 - 15 小时。
+ **\$1**（星号）通配符包含该字段中的所有值。在 `Hours` 字段中，**\$1** 将包含每个小时。
+ **/**（正斜杠）通配符用于指定增量。在 `Hours` 字段中，您可以输入 **1/10** 来指定从当天的第 1 个小时开始每隔 10 小时（例如，01:00、11:00 和 21:00）。
+ **?**（问号）通配符用于指定一个或另一个。在 `Day-of-month` 字段中，您可以输入 **7**，如果您不介意 7 日是星期几，则可以在“星期几”字段中输入 **?**。
+ ** 或 ** 字段中的 `Day-of-month`L`Day-of-week` 通配符用于指定月或周的最后一天。
+ `Day-of-month` 字段中的 **W** 通配符用于指定工作日。在 `Day-of-month` 字段中，`3W` 用于指定最靠近当月的第三周的日。
+ “Day-of-week”字段中的 **\$1** 通配符用于指定一个月内所指定星期几的特定实例。例如，3\$12 指该月的第二个星期二：3 指的是星期二，因为它是每周的第三天，2 是指该月内该类型的第二天。
**注意**  
如果使用 “\$1” 字符，则只能在星期字段中定义一个表达式。例如，“3\$11,6\$13”是无效的，因为它被解释为两个表达式。

**限制**
+ 您无法在同一 cron 表达式中为 `Day-of-month` 和 `Day-of-week` 字段同时指定值。如果您在其中一个字段中指定了值，则必须在另一个字段中使用 **?**（问号）。
+ 快照计划不支持以下频率：
  + 计划快照的频率超过每小时 1 次。
  + 计划快照的频率低于每天 1 次（24 小时）。

  如果您有重叠的计划导致在 1 小时时段内计划了多次快照，将产生验证错误。

在创建计划时，您可以使用以下示例 cron 字符串。


| 分钟 | 小时 | 星期几 | 意义 | 
| --- | --- | --- | --- | 
|  0  |  14-20/1  |  TUE  |  星期二下午 2 点到晚上 8 点之间，每小时拍摄一次。  | 
|  0  |  21  |  MON-FRI  |  每天晚上 9 点，星期一至星期五。  | 
|  30  |  0/6  |  SAT-SUN  |  星期六和星期日从当天午夜 30 分 (00:30) 开始，每 6 小时拍摄一次。这导致在每天的 [00:30、06:30、12:30 和 18:30] 拍摄快照。  | 
|  30  |  12/4  |  \$1  |  每天从 12:30 开始，每 4 小时拍摄一次。这将解析为 [12:30、16:30、20:30]。  | 

例如，要运行每天从 15:15 开始、每 2 小时拍摄一次的计划 （解析为 [15:15、17:15、19:15、21:15、23:15]），请指定：

```
cron(15 15/2 *)   
```

您可以在计划中创建多个 cron 计划定义。例如，以下 AWS CLI 命令在一个计划中包含两个 cron 计划。

```
create-snapshot-schedule --schedule-identifier "my-test" --schedule-definition "cron(0 17 SAT,SUN)" "cron(0 9,17 MON-FRI)"   
```

## 手动快照
<a name="about-manual-snapshots"></a>

您可以随时制作手动快照。默认情况下，即使您删除相应集群，手动快照也会无限期保留。您可以在创建手动快照时指定保留期，也可以通过修改快照来更改保留期。有关更改保留期的更多信息，请参阅[修改手动快照保留期](snapshot-manual-retention-period.md)。

如果删除某个快照，则无法启动任何引用该快照的新操作。不过，如果某个还原操作正在进行中，则该还原操作会运行完成。

Amazon Redshift 设有配额，用以限制您能够创建的手动快照的总数；该配额因不同的 AWS 账户及不同的 AWS 区域而异。默认的配额列出在 [Amazon Redshift 资源中的配额和限制](amazon-redshift-limits.md) 中。

## 快照存储
<a name="managing-snapshot-storage"></a>

由于快照会产生存储费用，因此，当您不再需要快照时，务必将其手动删除。在相应的快照保留期结束时，Amazon Redshift 将删除自动快照和手动快照。您也可以使用 AWS 管理控制台 或 [batch-delete-cluster-snapshots](https://docs.aws.amazon.com/cli/latest/reference/redshift/batch-delete-cluster-snapshots.html) CLI 命令来删除手动快照。

您可以通过修改手动快照设置来更改手动快照的保留期。

您可以使用 Amazon Redshift 控制台或 [describe-storage](https://docs.aws.amazon.com/cli/latest/reference/redshift/describe-storage.html) CLI 命令获取有关快照占用的存储量的信息。

## 从快照中排除表
<a name="snapshots-no-backup-tables"></a>

默认情况下，所有用户定义的永久表都包含在快照中。如果表（如暂存表）不需要备份，您可以显著降低创建快照并从快照还原所需的时间。您还可以使用无备份表减小在 Amazon S3 上占用的存储空间。要创建无备份表，请在创建该表时包含 BACKUP NO 参数。有关语法的更多信息，请参阅《Amazon Redshift 数据库开发人员指南》**中的 [CREATE TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_TABLE_NEW.html) 和 [CREATE TABLE AS](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_TABLE_AS.html)。

**注意**  
RA3 预调配集群和 Amazon Redshift Serverless 工作组不支持无备份表。在 RA3 集群和 Serverless 工作组中标记为无备份的表将被视为永久表，在拍摄快照时将始终对其进行备份，并在从快照还原时还原该表。要避免无备份表产生快照成本，请在拍摄快照之前将其截断。

# 创建手动快照
<a name="snapshot-create"></a>

您可以从如下所示的快照列表中创建集群的手动快照。您也可以在集群配置窗格中制作集群快照。有关更多信息，请参阅 [Amazon Redshift 快照和备份](working-with-snapshots.md)。

**注意**  
RA3 预调配集群和 Amazon Redshift Serverless 工作组不支持无备份表。在 RA3 集群和 Serverless 工作组中标记为无备份的表将被视为永久表，在拍摄快照时将始终对其进行备份，并在从快照还原时还原该表。要避免无备份表产生快照成本，请在拍摄快照之前将其截断。

**创建手动快照**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**、**快照**，然后选择**创建快照**。此时将显示用于创建手动快照的快照页面。

1. 输入快照定义的属性，然后选择**创建快照**。快照可能需要一段时间才可用。

# 创建快照计划
<a name="snapshot-schedule-create"></a>

Amazon Redshift 会定期自动对您的数据拍摄递增快照，并将其保存到 Amazon S3 中。此外，您可以随时对数据制作手动快照。

Amazon Redshift 控制台中的所有快照任务都从快照列表开始。您可以使用时间范围、快照类型以及与快照关联的集群来筛选该列表。此外，您可以按日期、大小和快照类型对列表进行排序。根据您选择的快照类型，您处理快照的选项可能有所不同。

要精确控制拍摄快照的时间，您可以创建快照计划并将其附加到一个或多个集群。您可以在创建集群时或通过修改集群来附加计划。有关更多信息，请参阅 [自动快照计划](working-with-snapshots.md#automated-snapshot-schedules)。

**要创建快照计划**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**、**快照**，然后选择**快照计划**选项卡。此时将显示快照计划。

1. 选择**添加计划**以显示添加计划的页面。

1. 输入计划定义的属性，然后选择**添加计划**。

1. 在显示的页面上，您可以将集群附加到新的快照计划，然后选择**确定**。

# 共享快照
<a name="working-with-snapshot-share-snapshot"></a>

您可以授权其他 AWS 客户账户访问现有手动快照，以与其共享该快照。对于每个快照，最多可以授权 20 个客户账户；对于每个 AWS Key Management Service (AWS KMS) 密钥，则最多可以授权 100 个。例如，如果您有 10 个快照，它们使用了一个 KMS 密钥加密，那么您可以授权 10 个 AWS 账户来还原每个快照，或者是其他组合：总共 100 账户以及每个快照不超过 20 个账户。然后，以用户身份登录其中一个已授权账户的人可以对快照加以说明，也可以还原快照以在其账户下创建一个新的 Amazon Redshift 集群。例如，如果您针对生产和测试使用不同的 AWS 客户账户，则用户可以使用生产账户登录并与使用测试账户的用户共享快照。然后，以测试账户用户身份登录的人可以还原快照以创建一个新的集群，该集群由测试账户所有，用于测试或诊断工作。

手动快照由在其下创建该快照的 AWS 客户账户永久所有。只有拥有相应快照的账户中的用户可以授权其他账户访问该快照或撤消授权。已授权账户中的用户只能对与其共享的任何快照加以说明或还原相应快照；他们无法复制或删除与其共享的快照。授权在快照所有者将其撤消之前保持有效。如果所有者撤消授权，则之前已获授权的用户将无法再看到相应快照，也无法再启动任何引用该快照的新操作。如果在所有者撤消授权时相应账户正在还原快照，则该还原操作会运行完成。您无法删除具有活跃授权的快照；必须先撤消所有授权。

AWS 客户账户始终能够访问相应账户所有的快照。如果尝试授予或撤消对所有者账户的访问权限，则会收到一条错误消息。您无法还原由非活动 AWS 客户账户所有的快照，也无法对其加以说明。

当您获得访问 AWS 客户账户的授权之后，该账户中便没有任何用户可以针对相应快照执行任何操作，除非他们代入的角色具有允许他们这样做的策略。
+ 快照拥有者账户中的用户只能在以下情况下授予和撤消快照访问权限：此类用户代入的角色具有相应的 IAM 策略，允许他们通过包含该快照的资源规范执行此类操作。例如，以下策略允许 AWS 账户（`012345678912`）中的用户或角色授权其他账户访问名为 `my-snapshot20130829` 的快照：

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement":[
      {
        "Effect":"Allow",
        "Action":[
            "redshift:AuthorizeSnapshotAccess",
            "redshift:RevokeSnapshotAccess"
            ],
        "Resource":[
             "arn:aws:redshift:us-east-1:012345678912:snapshot:*/my-snapshot20130829"
            ]
      }
    ]
  }
  ```

------
+ 与其共享快照的 AWS 账户中的用户无法针对该快照执行操作，除非他们具有相应的权限允许他们执行这些操作。为此，您可以将策略分配给角色并代入该角色。
  + 要列出快照或对其加以说明，相应用户必须具有相应的 IAM 策略，允许他们执行 `DescribeClusterSnapshots` 操作。下方代码显示了一个示例：

------
#### [ JSON ]

****  

    ```
    {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
        {
          "Effect":"Allow",
          "Action":[
              "redshift:DescribeClusterSnapshots"
              ],
          "Resource":[
               "*"
              ]
        }
      ]
    }
    ```

------
  + 要还原快照，用户必须代入角色，该角色具有相应的 IAM 策略允许他们执行 `RestoreFromClusterSnapshot` 操作，且该策略要有一个资源元素，同时涵盖他们尝试创建的集群以及相应快照。例如，如果账户 `012345678912` 中的用户与账户 `219876543210` 共享了快照 `my-snapshot20130829`，则为了通过还原快照来创建集群，账户 `219876543210` 中的用户必须代入具有如下策略的角色：

------
#### [ JSON ]

****  

    ```
    {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
        {
          "Effect":"Allow",
          "Action":[
              "redshift:RestoreFromClusterSnapshot"
              ],
          "Resource":[
               "arn:aws:redshift:us-east-1:012345678912:snapshot:*/my-snapshot20130829",
               "arn:aws:redshift:us-east-1:219876543210:cluster:from-another-account"
              ]
        }
      ]
    }
    ```

------
  + 在撤销 AWS 账户对快照的访问权限后，该账户中的所有用户均无法访问该快照。即使这些账户具有允许对以前共享的快照资源执行操作的 IAM 策略，也是如此。

## 使用控制台共享集群快照
<a name="snapshot-share"></a>

在控制台上，您可以授权其他用户访问您拥有的手动快照，随后在不再需要时撤消该访问权限。

**要与另一个账户共享快照**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**、**快照**，然后选择要共享的手动快照。

1. 对于**操作**，选择**手动快照设置**以显示手动快照的属性。

1. 在**管理访问权限**部分中输入要与之共享的一个或多个账户，然后选择**保存**。

## 共享加密快照的安全注意事项
<a name="snapshot-share-access-kms-key"></a>

 当您提供对加密快照的访问权限时，Redshift 要求用于创建快照的 AWS KMS 客户托管式密钥与执行恢复的一个或多个账户共享。如果密钥未共享，尝试恢复快照将导致拒绝访问错误。接收账户不需要任何额外权限即可还原共享快照。当您授予快照访问权限并共享密钥时，授予访问权限的身份必须对用于加密快照的密钥具有 `kms:DescribeKey` 权限。有关此权限的更多详细信息，请参阅 [AWS KMS 权限](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html)。有关更多信息，请参阅 Amazon Redshift API 参考文档中的 [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)。

客户托管的密钥策略可以通过编程方式或在 AWS Key Management Service 控制台中更新。

**注意**  
如果您使用默认 KMS 密钥，则无需在 AWS KMS 中采取任何操作或进行任何更改即可共享快照。

### 允许访问加密快照的 AWS KMS 密钥
<a name="snapshot-share-access-kms-key-allowing-access"></a>

共享加密快照的 AWS KMS 客户托管式密钥，请执行以下步骤更新密钥策略：

1. 使用 KMS 密钥策略中作为 `Principal` 共享的 AWS 账户的 Amazon 资源名称（ARN）更新 KMS 密钥策略。

1.  允许 `kms:Decrypt` 操作。

在下面的密钥策略示例中，用户 `111122223333` 是 KMS 密钥的所有者，而用户 `444455556666` 是与之共享密钥的账户。通过包含用户 `444455556666` 的根 AWS 账户身份的 ARN 作为策略的 `Principal`，以及通过允许 `kms:Decrypt` 操作，此密钥策略为 AWS 账户提供了访问 KMS 密钥的权限。

------
#### [ JSON ]

****  

```
{
    "Id": "key-policy-1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/KeyUser",
                    "arn:aws:iam::444455556666:root"
                ]
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*"
        }
    ]
}
```

------

授予客户托管式 KMS 密钥访问权限后，恢复加密快照的账户必须创建 AWS Identity and Access Management (IAM) 角色或用户（如果用户尚未拥有该角色）。此外，该 AWS 账户还必须将 IAM 策略附加到该 IAM 角色或用户，以允许他们使用您的 KMS 密钥恢复加密的数据库集群快照。

要详细了解如何提供对 AWS KMS 密钥的访问权限，请参阅《AWS Key Management Service 开发人员指南》中的[允许其他账户中的用户使用 KMS 密钥](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html#cross-account-console)。

有关密钥策略的概览，请参阅 [Amazon Redshift 如何使用 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/services-redshift.html)。

# 复制自动快照
<a name="snapshot-copy"></a>

自动快照会在其保留期到期、您禁用自动快照或者您删除集群时自动删除。如果要保留自动快照，可将其复制到手动快照。

**复制自动快照**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**、**快照**，然后选择要复制的快照。

1. 对于**操作**，选择**复制自动快照**以复制快照。

1. 更新新快照的属性，然后选择**复制**。

# 将快照复制到其它 AWS 区域
<a name="cross-region-snapshot-copy"></a>

您可以配置 Amazon Redshift，以将集群的快照（自动或手动）自动复制到另一个 AWS 区域。在集群的主要 AWS 区域创建快照时，它会复制到辅助 AWS 区域。这两个 AWS 区域分别称为*源 AWS 区域*和*目标 AWS 区域*。如果您在另一个 AWS 区域中存储快照副本，则在有任何事情影响主要 AWS 区域时，您可以使用最新数据还原集群。您可以配置集群，一次仅将快照复制到一个目标 AWS 区域。有关 Amazon Redshift 区域的列表，请参阅《Amazon Web Services 一般参考》**中的[区域和端点](https://docs.aws.amazon.com/general/latest/gr/rande.html)。

启用 Amazon Redshift 以自动将快照复制到另一个 AWS 区域时，您需要指定要将快照复制到哪个目标 AWS 区域。对于自动快照，您也可以指定此类快照在目标 AWS 区域中的保留期。自动快照复制到目标 AWS 区域且达到保留期之后，便会从目标 AWS 区域删除。这样做可以降低快照的使用率。若要让自动快照在目标 AWS 区域中保留更短时间或更长时间，请更改此保留期。

您为复制到目标 AWS 区域的自动快照设置的保留期与源 AWS 区域中的自动快照的保留期无关。复制的快照的默认保留期为七天。该七天保留期仅适用于自动快照。在源和目标 AWS 区域中，将在快照保留期结束时或手动删除时删除手动快照。

您可以随时禁用集群的自动快照复制功能。当您禁用此功能时，快照将不再从源 AWS 区域复制到目标 AWS 区域。复制到目标 AWS 区域的所有自动快照都将在达到保留期时删除，除非您为其创建手动快照副本。此类手动快照以及从目标 AWS 区域复制的所有手动快照在您将其手动删除之前将会一直保留在目标 AWS 区域中。

若要更改用于接收复制快照的目标 AWS 区域，请先禁用自动复制功能。然后重新启用它，并指定新的目标 AWS 区域。

某个快照复制到目标 AWS 区域之后，便处于活动和可用状态，可用于还原相关内容。

要将 AWS KMS 加密的集群的快照复制到另一个 AWS 区域，则必须为 Amazon Redshift 创建授权，以在目标 AWS 区域中使用客户主密钥。然后在启用源 AWS 区域中的快照复制功能时选择该权限授予。有关配置快照复制授权的更多信息，请参阅[将 AWS KMS 加密的快照复制到另一个 AWS 区域](working-with-db-encryption.md#configure-snapshot-copy-grant)。

# 从快照还原集群
<a name="working-with-snapshot-restore-cluster-from-snapshot"></a>

快照包含来自您的集群上运行的任何数据库的数据。它还包含有关集群的信息，包括节点数、节点类型和管理员用户名。如果您从快照恢复集群，Amazon Redshift 会使用集群信息来创建新集群。然后它会从快照数据中恢复所有数据库。

**注意**  
RA3 预调配集群和 Amazon Redshift Serverless 工作组不支持无备份表。在 RA3 集群和 Serverless 工作组中标记为无备份的表将被视为永久表，在拍摄快照时将始终对其进行备份，并在从快照还原时还原该表。

对于从源快照创建的新集群，您可以选择配置，例如节点类型和节点数。如果您没有在请求中指定其他可用区，则该集群存储在相同的 AWS 区域和可用区。当您从快照还原集群时，可为新集群选择兼容的维护跟踪。

**注意**  
当您将快照恢复到具有不同配置的集群时，该快照必须在集群版本为 1.0.10013 或更高版本的集群上获取。

恢复正在进行时，事件通常按以下顺序发出：

1. RESTORE\$1STARTED – 当恢复过程开始时发送 REDSHIFT-EVENT-2008。

1. RESTORE\$1SUCCEEDED – 新集群已创建时发送 REDSHIFT-EVENT-3003。

   集群可用于查询。

1. DATA\$1TRANSFER\$1COMPLETED – 数据传输完成时发送 REDSHIFT-EVENT-3537。

**注意**  
RA3 集群仅发出 RESTORE\$1STARTED 和 RESTORE\$1SUCCEEDED 事件。由于 RA3 节点类型将数据存储在 Amazon Redshift 托管存储中，因此在 RESTORE 成功后不会进行显式的数据传输。使用 RA3 节点，作为正常查询处理的一部分，数据在 RA3 节点和 Amazon Redshift 托管存储之间持续传输。RA3 节点在本地缓存热数据，并自动将查询频率较低的数据块保存在 Amazon Redshift 托管存储中。

您可以通过下列方式监控还原进度：调用 [DescribeClusters](https://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusters.html) API 操作或在 AWS 管理控制台 中查看集群详细信息。对于正在进行的还原，通过上述方式可以看到快照数据的大小、传输速率、已用时间以及估计的剩余时间等信息。有关这些指标的说明，请参阅 [RestoreStatus](https://docs.aws.amazon.com/redshift/latest/APIReference/API_RestoreStatus.html)。

您无法使用快照将活动的集群还原为之前的状态。

**注意**  
当您将快照还原为新集群时，如果您没有指定其他值，则使用默认的安全组和参数组。

出于以下原因，您可能想要将快照恢复到具有不同配置的集群：
+ 集群由较小的节点类型组成，且您想要将它合并到具有较少节点的较大节点类型。
+ 您监控工作负载并确定需要迁移到具有更多 CPU 和存储的节点类型。
+ 您想要衡量具有不同节点类型的测试工作负载的性能。

还原具有以下限制：
+ 新的节点配置必须为现有数据提供足够的存储空间。甚至在添加节点时，由于数据的重新分配方式，新配置可能没有足够的存储空间。
+ 还原操作将检查快照是否在与新集群的集群版本兼容的集群版本上创建。如果新集群的版本级别太早，则恢复操作将失败，并在错误消息中报告更多信息。
+ 可还原到的可能配置（节点数和节点类型）取决于原始集群中的节点数量和新集群的目标节点类型。要确定可能的配置，您可以使用 Amazon Redshift 控制台或 `describe-node-configuration-options` AWS CLI 命令结合 `action-type restore-cluster`。有关使用 Amazon Redshift 控制台进行还原的更多信息，请参阅[从快照还原集群](#working-with-snapshot-restore-cluster-from-snapshot)。

以下步骤使用 AWS CLI 获取具有许多节点的集群，并将它合并到具有较少节点数的更大节点类型。在此示例中，我们从一个具有 24 个 节点的源集群开始。在本例中，假设我们已经为此集群创建了一个快照，并且我们想要将它恢复到更大的节点类型。

1.  运行以下命令，获取 24 节点 集群的详细信息。

   ```
   aws redshift describe-clusters --region eu-west-1 --cluster-identifier mycluster-123456789012
   ```

1. 运行以下命令，获取快照的详细信息。

   ```
   aws redshift describe-cluster-snapshots --region eu-west-1 --snapshot-identifier mycluster-snapshot
   ```

1. 运行以下命令，描述此快照可用的选项。

   ```
   aws redshift describe-node-configuration-options --snapshot-identifier mycluster-snapshot --region eu-west-1 --action-type restore-cluster
   ```

   此命令会返回一个选项列表，包括每个选项的建议节点类型、节点数和磁盘利用率。在此示例中，上述命令列出以下可能的节点配置。我们选择恢复到三节点 集群。

   ```
   {
       "NodeConfigurationOptionList": [
           {
               "EstimatedDiskUtilizationPercent": 65.26134808858235,
               "NodeType": "dc2.large",
               "NumberOfNodes": 24
           },
           {
               "EstimatedDiskUtilizationPercent": 32.630674044291176,
               "NodeType": "dc2.large",
               "NumberOfNodes": 48
           },
           {
               "EstimatedDiskUtilizationPercent": 65.26134808858235,
               "NodeType": "dc2.8xlarge",
               "NumberOfNodes": 3
           },
           {
               "EstimatedDiskUtilizationPercent": 48.94601106643677,
               "NodeType": "dc2.8xlarge",
               "NumberOfNodes": 4
           },
           {
               "EstimatedDiskUtilizationPercent": 39.156808853149414,
               "NodeType": "dc2.8xlarge",
               "NumberOfNodes": 5
           },
           {
               "EstimatedDiskUtilizationPercent": 32.630674044291176,
               "NodeType": "dc2.8xlarge",
               "NumberOfNodes": 6
           }
       ]
   }
   ```

1. 运行以下命令，将快照恢复到我们选择的集群配置。恢复此集群之后，我们拥有与源集群相同的内容，但数据已合并到三个 `dc2.8xlarge` 节点。

   ```
   aws redshift restore-from-cluster-snapshot --region eu-west-1 --snapshot-identifier mycluster-snapshot --cluster-identifier mycluster-123456789012-x --node-type dc2.8xlarge --number-of-nodes 3
   ```

如果您有预留节点，例如 DC2 预留节点，则可以升级到 RA3 预留节点。您可以在从快照还原或执行弹性调整大小时执行此操作。您可以使用控制台引导您完成此过程。有关升级到 RA3 节点的更多信息，请参阅[升级到 RA3 节点类型](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-upgrading-to-ra3)。

**在控制台上从快照还原集群**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**、**快照**，然后选择要还原的快照。

1. 选择**从快照还原**以查看使用快照信息创建的新集群的**集群配置**和**集群详细信息**值。

1. 更新新集群的属性，然后选择**从快照中还原集群**。

还原集群快照后，还原后的数据仓库将使用拍摄快照时使用的相同自定义 AWS KMS 密钥进行加密。如果快照没有自定义 KMS 密钥，则 Amazon Redshift 的备份加密逻辑将取决于以下因素：
+ 您要将快照还原到的 Amazon Redshift 数据仓库的类型。
+ 拍摄快照时集群的加密类型。

要了解从集群快照还原数据仓库后如何对其进行加密，请参阅下表：


| 目标类型 | 快照加密类型 | 目标加密类型 | 
| --- | --- | --- | 
|  预置集群  |  使用 AWS 托管式密钥进行加密  |  使用 AWS 托管式密钥进行加密  | 
|  预置集群  |  使用 AWS 拥有的密钥进行加密  |  使用 AWS 拥有的密钥进行加密  | 
|  无服务器命名空间  |  使用 AWS 托管式密钥进行加密  |  使用 AWS 拥有的密钥进行加密  | 
|  无服务器命名空间  |  使用 AWS 拥有的密钥进行加密  |  使用 AWS 拥有的密钥进行加密  | 

如果在创建快照时，AWS Secrets Manager 已在管理集群的管理员密码，则您必须继续使用 AWS Secrets Manager 来管理管理员密码。还原集群后，您可以在集群详细信息页面中更新集群的管理员凭证，从而选择停止使用密钥。

如果您有预留节点，则可以升级到 RA3 预留节点。您可以在从快照还原或执行弹性调整大小时执行此操作。您可以使用控制台引导您完成此过程。有关升级到 RA3 节点的更多信息，请参阅[升级到 RA3 节点类型](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-upgrading-to-ra3)。

# 从快照中还原表
<a name="working-with-snapshot-restore-table-from-snapshot"></a>

您可以从快照还原单个表而不是还原整个集群。在从快照还原单个表时，您需要指定源快照、数据库、架构和表名，以及目标数据库、架构和已还原表的新表名。

**注意**  
RA3 预调配集群和 Amazon Redshift Serverless 工作组不支持无备份表。在 RA3 集群和 Serverless 工作组中标记为无备份的表将被视为永久表，在拍摄快照时将始终对其进行备份，并在从快照还原时还原该表。但是，不支持选择性还原无备份表。

新表名不能是现有表的名称。要将现有表替换为从快照还原的表，请先重命名或删除现有表，然后再从快照还原表。

使用源表的列定义、表属性和列属性（外键除外）创建目标表。为了防止因依赖项而导致发生冲突，目标表不从源表继承外键。不向目标表应用任何依赖项（例如，源表上的视图或授予的权限）。

如果源表的拥有者存在，那么该数据库用户是已还原的表的拥有者，前提是该用户拥有足够的权限，可成为指定的数据库和模式中关系的拥有者。否则，已还原的表由在启动集群时创建的管理员用户所有。

已还原的表将返回在执行备份时其所处的状态。这包括由 Amazon Redshift 对[可序列化隔离](https://docs.aws.amazon.com/redshift/latest/dg/c_serial_isolation.html)的符合性定义的事务可见性规则，这意味着数据将立即对在备份后启动的进行中事务可见。

从快照还原表受以下限制：
+ 您只能将表还原到当前正在运行的活动集群，并且只能从针对该集群制作的快照还原表。
+ 一次只能还原一个表。
+ 无法从在调整集群大小之前拍摄的集群快照还原表。一个例外是，如果节点类型没有更改，则可以在弹性大小调整后还原表。
+ 不向目标表应用任何依赖项（例如，源表上的视图或授予的权限）。
+ 如果为正在还原的表启用行级安全性，Amazon Redshift 将还原已启用行级安全性的表。

**从快照还原表**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**，然后选择还原表要使用的集群。

1. 对于**操作**，请选择**还原表**以便显示**还原表**页面。

1. 输入要使用的快照、源表和目标表的相关信息，然后选择**还原表**。

**Example 示例：使用 AWS CLI 从快照中还原表**  
以下示例使用 `restore-table-from-cluster-snapshot` AWS CLI 命令从 `my-source-table` 上的 `sample-database` 架构中还原 `my-snapshot-id` 表。您可以使用 AWS CLI 命令 `describe-table-restore-status` 查看还原操作的状态。此示例将快照还原到具有新表名 `mycluster-example` 的 `my-new-table` 集群。  

```
aws redshift restore-table-from-cluster-snapshot --cluster-identifier mycluster-example 
                                                 --new-table-name my-new-table 
                                                 --snapshot-identifier my-snapshot-id 
                                                 --source-database-name sample-database 
                                                 --source-table-name my-source-table
```

# 从快照还原无服务器命名空间
<a name="snapshot-restore-provisioned-to-serverless"></a>

 从快照还原无服务器命名空间会将命名空间的所有数据库替换为快照中的数据库。有关无服务器快照的更多信息，请参阅[快照和恢复点](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-snapshots-recovery-points.html)。在您将预置的集群快照还原到 Amazon Redshift Serverless 命名空间时，Amazon Redshift 会自动将带有交错键的表转换为复合键。有关排序键的更多信息，请参阅[使用排序键](https://docs.aws.amazon.com/redshift/latest/dg/t_Sorting_data.html)。

将快照从您的预置集群还原到无服务器命名空间：

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**、**快照**，然后选择要使用的快照。

1. 选择**从快照还原**、**还原到无服务器命名空间**。

1. 选择您要还原到的命名空间。

1. 确认想要从快照还原。选择**还原**。此操作将使用预置集群中的数据来替换无服务器命名空间中的所有数据库。

# 为未加密的集群配置跨区域快照复制
<a name="snapshot-crossregioncopy-configure"></a>

您可以配置 Amazon Redshift，以将集群的快照复制到其他 AWS 区域。要配置跨区域快照复制，您需要为每个集群启用该复制功能，并配置复制快照的位置以及在目标 AWS 区域中保留复制的自动或手动快照的时间。如果为集群启用了跨区域复制，所有新的手动和自动快照将复制到指定的 AWS 区域。复制的快照名称带有前缀：**copy:**。

**配置跨区域快照**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**，然后选择要移动其快照的集群。

1. 对于**操作**，选择**配置跨区域快照**。

   此时将显示“配置跨区域”对话框。

1. 对于**复制快照**，选择**是**。

1. 在**目标 AWS 区域**中，选择要将快照复制到的 AWS 区域。

1. 在**自动快照保留期(天)** 中，选择您希望自动快照被删除之前在目标 AWS 区域中保留的天数。

1. 在**手动快照保留期**中，选择您希望手动快照被删除之前在目标 AWS 区域中保留的天数。如果选择**自定义值**，则保留期必须在 1 到 3653 天之间。

1. 选择**保存**。

# 为 AWS KMS 加密的集群配置跨区域快照副本
<a name="xregioncopy-kms-encrypted-snapshot"></a>

 启动 Amazon Redshift 集群时，您可以为您在目标 AWS 区域中的账户中的根密钥配置快照复制授予。如果您未配置授予，则将使用默认 AWS 拥有的密钥对目标区域中的快照进行加密。通过执行此操作，您可以使 Amazon Redshift 在目标 AWS 区域执行加密操作。

以下过程说明了为 AWS KMS 加密的集群启用跨区域快照复制的过程。要详细了解 Amazon Redshift 中的加密功能以及快照复制授予，请参阅[将 AWS KMS 加密的快照复制到另一个 AWS 区域](working-with-db-encryption.md#configure-snapshot-copy-grant)。

**要为 AWS KMS 加密的集群配置跨区域快照**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**，然后选择要移动其快照的集群。

1. 对于**操作**，选择**配置跨区域快照**。

   此时将显示“配置跨区域”对话框。

1. 对于**复制快照**，选择**是**。

1. 在**目标 AWS 区域**中，选择要将快照复制到的 AWS 区域。

1. 在**自动快照保留期(天)** 中，选择您希望自动快照被删除之前在目标 AWS 区域中保留的天数。

1. 在**手动快照保留期**中，选择您希望手动快照被删除之前在目标 AWS 区域中保留的天数。如果选择**自定义值**，则保留期必须在 1 到 3653 天之间。

1. 选择**保存**。

# 修改手动快照保留期
<a name="snapshot-manual-retention-period"></a>

您可以通过修改快照设置来更改手动快照的保留期。

**更改手动快照保留期**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**、**快照**，然后选择要更改的手动快照。

1. 对于**操作**，选择**手动快照设置**以显示手动快照的属性。

1. 输入快照定义的修订属性，然后选择**保存**。

# 修改跨区域快照复制的保留期
<a name="snapshot-crossregioncopy-modify"></a>

在配置跨区域快照复制后，您可能希望更改这些设置。您可以选择新的天数并保存更改，从而轻松更改保留期。

**警告**  
在配置跨区域快照复制后，您无法修改目标 AWS 区域。  
如果要将快照复制到其他 AWS 区域，请先禁用跨区域快照复制。然后使用新的目标 AWS 区域和保留期重新启用它。在禁用跨区域快照复制后，将删除任何复制的自动快照。因此，在禁用跨区域快照复制之前，您应该确定是否具有任何要保留的快照，并将其复制到手动快照。

**修改跨区域快照**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**，然后选择要修改其快照的集群。

1. 对于**操作**，请选择**配置跨区域快照**以显示快照的属性。

1. 输入快照定义的修订属性，然后选择**保存**。

# 删除手动快照
<a name="snapshot-delete"></a>

您可以通过在快照列表中选择一个或多个快照来删除手动快照。

**删除手动快照**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**、**快照**，然后选择要删除的快照。

1. 对于**操作**，选择**删除快照**以删除快照。

1. 确认删除列出的快照，然后选择**删除**。

# 将集群注册到 AWS Glue Data Catalog
<a name="register-cluster"></a>

您可以将整个集群注册到 AWS Glue Data Catalog 并创建由 AWS Glue 管理的目录。您可以使用任何支持 Apache Iceberg REST API 的 SQL 引擎访问这些目录。有关从 Amazon Redshift 创建与 Apache Iceberg 兼容的目录的更多信息，请参阅《Amazon Redshift 数据库开发人员指南》中的 [Apache Iceberg compatibility for Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/iceberg-integration_overview.html)。

**将集群注册到 AWS Glue Data Catalog**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择**集群**。列出您的账户在当前 AWS 区域 区域中的集群。列表中的各个列中显示了每个集群的一部分属性。如果您没有集群，请选择**创建集群**来创建一个集群。

1. 选择要注册的集群的名称。

1.  从**操作**中，选择**注册到 AWS Glue Data Catalog**。将显示**注册到 AWS Glue Data Catalog** 弹出框。

1. 在**目标账户 ID** 下输入要向其注册集群的 AWS 账户 ID。这是将目录保存在 AWS Glue Data Catalog 中的账户 ID。

1.  在**将命名空间注册为**下输入名称。这将是 Data Catalog 中集群的名称。

1.  选择**注册**。您将进入 AWS Lake Formation 控制台。

1.  按照在 AWS Lake Formation 中创建目录的过程进行操作。有关创建目录的信息，请参阅《AWS Lake Formation 开发人员指南》中的 [Bringing Amazon Redshift data into the AWS Glue Data Catalog](https://docs.aws.amazon.com/lake-formation/latest/dg/managing-namespaces-datacatalog.html)。