修改 Amazon RDS 数据库实例 - Amazon Relational Database Service

修改 Amazon RDS 数据库实例

可以更改数据库实例的设置来完成添加额外存储或更改数据库实例类等任务。在本主题中,您可以了解如何修改 Amazon RDS 数据库实例并了解数据库实例的设置。

我们建议您在修改生产实例之前在测试实例上测试所有更改,以便完全了解每项更改的影响。在升级数据库版本时,测试尤其重要。

对数据库实例的大多数修改都可以立即应用,也可以推迟到下一个维护时段。一些修改(例如,参数组更改)需要您手动重新启动数据库实例才能使更改生效。

重要

一些修改可能会导致停机,因为 Amazon RDS 必须重新启动您的数据库实例才能使更改生效。在修改数据库实例设置之前,请先审核对数据库和应用程序的影响。

修改数据库实例

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

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

  3. 选择修改。将显示 Modify DB Instance (修改数据库实例) 页面。

  4. 根据需要更改任意设置。有关每项设置的信息,请参阅 数据库实例的设置

  5. 当所有更改都达到您的要求时,选择继续并查看修改摘要。

  6. (可选)选择立即应用以立即应用更改。选择此选项在某些情况下可能导致停机。有关更多信息,请参阅使用“立即应用”设置

  7. 在确认页面上,检查您的更改。如果更改正确无误,请选择 Modify DB Instance (修改数据库实例) 保存更改。

    也可以选择 Back 编辑您的更改,或选择 Cancel 取消更改。

要使用 AWS CLI 修改数据库实例,请调用 modify-db-instance 命令。指定数据库实例标识符以及要修改的选项值。有关各选项的信息,请参阅数据库实例的设置

以下代码修改 mydbinstance,将备份保留期设置为 1 周 (7 天)。该代码通过使用 --deletion-protection 启用删除保护。要禁用删除保护,请使用 --no-deletion-protection。将在下一维护时段使用 --no-apply-immediately 应用这些更改。使用 --apply-immediately 可立即应用更改。有关更多信息,请参阅使用“立即应用”设置

对于 Linux、macOS 或 Unix:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --backup-retention-period 7 \ --deletion-protection \ --no-apply-immediately

对于 Windows:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --backup-retention-period 7 ^ --deletion-protection ^ --no-apply-immediately

要使用 Amazon RDS API 修改数据库实例,请调用 ModifyDBInstance 操作。指定数据库实例标识符,以及您要修改的设置参数。有关每个参数的信息,请参阅数据库实例的设置

使用“立即应用”设置

修改数据库实例后可以立即应用更改。要立即应用更改,请选中 AWS 管理控制台中的立即应用选项。或者,您可以在调用 AWS CLI 参数时使用 --apply-immediately 参数,也可以在使用 Amazon RDS API 时将 ApplyImmediately 参数设置为 true

如果您没有选择立即应用更改,更改将被放置在等待修改队列中。队列中的所有等待更改都将在下一维护时段应用。如果您选择立即应用更改,将应用您的新更改以及等待修改队列中的所有更改。

重要

如果任何待处理修改需要数据库实例暂时不可用(停机),则选择立即应用选项可能会导致意外停机。

当您选择立即应用更改时,任何待定修改也将立即应用,而不是在下一个维护时段内应用。

如果您不想将待定更改应用到下一个维护时段,您可以修改数据库实例来恢复更改。您可以通过使用 AWS CLI 和指定 --apply-immediately 选项来执行此操作。

一些数据库设置的更改会立即应用,即使您选择延迟更改也是如此。要查看不同数据库的设置如何与“立即应用”设置进行交互,请参阅数据库实例的设置

数据库实例的设置

在下表中,您可以详细了解有关哪些设置可以修改和不能修改、何时可以应用更改以及这些更改是否导致数据库实例停机。

您可以使用控制台、modify-db-instance CLI 命令或 ModifyDBInstance RDS API 操作修改数据库实例。

控制台设置和说明 CLI 选项和 RDS API 参数 发生更改时 停机说明 支持的数据库引擎

分配的存储空间

要分配给数据库实例的存储空间大小,单位为 GiB。您只能增加分配的存储空间。您无法减少分配的存储空间。

