将 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 权限。
手动配置先决条件,以将单可用区部署修改为多可用区部署
如果您选择手动配置先决条件,请执行以下任务。
-
通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/
-
选择端点。创建端点页面显示。
-
对于服务类别,选择 Amazon 服务。
-
在服务中,搜索
SQS
。 -
在 VPC 中,选择在其中部署 RDS Custom for Oracle 数据库实例的 VPC。
-
在子网中,选择在其中部署 RDS Custom for Oracle 数据库实例的子网。
-
在安全组中,选择在其中部署 RDS Custom for Oracle 数据库实例的安全组。
-
对于策略,选择自定义。
-
在自定义策略中,将
AWS partition
、Region
、accountId
和IAM-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 partition
、Region
和 accountId
替换为您自己的值。
{ "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 单可用区部署修改为多可用区部署
-
登录 Amazon 管理控制台,并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在 Amazon RDS 控制台中,选择数据库。随后会显示数据库窗格。
-
选择要修改的 RDS Custom for Oracle 数据库实例。
-
对于操作中,选择转换为多可用区部署。
-
在确认页面上,选择立即应用以立即应用更改。选择此选项不会导致停机,但可能会对性能产生影响。或者,您可以选择在下一个维护时段内应用更新。有关更多信息,请参阅 使用计划修改设置。
-
在确认页面上,选择转换为多可用区。
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。