管理 Amazon RDS Custom 数据库实例 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

管理 Amazon RDS Custom 数据库实例

Amazon RDS Custom 支持 Amazon RDS 数据库实例的常见管理任务子集。在下文中,您可以找到使用 Amazon Web Services Management Console 和 Amazon CLI 的受支持的 RDS Custom 管理任务的说明。

使用 RDS Custom for Oracle 的高可用性功能

要支持 RDS Custom for Oracle 实例之间的复制,您可以使用 Oracle Data Guard 配置高可用性 (HA)。主数据库实例会自动将数据同步到备用实例。

您可以通过以下方式配置高可用性环境:

  • 在不同可用区 (AZ) 中配置备用实例,以应对可用区故障。

  • 将备用数据库置于挂载模式或只读模式。

  • 故障转移或从主数据库切换到备用数据库,而不会丢失数据。

  • 通过为本地实例配置高可用性,然后故障转移或切换到 RDS Custom 备用数据库来迁移数据。

要了解如何配置高可用性,请参阅白皮书在 Amazon RDS Custom for Oracle 上使用 Data Guard 启用高可用性。您可以执行以下任务:

  • 使用虚拟专用网络 (VPN) 隧道为您的高可用性实例进行传输中的数据加密。RDS Custom 不会自动配置传输中的加密。

  • 配置 Oracle 快速故障转移观察器 (FSFO) 以监控您的高可用性实例。

  • 在满足必要条件时,允许观察期执行自动故障转移。

使用 RDS Custom for SQL Server 的高可用性功能

要支持 RDS Custom for SQL Server 实例之间的复制,您可以使用 Always On 可用性组配置高可用性 (HA)。主数据库实例会自动将数据同步到备用实例。

您可以通过以下方式配置高可用性环境:

  • 在不同可用区 (AZ) 中配置备用实例,以应对可用区故障。

  • 将备用数据库置于挂载模式或只读模式。

  • 故障转移或从主数据库切换到备用数据库,而不会丢失数据。

  • 通过为本地实例配置高可用性,然后故障转移或切换到 RDS Custom 备用数据库来迁移数据。

要了解如何配置高可用性,请参阅博客文章《在 Amazon RDS Custom for SQL Server 上使用 Always On 可用性组配置高可用性》。您可以执行以下任务:

  • 使用虚拟专用网络 (VPN) 隧道为您的高可用性实例进行传输中的数据加密。RDS Custom 不会自动配置传输中的加密。

  • 配置 Always On AG 以监控您的高可用性实例。

  • 在满足必要条件时,允许观察器执行自动故障转移。

您还可以使用其他加密技术,例如安全套接字层 (SSL) 来加密传输中的数据。

您负责配置 VPC 流日志和 CloudWatch 告警以监控流量镜像以防止数据泄露。

暂停和恢复 RDS Custom 自动化

RDS Custom 自动为 RDS Custom 数据库实例提供监控和实例恢复功能。如果您需要自定义实例,请执行以下操作:

  1. 在指定的时间内暂停 RDS Custom 自动化。暂停可确保您的自定义项不会干扰 RDS Custom 自动化。

  2. 根据需要自定义 RDS Custom 数据库实例。

  3. 请执行以下任一操作:

    • 手动恢复自动化。

    • 等待暂停期结束。在这种情况下,RDS Custom 会自动恢复监控和实例恢复。

重要

修改数据库实例时,暂停和恢复自动化是唯一受支持的自动化任务。