您无法修改某些旧数据库实例或从旧数据库快照还原的数据库实例的存储。如果数据库实例不符合条件,则会在控制台中禁用分配的存储空间设置。您可以使用 CLI 命令 describe-valid-db-instance-modifications 检查是否可以分配更多的存储空间。此命令返回数据库实例的有效存储选项。

如果数据库实例状态为 storage-optimization,或者在过去 6 小时内修改了为数据库实例分配的存储,则无法修改分配的存储。

允许的最大存储空间取决于您的数据库引擎和存储类型。有关更多信息,请参阅 Amazon RDS 数据库实例存储

CLI 选项:

--allocated-storage

RDS API 参数:

AllocatedStorage

如果您选择立即应用更改,则更改立即生效。

如果您不选择立即应用更改,则更改会在下一个维护时段中生效。

在此更改期间,不会出现停机。在更改期间,性能可能降低。

所有数据库引擎

自动次要版本升级

表示使数据库实例能够在首选次要数据库引擎版本升级可用时自动接收这些升级。Amazon RDS 在维护时段内执行自动次要版本升级。否则,选择

有关更多信息,请参阅 自动升级次要引擎版本

CLI 选项:

--auto-minor-version-upgrade|--no-auto-minor-version-upgrade

RDS API 参数:

AutoMinorVersionUpgrade

更改立即发生。此设置忽略“立即应用”设置。

在此更改期间,不会出现停机。

仅 MariaDB、MySQL、Oracle 和 PostgreSQL

备份保留期

自动备份的保留天数。要禁用自动备份,请将备份保留期设置为 0。

有关更多信息,请参阅 使用备份

注意

如果您使用 AWS AWS Backup 管理备份,则不会显示此选项。有关 AWS Backup 的信息,请参阅 AWS Backup 开发人员指南

CLI 选项:

--backup-retention-period

RDS API 参数:

BackupRetentionPeriod

如果您选择立即应用更改,则更改立即生效。

如果不选择立即应用更改,并且您将该设置从一个非零值更改为另一个非零值,则会尽快异步应用更改。否则,更改在下一维护时段内生效。

如果从 0 改为非零值或从非零值改为 0,则会发生停机。

这适用于单可用区和多可用区数据库实例。

所有数据库引擎

备份时段

数据库的自动备份时间范围。备份时段是开始时间 (采用通用协调时间 (UTC)) 和持续时间 (以小时为单位)。

有关更多信息,请参阅 使用备份

注意

如果您使用 AWS AWS Backup 管理备份,则不会显示此选项。有关 AWS Backup 的信息,请参阅 AWS Backup 开发人员指南

CLI 选项:

--preferred-backup-window

RDS API 参数:

PreferredBackupWindow

更改会尽快异步应用。

在此更改期间,不会出现停机。

所有数据库引擎

证书颁发机构

要用于 SSL/TLS 连接的证书。

有关更多信息,请参阅 使用 SSL/TLS 加密与数据库实例的连接

CLI 选项:

--ca-certificate-identifier

RDS API 参数:

CACertificateIdentifier

如果您选择立即应用更改,则更改立即生效。

如果您不选择立即应用更改,则更改会在下一个维护时段中生效。

在此更改期间发生停机。

所有数据库引擎

将标签复制到快照

如果您有任何数据库实例标签,请启用此选项,以在您创建数据库快照时复制这些标签。

有关更多信息,请参阅 为 Amazon RDS 资源添加标签

CLI 选项:

--copy-tags-to-snapshot 或者 --no-copy-tags-to-snapshot

RDS API 参数:

CopyTagsToSnapshot

更改立即发生。此设置忽略“立即应用”设置。

在此更改期间,不会出现停机。

所有数据库引擎

数据库端口

要用于访问数据库实例的端口。

端口值不能与数据库实例所关联选项组中的选项指定的任何端口值相同。

有关更多信息,请参阅 连接到 Amazon RDS 数据库实例

CLI 选项:

--db-port-number

RDS API 参数:

DBPortNumber

更改立即发生。此设置忽略“立即应用”设置。

数据库实例立即重新启动。

所有数据库引擎

数据库引擎版本

要使用的数据库引擎的版本。在您升级生产数据库实例之前,我们建议您在测试数据库实例上测试升级过程,以验证其持续时间以及您的应用程序。

有关更多信息,请参阅 升级数据库实例 引擎版本

CLI 选项:

