将 RDS Custom for Oracle 单可用区部署修改为多可用区部署 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将 RDS Custom for Oracle 单可用区部署修改为多可用区部署

您可以将现有的多可用区兼容的 RDS Custom for Oracle 实例从单可用区部署修改为多可用区部署。修改数据库实例时,Amazon RDS 会执行多项操作:

  • 拍摄主数据库实例的快照。

  • 从快照中为备用副本创建新卷。这些卷在后台初始化,并在数据完全初始化后达到最大卷性能。

  • 开启主数据库实例与备用数据库实例之间的同步块级复制。

重要

我们建议您避免在高峰活动期在生产数据库实例上将 RDS Custom for Oracle 数据库实例从单可用区部署修改为多可用区部署。

Amazon 使用快照创建备用实例,以避免在从单可用区转换到多可用区时出现停机,但是在转换为多可用区期间和转换后,性能可能会受到影响。对于对写入延迟敏感的工作负载而言,这可能会产生很大的影响。尽管此功能允许快速从快照中还原大型卷,但由于同步复制,该功能可能会导致 I/O 操作的延迟增加。这种延迟可能会影响您的数据库性能。

使用 CloudFormation 配置先决条件,以将单可用区部署修改为多可用区部署

按照步骤 3:提取 RDS Custom for Oracle 的 CloudFormation 模板操作以再次设置 VPC 和 IAM 配置文件,以便在 IAM 配置文件中添加 SQS VPC 端点和 SQS 权限。

手动配置先决条件,以将单可用区部署修改为多可用区部署

如果您选择手动配置先决条件,请执行以下任务。

  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 选择端点创建端点页面显示。

  3. 对于服务类别,选择 Amazon 服务

  4. 服务中,搜索 SQS

  5. VPC 中,选择在其中部署 RDS Custom for Oracle 数据库实例的 VPC。

  6. 子网中,选择在其中部署 RDS Custom for Oracle 数据库实例的子网。

  7. 安全组中,选择在其中部署 RDS Custom for Oracle 数据库实例的安全组。

  8. 对于策略,选择自定义

  9. 在自定义策略中,将 AWS partitionRegionaccountIdIAM-Instance-role 替换为您自己的值。

{ "Version": "2012-10-17", "Statement": [ { "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": "custom-oracle" } }, "Action": [ "SQS:SendMessage", "SQS:ReceiveMessage", "SQS:DeleteMessage", "SQS:GetQueueUrl" ], "Resource": "arn:${AWS::Partition}:sqs:${AWS::Region}:${AWS::AccountId}:do-not-delete-rds-custom-*", "Effect": "Allow", "Principal": { "AWS": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/{IAM-Instance-role}" } } ] }

使用访问 Amazon SQS 的权限更新实例配置文件。将 AWS partitionRegionaccountId 替换为您自己的值。

{ "Sid": "13", "Effect": "Allow", "Action": [ "SQS:SendMessage", "SQS:ReceiveMessage", "SQS:DeleteMessage", "SQS:GetQueueUrl" ], "Resource": [ { "Fn::Sub": "arn:${AWS::Partition}:sqs:${AWS::Region}:${AWS::AccountId}:do-not-delete-rds-custom-*" } ], "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": "custom-oracle" } } }

更新 Amazon RDS 安全组的入站和出站规则以允许端口 1120。

  • 安全组中,选择在其中部署 RDS Custom for Oracle 数据库实例的组。

  • 对于入站规则,创建自定义 TCP 规则,以支持使用端口 1120 从源组进行连接。

  • 对于出站规则,创建自定义 TCP 规则,以支持使用端口 1120 连接到目标组。

使用 RDS 控制台、Amazon CLI 或 RDS API 进行修改

完成先决条件后,您可以使用 Amazon RDS 控制台、Amazon CLI 或 Amazon RDS API,将 RDS Custom for Oracle 数据库实例从单可用区部署修改为多可用区部署。

控制台

将现有 RDS Custom for Oracle 单可用区部署修改为多可用区部署
  1. 登录 Amazon 管理控制台,并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在 Amazon RDS 控制台中,选择数据库。随后会显示数据库窗格。

  3. 选择要修改的 RDS Custom for Oracle 数据库实例。

  4. 对于操作中,选择转换为多可用区部署

  5. 确认页面上,选择立即应用以立即应用更改。选择此选项不会导致停机,但可能会对性能产生影响。或者,您可以选择在下一个维护时段内应用更新。有关更多信息,请参阅 使用计划修改设置

  6. 确认页面上,选择转换为多可用区

Amazon CLI

要使用 Amazon CLI 转换为多可用区数据库实例部署,请调用 modify-db-instance 命令并设置 --multi-az 选项。指定数据库实例标识符以及要修改的其他选项的值。有关各选项的信息,请参阅 数据库实例的设置

例 示例

以下代码通过包含 --multi-az 选项来修改 mycustomdbinstance。将在下一维护时段使用 --no-apply-immediately 应用这些更改。使用 --apply-immediately 可立即应用更改。有关更多信息,请参阅 使用计划修改设置

对于 Linux、macOS 或 Unix:

aws rds modify-db-instance \ --db-instance-identifier mycustomdbinstance \ --multi-az \ [--no-apply-immediately | --apply-immediately]

对于 Windows:

aws rds modify-db-instance ^ --db-instance-identifier mycustomdbinstance ^ --multi-az ^ [--no-apply-immediately | --apply-immediately]

RDS API

要使用 Amazon RDS API 转换为多可用区数据库实例部署,请调用 ModifyDBInstance 操作并将 MultiAZ 参数设置为 true。