创建多可用区数据库集群
多可用区数据库集群在三个独立可用区中有一个写入器数据库实例和两个读取器数据库实例。与多可用区部署相比,多可用区数据库集群可提供高可用性、增加读取工作负载容量以及更低的延迟。有关多可用区数据库集群的更多信息,请参阅 多可用区数据库集群部署。
仅 MySQL 和 PostgreSQL 数据库引擎支持多可用区数据库集群。
在以下主题中,您可以了解如何创建多可用区数据库集群。要了解其用法,请先参阅数据库集群先决条件。
有关连接到多可用区数据库集群的说明,请参阅 连接到 Amazon RDS 数据库实例。
数据库集群先决条件
请务必先完成 设置 Amazon RDS 中的任务,然后才能创建多可用区数据库集群。以下是创建多可用区数据库集群的其他先决条件。
VPC 先决条件
在具有至少三个可用区的 Amazon 区域中,您只能在基于 Amazon VPC 服务的 Virtual Private Cloud (VPC) 中创建一个多可用区数据库集群。为数据库集群选择的数据库子网组必须包含至少三个可用区。在极少数情况下,在发生可用区故障时,该配置确保数据库集群始终具有至少两个可用于故障转移的数据库实例。
如果使用 Amazon Web Services Management Console 创建多可用区数据库集群,您可以让 Amazon RDS 自动为您创建 VPC。或者,您也可以使用现有 VPC 或为您的多可用区数据库集群创建新的 VPC。要在多可用区数据库集群中使用您的 VPC,该 VPC 必须最少在三个可用区中均拥有一个子网。有关 VPC 的信息,请参阅 Amazon Virtual Private Cloud VPC 和 Amazon RDS。
如果您没有原定设置 VPC 或尚未创建 VPC,并且您不打算使用控制台,请执行以下操作:
-
在要部署数据库集群的 Amazon 区域中,创建最少在三个可用区中均至少有一个子网的 VPC。有关更多信息,请参阅 在 VPC 中使用数据库实例。
-
指定授权与您的 数据库集群的连接的 VPC 安全组。有关更多信息,请参阅 在 VPC 中使用数据库实例。
-
指定 RDS 数据库子网组,该子网组在 VPC 中定义至少三个可由多可用区数据库集群使用的子网。有关更多信息,请参阅 使用数据库子网组。
其他先决条件
如果使用 Amazon Identity and Access Management(IAM)凭证连接到Amazon,您的Amazon账户必须拥有 IAM 策略来授予执行 Amazon RDS 操作所需的权限。有关更多信息,请参阅 Amazon RDS 中的 Identity and Access Management。
如果要使用 IAM 访问 Amazon RDS 控制台,请先使用您的 IAM 用户凭证登录 Amazon Web Services Management Console。然后通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
要定制您的数据库集群的配置参数,请通过必需的参数设置来指定数据库集群的参数组。有关创建或修改数据库集群参数组的信息,请参阅 使用多可用区数据库集群的参数组。
请确定要为数据库集群指定的 TCP/IP 端口号。有些公司的防火墙将会阻止通往这些原定设置端口的连接。如果您的公司防火墙阻止默认端口,请为数据库集群选择其他端口。数据库集群中的所有数据库实例均使用相同的端口。
创建数据库集群
您可以使用 Amazon Web Services Management Console、Amazon CLI 或 RDS API 创建多可用区数据库集群。
您可以通过选择 Availability and durability(可用性与持久性)部分中的 Multi-AZ DB cluster(多可用区数据库集群)来创建多可用区数据库集群。
要使用控制台创建多可用区数据库集群
-
登录Amazon Web Services Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在 Amazon Web Services Management Console 的右上角,选择要在其中创建数据库集群的 Amazon 区域。
只有美国东部(弗吉尼亚北部)、美国西部(俄勒冈)和欧洲(爱尔兰)Amazon 区域支持多可用区数据库集群。
-
在导航窗格中,选择 Databases (数据库)。
-
选择创建数据库。
要创建多可用区数据库集群,请确保已选择 Standard Create(标准创建)并未选择 Easy Create(轻松创建)。
-
在 Engine type(引擎类型)中,请选择 MySQL 或 PostgreSQL。
-
对于 Version(版本),请选择数据库引擎版本。
若想创建多可用区数据库集群,您只能使用 MySQL 版本 8.0.28 和更高的 8.0 版本,以及 PostgreSQL 版本 13.4 和更高的 13 版本。
-
在 Templates(模板)中,请为您的部署选择适当的模板。
-
在 Availability and durability(可用性与持久性)中,选择 Multi-AZ DB cluster(多可用区数据库集群)。
-
在 DB cluster identifier(数据库集群标识符)中,请输入数据库集群的标识符。
-
在 Master username(主用户名)中,请输入您的主用户名,或者保持原定设置设置。
-
请输入您的主密码:
在设置部分中,打开凭证设置。
如果要指定密码,请取消勾选已选择的 Auto generate a password(自动生成密码)复选框。
(可选)更改 Master username(主用户名)的值。
请在 Master password(主密码)和 Confirm password(确认密码)中输入相同的密码。
-
在 DB instance class(数据库实例类)中,请选择数据库实例类。
-
对于其余部分,请指定数据库集群设置。有关每项设置的信息,请参阅 创建多可用区数据库集群的设置。
-
选择创建数据库。
如果选择使用自动生成的密码,则数据库页面上将显示查看凭证详细信息按钮。
要查看数据库集群的主用户名和密码,请选择查看凭证详细信息。
要以主用户身份连接到数据库集群,请使用显示的用户名和密码。
重要 您无法再次查看主用户密码。
-
对于 Databases(数据库),请选择新数据库集群的名称。
在 RDS 控制台上,将显示新数据库集群的详细信息。在此数据库集群完成创建、可供使用之前,此数据库集群的状态将为 Creating(正在创建)。当状态变为 Available(可用)时,您便可以连接到该数据库集群。根据所分配的数据库集群类和存储的不同,新数据库集群可能需要数分钟时间才可用。
在使用 Amazon CLI 创建多可用区数据库集群之前,您必须满足所需的先决条件,例如,创建 VPC 和 RDS 数据库子网组。有关更多信息,请参阅 数据库集群先决条件。
要使用 Amazon CLI 创建多可用区数据库集群,请调用 create-db-cluster 命令。请指定 --db-cluster-identifier
。对于 --engine
选项,请指定 mysql
或 postgres
。
有关各选项的信息,请参阅 创建多可用区数据库集群的设置。
create-db-cluster
命令将为您的数据库集群创建写入器数据库实例,以及两个读取器数据库实例。每个数据库实例都位于不同的可用区。
例如,以下命令将创建一个名为 mysql-multi-az-db-cluster
的 MySQL 8.0 多可用区数据库集群。
对于 Linux、macOS 或 Unix:
aws rds create-db-cluster \ --db-cluster-identifier
mysql-multi-az-db-cluster
\ --engine mysql \ --engine-version8.0.26
\ --master-user-passwordpassword
\ --master-usernameadmin
\ --port3306
\ --backup-retention-period1
\ --db-subnet-group-namedefault
\ --allocated-storage4000
\ --storage-type io1 \ --iops10000
\ --db-cluster-instance-classdb.r6gd.xlarge
对于 Windows:
aws rds create-db-cluster ^ --db-cluster-identifier
mysql-multi-az-db-cluster
^ --engine mysql ^ --engine-version8.0.26
^ --master-user-passwordpassword
^ --master-usernameadmin
^ --port3306
^ --backup-retention-period1
^ --db-subnet-group-namedefault
^ --allocated-storage4000
^ --storage-type io1 ^ --iops10000
^ --db-cluster-instance-classdb.r6gd.xlarge
以下命令将创建一个名为 postgresql-multi-az-db-cluster
的 PostgreSQL 13.4 多可用区数据库集群。
对于 Linux、macOS 或 Unix:
aws rds create-db-cluster \ --db-cluster-identifier
postgresql-multi-az-db-cluster
\ --engine postgres \ --engine-version13.4
\ --master-user-passwordpassword
\ --master-usernamepostgres
\ --port5432
\ --backup-retention-period1
\ --db-subnet-group-namedefault
\ --allocated-storage4000
\ --storage-type io1 \ --iops10000
\ --db-cluster-instance-classdb.r6gd.xlarge
对于 Windows:
aws rds create-db-cluster ^ --db-cluster-identifier
postgresql-multi-az-db-cluster
^ --engine postgres ^ --engine-version13.4
^ --master-user-passwordpassword
^ --master-usernamepostgres
^ --port5432
^ --backup-retention-period1
^ --db-subnet-group-namedefault
^ --allocated-storage4000
^ --storage-type io1 ^ --iops10000
^ --db-cluster-instance-classdb.r6gd.xlarge
在使用 RDS API 创建多可用区数据库集群之前,您必须满足所需的先决条件,例如创建 VPC 和 RDS 数据库子网组。有关更多信息,请参阅 数据库集群先决条件。
要使用 RDS API 创建多可用区数据库集群,请调用 CreateDBCluster 操作。请指定 DBClusterIdentifier
。对于 Engine
参数,请指定 mysql
或 postgresql
。
有关各选项的信息,请参阅 创建多可用区数据库集群的设置。
CreateDBCluster
操作将为您的数据库集群创建写入器数据库实例,以及两个读取器数据库实例。每个数据库实例都位于不同的可用区。
创建多可用区数据库集群的设置
有关创建多可用区数据库集群时所选设置的详细信息,请参阅下表。有关 Amazon CLI 选项的更多信息,请参阅 create-db-cluster。有关 RDS API 参数的更多信息,请参阅 CreateDBCluster。
控制台设置 | 设置说明 | CLI 选项和 RDS API 参数 |
---|---|---|
分配的存储空间 |
为数据库集群中的每个数据库实例分配的存储量(以 GiB 为单位)。 有关更多信息,请参阅 Amazon RDS 数据库实例存储。 |
CLI 选项:
API 参数:
|
自动次要版本升级 |
请选择 Enable auto minor version upgrade(启用自动次要版本升级),以使数据库集群能够在首选次要数据库引擎版本升级可用时自动接收这些升级。Amazon RDS 在维护时段内执行自动次要版本升级。 |
CLI 选项:
API 参数:
|
备份保留期 |
您希望数据库集群自动备份的保留天数。对于多可用区数据库集群,此值必须设置为 有关更多信息,请参阅 使用备份。 |
CLI 选项:
API 参数:
|
备份时段 |
Amazon RDS 自动备份数据库集群的时间段。除非您知道需要何时进行数据库备份,否则,请使用 No preference(无首选项)的原定设置设置。 有关更多信息,请参阅“使用备份”。 |
CLI 选项:
API 参数:
|
将标签复制到快照 |
在创建快照时,该选项将任何数据库集群标签复制到数据库快照中。 有关更多信息,请参阅 为 Amazon RDS 资源添加标签。 |
CLI 选项:
RDS API 参数:
|
数据库身份验证 |
对于多可用区数据库集群,仅支持 Password authentication(密码身份验证)。 |
无,因为密码身份验证是原定设置。 |
数据库端口: |
要用于访问数据库集群的端口。显示的是默认端口。如果将数据库安全组用于数据库集群,该端口值必须与创建数据库安全组时提供的端口值相同。 创建数据库集群后将无法更改端口。 有些公司的防火墙将会阻止通往这些原定设置端口的连接。如果您的公司防火墙阻止原定设置端口,请为数据库集群输入其他端口。 |
CLI 选项:
RDS API 参数:
|
数据库集群标识符 |
数据库集群的名称。请使用与命名本地部署服务器相同的方式命名数据库集群。数据库集群标识符最多可以包含 63 个字母数字字符,且必须在所选 Amazon 区域中对于您的账户是唯一的。 |
CLI 选项:
RDS API 参数:
|
DB cluster instance class(数据库集群实例类 |
多可用区数据库集群中各数据库实例(例如 如有可能,请选择足够大的数据库实例类以便典型查询工作集能够保留在内存中。如果在内存中保留工作集,系统可以避免写入到磁盘,从而提高性能。 目前,多可用区数据库集群仅支持 db.m6gd 和 db.r6gd 数据库实例类。有关数据库实例类的更多信息,请参阅 数据库实例类。 |
CLI 选项:
RDS API 参数:
|
数据库集群参数组 |
要与数据库集群关联的数据库集群参数组。 有关更多信息,请参阅 使用多可用区数据库集群的参数组。 |
CLI 选项:
RDS API 参数:
|
数据库引擎版本 |
要使用的数据库引擎的版本。 |
CLI 选项:
RDS API 参数:
|
数据库参数组 |
要与数据库集群中的数据库实例关联的数据库实例参数组。 有关更多信息,请参阅 使用多可用区数据库集群的参数组。 |
不适用。Amazon RDS 将每个数据库实例与适当的原定设置参数组向关联。 |
删除保护 |
启用删除保护以禁止删除数据库集群。如果使用控制台创建生产数据库集群,预设情况下将开启删除保护。 有关更多信息,请参阅 删除数据库实例。 |
CLI 选项:
RDS API 参数:
|
加密 |
请选择 Enable Encryption(启用加密)以对该数据库集群开启静态加密。 预设情况下,将对多可用区数据库集群开启加密。 有关更多信息,请参阅 加密 Amazon RDS 资源。 |
CLI 选项:
RDS API 参数:
|
增强监控 |
选择 Enable enhanced monitoring(启用增强监控)可为您的数据库集群运行所在的操作系统开启实时指标收集。 有关更多信息,请参阅 使用增强监控来监控操作系统指标。 |
CLI 选项:
RDS API 参数:
|
Initial database name (初始数据库名称 |
数据库集群的数据库名称。如果您未提供名称,则 Amazon RDS 不会在数据库集群上为 MySQL 创建数据库,但会在数据库集群上为 PostgreSQL 创建数据库。该名称不能是数据库引擎保留的单词,并且具有其他限制,具体取决于数据库引擎。 MySQL:
PostgreSQL:
|
CLI 选项:
RDS API 参数:
|
日志导出 |
要发布到 Amazon CloudWatch Logs 的数据库日志文件的类型。 有关更多信息,请参阅“将数据库日志发布到 Amazon CloudWatch Logs”。 |
CLI 选项:
RDS API 参数:
|
维护时段 |
30 分钟时段,在这段时间内,将会应用对数据库集群的待处理修改。如果该时段无关紧要,请选择 No preference(无首选项)。 有关更多信息,请参阅“Amazon RDS 维护时段”。 |
CLI 选项:
RDS API 参数:
|
主密码 |
您的主用户账户密码。 |
CLI 选项:
RDS API 参数:
|
主用户名 – |
用作登录数据库集群的主用户名,拥有所有数据库权限。
有关授予主用户权限的更多信息,请参阅 主用户账户权限。 |
CLI 选项:
RDS API 参数:
|
Performance Insights |
请选择 Enable Performance Insights(启用性能详情)以监控数据库集群负载,以便您可以分析数据库性能和解决数据库性能问题。 选择保留期以确定要保留的滚动数据历史记录数量。免费套餐中的默认值为 7 天。长期保留(两年)是按每月每个 vCPU 定价的。 选择一个主密钥以用来保护用于加密该数据库卷的密钥。请从您的账户的主密钥中进行选择,或输入来自其他账户的密钥。 有关更多信息,请参阅“在 Amazon RDS 上使用性能详情监控数据库负载”。 |
CLI 选项:
RDS API 参数:
|
预置 IOPS |
最初为数据库集群分配的预置 IOPS(每秒输入/输出操作数)量。仅当将预置 IOPS ( 有关更多信息,请参阅 预置 IOPS SSD 存储。 |
CLI 选项:
RDS API 参数:
|
公有访问权限 |
请选择 Publicly accessible(可公开访问)以为数据库集群提供公有 IP 地址,这表示可以在 VPC 外部访问该实例。要可供公开访问,数据库集群还必须在 VPC 的公有子网中。 请选择 Not publicly accessible(不可公开访问)以设置只能从 VPC 内部访问数据库集群。 有关更多信息,请参阅 从 Internet 隐藏 VPC 中的数据库实例。 要从其 VPC 外部连接到数据库集群,该数据库集群必须可公开访问。此外,必须使用数据库集群安全组的入站规则授予访问权限,并且必须满足其他要求。有关更多信息,请参阅 无法连接到 Amazon RDS 数据库实例。 如果您的数据库集群不可公开访问,则您可以使用 Amazon Site-to-Site VPN 连接或 Amazon Direct Connect 连接从专用网络访问该实例。有关更多信息,请参阅 互联网络流量隐私。 |
CLI 选项:
RDS API 参数:
|
存储类型 |
数据库集群的存储类型。 仅支持预置 IOPS (io1) 存储。 有关更多信息,请参阅 Amazon RDS 存储类型。 |
CLI 选项:
RDS API 参数:
|
子网组 |
与此数据库集群关联的数据库子网组。 有关更多信息,请参阅 使用数据库子网组。 |
CLI 选项:
RDS API 参数:
|
Virtual Private Cloud (VPC) |
要与此数据库集群关联的 Amazon VPC。 有关更多信息,请参阅 Amazon Virtual Private Cloud VPC 和 Amazon RDS。 |
对于 CLI 和 API,您可以指定 VPC 安全组 ID。 |
VPC 安全组 |
要与数据库集群关联的安全组。 有关更多信息,请参阅 VPC 安全组。 |
CLI 选项:
RDS API 参数:
|
创建多可用区数据库集群时不适用的设置
以下 Amazon CLI 命令 create-db-cluster
和 RDS API 操作 CreateDBCluster
中的设置不适用于多可用区数据库集群。
您也无法在控制台中为多可用区数据库集群指定这些设置。
Amazon CLI 设置 | RDS API 设置 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|