--engine-version

RDS API 参数:

EngineVersion

如果您选择立即应用更改,则更改立即生效。

如果您不选择立即应用更改,则更改会在下一个维护时段中生效。

在此更改期间发生停机。

所有数据库引擎

数据库实例类

您要使用的数据库实例类。

有关更多信息,请参阅 数据库实例类

CLI 选项:

--db-instance-class

RDS API 参数:

DBInstanceClass

如果您选择立即应用更改,则更改立即生效。

如果您不选择立即应用更改,则更改会在下一个维护时段中生效。

在此更改期间发生停机。

所有数据库引擎

数据库实例标识符

新的数据库实例标识符。此值以一个小写字符串存储。

有关数据库实例重命名效果的更多信息,请参阅重命名数据库实例

CLI 选项:

--new-db-instance-identifier

RDS API 参数:

NewDBInstanceIdentifier

如果您选择立即应用更改,则更改立即生效。

如果您不选择立即应用更改,则更改会在下一个维护时段中生效。

在此更改期间发生停机。

所有数据库引擎

数据库参数组

要与数据库实例关联的数据库参数组。

有关更多信息,请参阅使用数据库参数组

CLI 选项:

--db-parameter-group-name

RDS API 参数:

DBParameterGroupName

参数组更改会立即发生。

在此更改期间,不会出现停机。但是,您必须在数据库实例使用新的数据库参数组之前手动重启实例。

有关更多信息,请参阅 使用数据库参数组重启中的数据库实例

所有数据库引擎

删除保护

启用删除保护以禁止删除数据库实例。

有关更多信息,请参阅 删除数据库实例

CLI 选项:

--deletion-protection|--no-deletion-protection

RDS API 参数:

DeletionProtection

更改立即发生。此设置忽略“立即应用”设置。

在此更改期间,不会出现停机。

所有数据库引擎

增强监控

启用增强监测,以允许为运行数据库实例的操作系统实时收集指标。

有关更多信息,请参阅 使用增强监控

CLI 选项:

--monitoring-interval--monitoring-role-arn

RDS API 参数:

MonitoringIntervalMonitoringRoleArn

更改立即发生。此设置忽略“立即应用”设置。

在此更改期间,不会出现停机。

所有数据库引擎

IAM 数据库身份验证

启用 IAM DB 身份验证,通过 IAM 用户和角色对数据库用户进行身份验证。

有关更多信息,请参阅 适用于 MySQL 和 PostgreSQL 的 IAM 数据库身份验证

CLI 选项:

--enable-iam-database-authentication|--no-enable-iam-database-authentication

RDS API 参数:

EnableIAMDatabaseAuthentication

如果您选择立即应用更改,则更改立即生效。

如果您不选择立即应用更改,则更改会在下一个维护时段中生效。

在此更改期间,不会出现停机。

仅 MySQL 和 PostgreSQL

Kerberos 身份验证

选择要将数据库实例移动到的 Active Directory。在执行此操作之前此目录必须存在。如果已选择目录,则可以指定 None (无) 以从其当前目录中删除数据库实例。

有关更多信息,请参阅 Kerberos 身份验证

CLI 选项:

--domain--domain-iam-role-name

RDS API 参数:

DomainDomainIAMRoleName

如果您选择立即应用更改,则更改立即生效。

如果您不选择立即应用更改,则更改会在下一个维护时段中生效。

在此更改期间会出现短暂停机。

仅 Microsoft SQL Server、MySQL、Oracle 和 PostgreSQL

许可模式

选择 bring-your-own-license (自带许可) 可使用 Oracle 的许可证。

选择 license-included (附带许可) 可使用 Microsoft SQL Server 或 Oracle 的一般许可协议。

有关更多信息,请参阅 授予 Amazon RDS 上 Microsoft SQL Server 的许可Oracle 许可选项

CLI 选项:

--license-model

RDS API 参数:

LicenseModel

如果您选择立即应用更改,则更改立即生效。

如果您不选择立即应用更改,则更改会在下一个维护时段中生效。

在此更改期间发生停机。

仅 Microsoft SQL Server 和 Oracle

日志导出

要发布到 Amazon CloudWatch Logs 的数据库日志文件的类型。

有关更多信息,请参阅 将数据库日志发布到 Amazon CloudWatch Logs