要暂停或恢复 RDS Custom 自动化

  1. 登录Amazon Web Services Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,请选择 Databases(数据库),然后选择要修改的 RDS Custom 数据库实例。

  3. 选择修改。将显示修改数据库实例页面。

  4. 对于 RDS Custom automation mode(RDS Custom 自动化模式),请选择以下选项之一:

    • Paused(已暂停)将暂停 RDS Custom 数据库实例的监控和实例恢复。为 Automation mode duration(自动化模式持续时间)输入您想要的暂停持续时间。最小值为 60 分钟(原定设置值)。最大值为 1440 分钟。

    • Full automation(完全自动化)将恢复自动化。

  5. 请选择 Continue(继续),以查看修改摘要。

    将显示一条消息,表示 RDS Custom 将立即应用更改。

  6. 如果更改正确无误,请选择 Modify DB Instance(修改数据库实例)。也可以选择 Back (返回) 编辑您的更改,或选择 Cancel (取消) 取消更改。

    在 RDS 控制台上,将显示修改的详细信息。如果您暂停了自动化,RDS Custom 数据库实例的 Status(状态)将指示 Automation paused(自动化已暂停)。

  7. (可选)在导航窗格中,选择 Databases (数据库),然后选择 RDS Custom 数据库实例。

    Summary(摘要)窗格中,RDS Custom automation mode(RDS Custom 自动化模式)表示自动化状态。如果自动化已暂停,则值为 Paused(已暂停)。自动化将在 num 分钟内恢复

要暂停或恢复 RDS Custom 自动化,请使用 modify-db-instance Amazon CLI 命令。使用必需的参数 --db-instance-identifier 识别数据库实例。使用以下参数控制自动化模式:

  • --automation-mode 指定数据库实例的暂停状态。有效值为 all-paused,它将暂停自动化,以及 full,它将恢复自动化。

  • --resume-full-automation-mode-minutes 指定暂停的持续时间。默认值为 60 分钟。

注意

无论您是指定 --no-apply-immediately 还是 --apply-immediately,RDS Custom 都会尽快地异步应用修改。

在命令响应中,ResumeFullAutomationModeTime 以 UTC 时间戳表示恢复时间。当自动化模式为 all-paused 时,您可以使用 modify-db-instance 恢复自动化模式或延长暂停时间。不支持其他 modify-db-instance 选项。

以下示例将 my-custom-instance 的自动化暂停 90 分钟。

对于 Linux、macOS 或 Unix:

aws rds modify-db-instance \ --db-instance-identifier my-custom-instance \ --automation-mode all-paused \ --resume-full-automation-mode-minutes 90

对于 Windows:

aws rds modify-db-instance ^ --db-instance-identifier my-custom-instance ^ --automation-mode all-paused ^ --resume-full-automation-mode-minutes 90

以下示例将暂停持续时间再延长 30 分钟。在 ResumeFullAutomationModeTime 中显示的原始时间中增加 30 分钟。

对于 Linux、macOS 或 Unix:

aws rds modify-db-instance \ --db-instance-identifier my-custom-instance \ --automation-mode all-paused \ --resume-full-automation-mode-minutes 30

对于 Windows:

aws rds modify-db-instance ^ --db-instance-identifier my-custom-instance ^ --automation-mode all-paused ^ --resume-full-automation-mode-minutes 30

以下示例恢复 my-custom-instance 的完全自动化。

对于 Linux、macOS 或 Unix:

aws rds modify-db-instance \ --db-instance-identifier my-custom-instance \ --automation-mode full \

对于 Windows:

aws rds modify-db-instance ^ --db-instance-identifier my-custom-instance ^ --automation-mode full

在以下部分示例输出中,待处理 AutomationMode 值为 full