CLI 选项:

--cloudwatch-logs-export-configuration

RDS API 参数:

CloudwatchLogsExportConfiguration

更改立即发生。此设置忽略“立即应用”设置。

在此更改期间,不会出现停机。

所有数据库引擎

维护时段

进行系统维护的时间范围。维护系统包括升级 (如果适用)。维护时段是开始时间 (采用通用协调时间 (UTC)) 和持续时间 (以小时为单位)。

如果将时段设置为当前时间,则当前时间与该时段结束之间必须相隔至少 30 分钟以确保应用所有待处理的更改。

有关更多信息,请参阅 Amazon RDS 维护时段

CLI 选项:

--preferred-maintenance-window

RDS API 参数:

PreferredMaintenanceWindow

更改立即发生。此设置忽略“立即应用”设置。

如果有一个或多个待处理的操作导致停机,并且维护时段经过更改,加入了当前时间,则立即应用这些待处理的操作并会出现停机。

所有数据库引擎

多可用区部署

选择以在多个可用区中部署数据库实例。否则,选择

有关更多信息,请参阅 Amazon RDS 的高可用性(多可用区)

CLI 选项:

--multi-az|--no-multi-az

RDS API 参数:

MultiAZ

如果您选择立即应用更改,则更改立即生效。

如果您不选择立即应用更改,则更改会在下一个维护时段中生效。

在此更改期间,不会出现停机。

所有数据库引擎

新建主密码

您的主用户密码。密码必须包含 8–41 个字母数字字符。

CLI 选项:

--master-user-password

RDS API 参数:

MasterUserPassword

更改会尽快异步应用。此设置忽略“立即应用”设置。

在此更改期间,不会出现停机。

所有数据库引擎

选项组

要与数据库实例关联的选项组。

有关更多信息,请参阅 使用选项组

CLI 选项:

--option-group-name

RDS API 参数:

OptionGroupName

如果您选择立即应用更改,则更改立即生效。

如果您不选择立即应用更改,则更改会在下一个维护时段中生效。

在此更改期间,不会出现停机。

所有数据库引擎

Performance Insights

启用 Performance Insights 以监控数据库实例负载,以便您可以分析数据库性能和解决数据库性能问题。

Performance Insights 不适用于某些数据库引擎版本和数据库实例类。如果 Performance Insights 部分不适用于您的数据库实例,则控制台中不会显示该部分。

有关更多信息,请参阅 使用 Amazon RDS 上的性能详情

CLI 选项:

--enable-performance-insights|--no-enable-performance-insights

RDS API 参数:

EnablePerformanceInsights

更改立即发生。此设置忽略“立即应用”设置。

在此更改期间,不会出现停机。

所有数据库引擎

Performance Insights 主密钥

用于加密 Performance Insights 数据的客户主密钥 (CMK) 的 AWS KMS 密钥标识符。密钥标识符是 Amazon 资源名称 (ARN)、AWS KMS 密钥标识符或 CMK 的密钥别名。

有关更多信息,请参阅 启用和禁用性能详情

CLI 选项:

--performance-insights-kms-key-id

RDS API 参数:

PerformanceInsightsKMSKeyId

更改立即发生。此设置忽略“立即应用”设置。

在此更改期间,不会出现停机。

所有数据库引擎

Performance Insights 保留期

保留 Performance Insights 数据的时间(天)。有效值为 7 或 731(2 年)。

有关更多信息,请参阅 启用和禁用性能详情

CLI 选项:

--performance-insights-retention-period

RDS API 参数:

PerformanceInsightsRetentionPeriod

更改立即发生。此设置忽略“立即应用”设置。

在此更改期间,不会出现停机。

所有数据库引擎

处理器功能

数据库实例的数据库实例类的 CPU 内核数和每个内核的线程数。

有关更多信息,请参阅 为数据库实例类配置处理器

CLI 选项:

--processor-features--use-default-processor-features | --no-use-default-processor-features

RDS API 参数:

ProcessorFeaturesUseDefaultProcessorFeatures

如果您选择立即应用更改,则更改立即生效。

如果您不选择立即应用更改,则更改会在下一个维护时段中生效。

在此更改期间发生停机。

仅 Oracle

预配置 IOPS

数据库实例的新预配置 IOPS(每秒 I/O 操作数)值。仅当为 Storage type (存储类型) 选择了 Provisioned IOPS (SSD) (预置 IOPS (SSD)) 时,该设置才可用。

有关更多信息,请参阅 预置 IOPS SSD 存储

CLI 选项:

--iops

RDS API 参数:

Iops

如果您选择立即应用更改,则更改立即生效。

如果您不选择立即应用更改,则更改会在下一个维护时段中生效。

在此更改期间,不会出现停机。

所有数据库引擎

公有访问权限

可公开访问:为数据库实例提供公有 IP 地址,这表示可以在 VPC 外部访问该实例。要可供公开访问,数据库实例还必须在 VPC 的公有子网中。

不可公开访问:只能从 VPC 内部访问数据库实例。

有关更多信息,请参阅 从 Internet 隐藏 VPC 中的数据库实例

要从 Amazon VPC 外部连接到数据库实例,数据库实例必须可公开访问,必须使用数据库实例安全组的入站规则授予访问权限,并且必须满足其他要求。有关更多信息,请参阅 无法连接到 Amazon RDS 数据库实例

如果您的数据库实例不可公开访问,则您还可以使用 AWS 站点到站点 VPN 连接或 AWS Direct Connect 连接从专用网络访问该实例。有关更多信息,请参阅互联网络流量隐私

CLI 选项:

--publicly-accessible|--no-publicly-accessible

RDS API 参数:

PubliclyAccessible

更改立即发生。此设置忽略“立即应用”设置。

在此更改期间,不会出现停机。

所有数据库引擎

安全组

要与数据库实例关联的 VPC 安全组。

有关更多信息,请参阅 使用安全组控制访问权限

CLI 选项:

--vpc-security-group-ids

RDS API 参数:

VpcSecurityGroupIds

更改会尽快异步应用。此设置忽略“立即应用”设置。

在此更改期间,不会出现停机。

所有数据库引擎

Storage autoscaling (存储自动扩展)

Enable storage autoscaling (启用存储自动扩展),使 Amazon RDS 能够在需要时自动增加存储空间,以避免数据库实例耗尽存储空间。

使用最大存储阈值设置 Amazon RDS 自动将数据库实例存储增加到的上限。默认值为 1,000 GiB。

有关更多信息,请参阅 使用 Amazon RDS 存储自动扩展功能自动管理容量

CLI 选项:

--max-allocated-storage

RDS API 参数:

MaxAllocatedStorage

更改立即发生。此设置忽略“立即应用”设置。

在此更改期间,不会出现停机。

所有数据库引擎

存储类型

要使用的存储类型。

在 Amazon RDS 开始修改数据库实例以更改存储大小或类型后,您无法在 6 小时内提交另一个请求以更改存储大小或类型。

有关更多信息,请参阅 Amazon RDS 存储类型

CLI 选项:

--storage-type

RDS API 参数:

StorageType

如果您选择立即应用更改,则更改立即生效。

如果您不选择立即应用更改,则更改会在下一个维护时段中生效。

进程开始后,以下更改均会导致短暂停机。此后,在更改发生时,您可以正常使用数据库。

  • General Purpose (SSD) 更改为 Magnetic

  • 通用型 (SSD)预置 IOPS (SSD)。仅当数据库实例是单可用区且您正在使用自定义参数组时,才会发生停机。多可用区数据库实例没有停机。

  • Magnetic 更改为 General Purpose (SSD)

  • Magnetic 更改为 Provisioned IOPS (SSD)

  • Provisioned IOPS (SSD) 更改为 Magnetic

  • 预置 IOPS (SSD)通用型 (SSD)。仅当数据库实例是单可用区且您正在使用自定义参数组时,才会发生停机。多可用区数据库实例没有停机。

所有数据库引擎

子网组

数据库实例的子网组。您可以使用此设置将数据库实例移动到其他 VPC。如果数据库实例没有位于 VPC 中,您可以使用该设置将数据库实例移动到 VPC 中。

有关更多信息,请参阅 Amazon Virtual Private Cloud VPC 和 Amazon RDS

CLI 选项:

--db-subnet-group-name

RDS API 参数:

DBSubnetGroupName

如果您选择立即应用更改,则更改立即生效。

如果您不选择立即应用更改,则更改会在下一个维护时段中生效。

在此更改期间发生停机。

所有数据库引擎