{ "DBInstance": { "PubliclyAccessible": true, "MasterUsername": "admin", "MonitoringInterval": 0, "LicenseModel": "bring-your-own-license", "VpcSecurityGroups": [ { "Status": "active", "VpcSecurityGroupId": "0123456789abcdefg" } ], "InstanceCreateTime": "2020-11-07T19:50:06.193Z", "CopyTagsToSnapshot": false, "OptionGroupMemberships": [ { "Status": "in-sync", "OptionGroupName": "default:custom-oracle-ee-19" } ], "PendingModifiedValues": { "AutomationMode": "full" }, "Engine": "custom-oracle-ee", "MultiAZ": false, "DBSecurityGroups": [], "DBParameterGroups": [ { "DBParameterGroupName": "default.custom-oracle-ee-19", "ParameterApplyStatus": "in-sync" } ], ... "ReadReplicaDBInstanceIdentifiers": [], "AllocatedStorage": 250, "DBInstanceArn": "arn:aws:rds:us-west-2:012345678912:db:my-custom-instance", "BackupRetentionPeriod": 3, "DBName": "ORCL", "PreferredMaintenanceWindow": "fri:10:56-fri:11:26", "Endpoint": { "HostedZoneId": "ABCDEFGHIJKLMNO", "Port": 8200, "Address": "my-custom-instance.abcdefghijk.us-west-2.rds.amazonaws.com" }, "DBInstanceStatus": "automation-paused", "IAMDatabaseAuthenticationEnabled": false, "AutomationMode": "all-paused", "EngineVersion": "19.my_cev1", "DeletionProtection": false, "AvailabilityZone": "us-west-2a", "DomainMemberships": [], "StorageType": "gp2", "DbiResourceId": "db-ABCDEFGHIJKLMNOPQRSTUVW", "ResumeFullAutomationModeTime": "2020-11-07T20:56:50.565Z", "KmsKeyId": "arn:aws:kms:us-west-2:012345678912:key/aa111a11-111a-11a1-1a11-1111a11a1a1a", "StorageEncrypted": false, "AssociatedRoles": [], "DBInstanceClass": "db.m5.xlarge", "DbInstancePort": 0, "DBInstanceIdentifier": "my-custom-instance", "TagList": [] }

修改 RDS Custom for SQL Server 数据库实例

修改 RDS Custom for SQL Server 数据库实例的过程与为 Amazon RDS 执行此操作类似,但您可以进行的更改仅限于以下内容:

  • 更改数据库实例类

  • 更改备份保留期和备份时段

  • 更改维护时段

  • 当新版本可用时升级数据库引擎版本

以下限制适用于修改 RDS Custom for SQL Server 数据库实例:

  • 不支持多可用区部署。

  • 不支持自定义数据库选项和参数组。

  • 您无法修改分配的存储空间。

  • 手动附加到 RDS Custom 数据库实例的任何存储卷都在支持外围之外。

    有关更多信息,请参阅 RDS Custom 支持外围配置和不受支持的配置

要修改 RDS Custom for SQL Server 数据库实例

  1. 登录Amazon Web Services Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 Databases (数据库)

  3. 选择要修改的数据库实例。

  4. 选择修改

  5. 根据需要进行以下更改:

    1. 对于数据库引擎版本,选择新版本。

    2. 更改 DB instance class(数据库实例类)的值。有关支持的类,请参阅 RDS Custom 的数据库实例类支持

    3. 更改 Backup retention period(备份保留期)的值。

    4. 对于 Backup window(备份时段),设置 Start time(开始时间)和 Duration(持续时间)的值。

    5. 对于 DB instance maintenance window(数据库实例维护时段),设置 Start day(开始日)、Start time(开始时间)和 Duration(持续时间)的值。

  6. 选择继续

  7. 选择 Apply immediately(立即应用)或 Apply during the next scheduled maintenance window(在下一个计划的维护时段内应用)。

  8. 选择修改数据库实例

要修改 RDS Custom for SQL Server 数据库实例,请使用 modify-db-instance Amazon CLI 命令。根据需要设置以下参数:

  • --db-instance-class – 有关支持的类,请参阅 RDS Custom 的数据库实例类支持

  • --engine-version – 要升级到的数据库引擎的版本号。

  • --backup-retention-period – 保留自动备份的持续时间,为 0-35 天。

  • --preferred-backup-window – 创建自动备份的每日时间范围。

  • --preferred-maintenance-window – 可能进行系统维护的每周时间范围(按世界协调时间计算)。

  • --apply-immediately – 使用 --apply-immediately 可立即应用存储更改。

    或使用 --no-apply-immediately (原定设置) 以在下一个维护时段内应用更改。

修改 RDS Custom for Oracle 数据库实例的存储

修改 RDS Custom for Oracle 数据库实例的存储与为 Amazon RDS 执行此操作类似,但您可以进行的更改仅限于以下内容:

  • 增加分配的存储空间

  • 将存储类型从 io1 更改为 gp2,或者将 gp2 更改为 io1

  • 如果您使用的是 io1 存储类型,则更改预置 IOPS

以下限制适用于修改 RDS Custom for Oracle 数据库实例的存储:

  • RDS Custom for Oracle 的最低分配存储空间为 40GiB,最大值为 64TiB。

  • 与 Amazon RDS 一样,您无法减少分配的存储。这是对 Amazon EBS 卷的限制。

  • RDS Custom 数据库实例不支持存储弹性伸缩。

  • 手动附加到 RDS Custom 数据库实例的任何存储卷都在支持外围之外。

    有关更多信息,请参阅 RDS Custom 支持外围配置和不受支持的配置

  • RDS Custom 不支持磁性(标准)存储。

有关存储的更多信息,请参阅 Amazon RDS 数据库实例存储

有关存储修改的一般信息,请参阅 使用 Amazon RDS 数据库实例的存储。以下过程特定于 RDS Custom。

要修改 RDS Custom for Oracle 数据库实例的存储

  1. 登录Amazon Web Services Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 Databases (数据库)

  3. 选择要修改的数据库实例。

  4. 选择修改

  5. 根据需要进行以下更改:

    1. Allocated Storage (分配的存储) 输入新值。它必须大于当前值,且范围从 40GiB 到 64TiB。

    2. 更改 Storage type(存储类型)的值。您可以使用通用型 (gp2) 或预置 IOPS (io1) 存储。

    3. 如果使用 io1 存储,您可以更改 Provisioned IOPS(预置 IOPS)值。

  6. 选择继续

  7. 选择 Apply immediately(立即应用)或 Apply during the next scheduled maintenance window(在下一个计划的维护时段内应用)。

  8. 选择修改数据库实例

要修改 RDS Custom for Oracle 数据库实例的存储,请使用 modify-db-instance Amazon CLI 命令。根据需要设置以下参数:

  • --allocated-storage – 要为数据库实例分配的存储量(以 GiB 为单位)。它必须大于当前值,并且范围从 40 到 65536GiB。

  • --storage-type – 存储类型,gp2 或 io1。

  • --iops – 如果使用 io1 存储类型,则为数据库实例的预置 IOPS。

  • --apply-immediately – 使用 --apply-immediately 可立即应用存储更改。

    或使用 --no-apply-immediately(默认)以在下一个维护时段内应用更改。

更改 RDS Custom for Oracle 数据库实例的时区

您可以手动更改 RDS Custom for Oracle 数据库实例的时区,与 RDS for Oracle 不同,在该实例中,您可以使用自定义数据库选项组中的 TIME_ZONE 选项。

您可以多次更改 RDS Custom for Oracle 数据库实例的时区,但我们建议不要每 48 小时多次更改它们。我们还建议仅在最近可还原时间在过去 30 分钟内时更改它们。

如果您不遵循这些建议,清理重做日志可能会删除比预期更多的日志。重做日志时间戳也可能会被错误地转换为 UTC,从而可能会阻止正确下载和重放重做日志。这反过来可以阻止时间点恢复 (PITR) 正确执行。

更改 RDS Custom for Oracle 数据库实例的时区具有以下限制:

使用以下过程更改 RDS Custom for Oracle 数据库实例的时区。

请务必遵循以下过程。如果不遵循它们,可能会导致以下问题:

  • 重做日志下载和重放中断

  • 重做日志时间戳不正确

  • 清理不使用重做日志保留期的主机上的重做日志

要更改主数据库实例的时区

  1. 暂停 RDS Custom 自动化。有关更多信息,请参阅 暂停和恢复 RDS Custom 自动化

  2. (可选)更改数据库实例的时区,例如,通过使用以下命令。

    ALTER DATABASE SET TIME_ZONE = 'US/Pacific';
  3. 关闭数据库实例。

  4. 登录主机并更改系统时区。

  5. 开启数据库实例。

  6. 恢复 RDS Custom 自动化。

要要更改主数据库实例及其只读副本的时区

  1. 暂停主数据库实例上的 RDS Custom 自动化。

  2. 暂停只读副本上的 RDS Custom 自动化。

  3. (可选)更改主实例和只读副本的时区,例如,通过使用以下命令。

    ALTER DATABASE SET TIME_ZONE = 'US/Pacific';
  4. 关闭主数据库实例。

  5. 关闭只读副本。

  6. 登录主机并更改只读副本的系统时区。

  7. 更改主数据库实例的系统时区。

  8. 挂载只读副本。

  9. 开启主数据库实例。

  10. 在主数据库实例上恢复 RDS Custom 自动化,然后在只读副本上恢复。

支持透明数据加密

RDS Custom 为 RDS Custom for Oracle 和 RDS Custom for SQL Server 数据库实例支持透明数据加密 (TDE)。

但是,您不能像在 RDS for Oracle 或 RDS for SQL Server 中那样使用自定义选项组中的选项启用 TDE。您可以手动打开 TDE。有关使用 Oracle 透明数据加密的信息,请参阅 Oracle 文档中的使用透明数据加密保护存储数据安全。有关适用于 SQL Server 的透明数据加密的信息,请参阅 Microsoft 文档中的透明数据加密 (TDE)

标记 RDS Custom 资源

您可以将 RDS Custom 资源与 Amazon RDS 资源一样标记,但有一些重要的区别:

  • 不要创建或修改 RDS Custom 自动化所需的 AWSRDSCustom 标签。如果您这样做,可能会破坏自动化。

  • 在创建过程中添加到 RDS Custom 数据库实例的标签将传播到所有其他相关 RDS Custom 资源。

  • 当您在创建数据库实例后将标签添加到 RDS Custom 资源时,标签不会传播。

有关资源标记的一般信息,请参阅 为 Amazon RDS 资源添加标签

删除 RDS Custom 数据库实例

要删除 RDS Custom 数据库实例,请执行以下操作:

  • 提供数据库实例的名称。

  • 清除拍摄数据库实例的最终数据库快照的选项。

  • 选择或清除保留自动备份的选项。

您可以使用控制台或 CLI 删除 RDS Custom 数据库实例。删除数据库实例所需的时间可能会根据备份保留期(也即,要删除的备份数)以及删除的数据量而有所不同。

要删除 RDS Custom 数据库实例

  1. 登录Amazon Web Services Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 Databases (数据库),然后选择要删除的 RDS Custom 数据库实例。RDS Custom 数据库实例显示角色 Instance (RDS Custom)(实例 (RDS Custom))。

  3. 对于 Actions (操作),选择 Delete (删除)

  4. 要保留自动备份,请选择 Retain automated backups (保留自动备份)

  5. 在框中输入 delete me

  6. 选择 Delete

您可以通过使用 delete-db-instance Amazon CLI 命令删除 RDS Custom 数据库实例。使用必需的参数 --db-instance-identifier 识别数据库实例。其余参数与 Amazon RDS 数据库实例的参数相同,但以下各项除外:

  • --skip-final-snapshot 是必需的。

  • --no-skip-final-snapshot 不受支持。

  • --final-db-snapshot-identifier 不受支持。

以下示例删除名为 my-custom-instance 的 RDS Custom 数据库实例,并保留自动备份。

对于 Linux、macOS 或 Unix:

aws rds delete-db-instance \ --db-instance-identifier my-custom-instance \ --skip-final-snapshot \ --no-delete-automated-backups

对于 Windows:

aws rds delete-db-instance ^ --db-instance-identifier my-custom-instance ^ --skip-final-snapshot ^ --no-delete-automated-backups