Amazon Aurora
Aurora 用户指南 (API 版本 2014-10-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

创建 Amazon Aurora 数据库集群

Amazon Aurora 数据库集群包括一个与 MySQL 或 PostgreSQL 兼容的数据库实例,以及一个集群卷,该集群卷将跨三个可用区复制的数据库集群的数据表示为一个单一虚拟卷。数据库集群包含一个主写入器数据库实例,以及可选的最多 15 个 Aurora 副本(读取器数据库实例)。有关 Aurora 数据库集群的更多信息,请参阅Amazon Aurora 数据库集群

本主题介绍如何创建 Aurora 数据库集群。要了解其用法,请先参阅数据库集群先决条件

有关连接到 Aurora 数据库集群的简单说明,请参阅连接到 Amazon Aurora 数据库集群

数据库集群先决条件

重要

您必须先完成为 Amazon Aurora 设置环境一节中的任务,然后才能创建 Aurora 数据库集群。

以下是创建数据库集群的先决条件。

VPC

您只能在具有至少两个可用区的 AWS 区域上的 Virtual Private Cloud (VPC) 中创建 Amazon Aurora 数据库集群。为数据库集群选择的数据库子网组必须包含至少两个可用区。在极少数情况下,在发生可用区故障时,该配置确保数据库集群始终具有至少一个可用于故障转移的数据库实例。

如果使用 AWS 管理控制台创建 Aurora 数据库集群,您可以让 Amazon RDS 自动为您创建 VPC。或者,您也可以使用现有 VPC 或为 Aurora 数据库集群创建新的 VPC。要在 Amazon Aurora 数据库集群中使用您的 VPC,该 VPC 必须最少在两个可用区中均拥有一个子网。有关更多信息,请参阅如何创建 VPC 以用于 Amazon Aurora。有关 VPC 的信息,请参阅 Amazon Virtual Private Cloud VPC 和 Amazon Aurora

注意

可使用 ClassicLink 与不在 VPC 中的 EC2 实例和 Amazon Aurora 数据库集群进行通信。有关更多信息,请参阅VPC 中的数据库实例由不在 VPC 中的 EC2 实例访问

如果没有默认 VPC 或尚未创建 VPC,您可以在使用 AWS 管理控制台创建 Aurora 数据库集群时让 Amazon RDS 自动为您创建 VPC。否则,您必须执行以下操作:

  • 在要部署数据库集群的 AWS 区域中,创建在至少两个可用区中均至少有一个子网的 VPC。有关更多信息,请参阅 如何创建 VPC 以用于 Amazon Aurora

  • 指定授权与您的 Aurora 数据库集群的连接的 VPC 安全组。有关更多信息,请参阅 在 VPC 中使用数据库实例

  • 指定 RDS 数据库子网组,该子网组在 VPC 中定义至少两个可由 Aurora 数据库集群使用的子网。有关更多信息,请参阅使用数据库子网组

其他先决条件

  • 如果使用 IAM 凭证连接到 AWS,您的 IAM 账户必须拥有 IAM 政策来授予执行 Amazon RDS 操作所需的权限。有关更多信息,请参阅Amazon Aurora 中的 Identity and Access Management

    如果要使用 IAM 账户访问 Amazon RDS 控制台,则必须先使用您的 IAM 账户登录到 AWS 管理控制台,然后转至 https://console.amazonaws.cn/rds/ 上的 Amazon RDS 控制台。

  • 要定制您的数据库集群的配置参数,必须通过必需的参数设置来指定数据库集群参数组和数据库参数组。有关创建或修改数据库集群参数组或数据库参数组的信息,请参阅 使用数据库参数组和数据库集群参数组

  • 您必须确定要为数据库集群指定的 TCP/IP 端口号。有些公司的防火墙不允许连接到 Aurora 的默认端口 (MySQL 为 3306,PostgreSQL 为 5432)。如果您的公司防火墙阻止默认端口,请为数据库集群选择其他端口。数据库集群中的所有实例使用相同的端口。

创建数据库集群

您可以使用 AWS 管理控制台、AWS CLI 或 RDS API 创建 Aurora 数据库集群。

控制台

使用 AWS 管理控制台创建 Aurora 数据库集群

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

  2. 在 AWS 管理控制台的右上角,选择要在其中创建 Aurora 数据库集群的 AWS 区域。

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

    如果导航窗格已关闭,请选择左上角的菜单图标以将其打开。

  4. 选择创建数据库以打开选择引擎页面。

  5. Select engine (选择引擎) 页面上,选择一个 Aurora 版本。可以选择 MySQL 5.6 兼容版、MySQL 5.7 兼容版或 PostgreSQL 兼容版。

    
                            Amazon Aurora 选择引擎
  6. 选择下一步

  7. Specify DB details (指定数据库详细信息) 页面上,指定数据库实例信息。下表显示数据库实例的设置。

    对于该选项 执行该操作

    容量类型

    选择已配置以手动管理数据库实例的容量。如果工作负载变化,您可能需要更改实例的数据库实例类。

    为 Aurora 选择无服务器以自动管理数据库实例的可用容量。有关更多信息,请参阅使用 Amazon Aurora Serverless

    数据库引擎版本

    仅适用于已配置的容量类型。选择数据库引擎的版本号。

    数据库实例类

    仅适用于已配置的容量类型。选择定义数据库集群中每个实例的处理和内存要求的数据库实例类。有关数据库实例类的更多信息,请参阅选择数据库实例类

    多可用区部署

    仅适用于已配置的容量类型。确定是否要在其他可用区中创建 Aurora 副本以实现故障转移支持。如果您选择在不同区域创建副本,Amazon RDS 将在不同可用区的数据库集群中创建 Aurora 副本,而不是在数据库集群的主实例中创建。有关多可用区的详细信息,请参阅选择区域和可用区

    数据库实例标识符

    输入数据库集群中主实例的名称。此标识符在您的数据库集群主实例的终端节点地址中使用。

    数据库实例标识符具有以下限制:

    • 它必须包含 1 到 63 个字母数字字符或连字符。

    • 它的第一个字符必须是字母。

    • 它不能以连字符结尾,也不能包含两个连续连字符。

    • 它对于每个 AWS 区域的每个 AWS 账户的所有数据库实例必须是唯一的。

    主用户名

    输入使用字母数字字符的名称,该名称将用作登录数据库集群的主用户名。

    主密码

    输入一个包含 8 到 41 位可打印 ASCII 字符(不包括 /、"、和 @)的密码用作主用户密码。

    典型的指定数据库详细信息页面类似如下所示。

    
                            Amazon Aurora 详细信息
  8. 确认您的主密码并选择 Next

  9. Configure advanced settings (配置高级设置) 页面上,可自定义您的 Aurora 数据库集群的其他设置。下表列出了数据库集群的高级设置。

    对于该选项... 执行该操作

    Virtual Private Cloud (VPC)

    选择将托管数据库集群的 VPC。选择 Create a New VPC 以让 Amazon RDS 为您创建 VPC。有关更多信息,请参阅本主题前面的数据库集群先决条件

    子网组

    选择要用于数据库集群的数据库子网组。 有关更多信息,请参阅本主题前面的数据库集群先决条件

    公开可用性

    选择 Yes 可向数据库集群提供公有 IP 地址;否则,请选择 No。数据库集群可以混合使用公有和私有数据库实例。有关隐藏实例以防止公开访问的更多信息,请参阅从 Internet 隐藏 VPC 中的数据库实例

    可用区

    确定您是否希望指定特定的可用区。有关可用区的更多信息,请参阅选择区域和可用区

    VPC 安全组

    选择新建 VPC 安全组以让 Amazon RDS 为您创建 VPC 安全组。或者,选择选择现有的 VPC 安全组,并指定一个或多个 VPC 安全组以保护对数据库集群的网络访问。

    在 RDS 控制台中选择 Create new VPC security group (新建 VPC 安全组) 时,将使用一个入站规则来创建新的安全组,该入站规则允许从浏览器中检测到的 IP 地址访问数据库实例。

    有关更多信息,请参阅本主题前面的数据库集群先决条件

    DB Cluster Identifier

    为数据库集群输入一个名称,该名称在您选择的 AWS 区域中对于您的账户是唯一的。此标识符将在数据库集群的集群终端节点地址中使用。有关集群终端节点的信息,请参阅 Amazon Aurora 连接管理

    数据库集群标识符具有以下限制:

    • 它必须包含 1 到 63 个字母数字字符或连字符。

    • 它的第一个字符必须是字母。

    • 它不能以连字符结束或包含两个连续连字符。

    • 它对于每个 AWS 区域的每个 AWS 账户的所有数据库集群必须是唯一的。

    数据库名称

    为您的默认数据库键入一个包含多达 64 位字母数字字符的名称。如果您未提供名称,Amazon RDS 将不会在您创建的数据库集群上创建数据库。

    要创建其他数据库,请连接到数据库集群并使用 SQL 命令 CREATE DATABASE。有关连接到数据库集群的更多信息,请参阅连接到 Amazon Aurora 数据库集群

    端口

    指定应用程序和实用程序用于访问数据库的端口。默认情况下,Aurora MySQL 数据库集群使用默认 MySQL 端口 3306;Aurora PostgreSQL 数据库集群使用默认 PostgreSQL 端口 5432。有些公司的防火墙不允许连接到这些默认端口。如果您的公司防火墙阻止使用默认端口,请为新数据库集群选择其他端口。

    数据库参数组

    选择参数组。Aurora 具有一个可使用的默认参数组,或者您也可以创建自己的参数组。有关参数组的更多信息,请参阅 使用数据库参数组和数据库集群参数组

    数据库集群参数组

    选择一个数据库集群参数组。Aurora 具有一个可使用的默认数据库集群参数组,您也可以创建自己的数据库集群参数组。有关数据库集群参数组的更多信息,请参阅 使用数据库参数组和数据库集群参数组

    选项组

    Aurora 具有一个默认选项组。

    IAM 数据库身份验证

    选择启用 IAM 数据库身份验证以启用 IAM 数据库身份验证。有关更多信息,请参阅 的 IAM 数据库身份验证

    加密

    选择 Enable encryption 可对该数据库集群启用静态加密。有关更多信息,请参阅 加密 Amazon Aurora 资源

    主密钥

    仅当加密设置为启用加密时可用。选择用于加密该数据库集群的主密钥。有关更多信息,请参阅加密 Amazon Aurora 资源

    优先级

    选择实例的故障转移优先级。如果您未选择值,则默认值为 tier-1。此优先级决定从主实例故障恢复时提升 Aurora 副本的顺序。有关更多信息,请参阅Aurora 数据库集群的容错能力

    备份保留期

    选择 Aurora 将保留数据库的备份副本的时间长度 (1 到 35 天)。可使用备份副本对数据库执行时间点还原 (PITR),以还原到第二个时间点。

    复制标签给快照

    选择该项可指定将为该数据库集群定义的标签复制到从该数据库集群创建的数据库快照。有关更多信息,请参阅 为 Amazon RDS 资源添加标签

    回溯

    仅适用于 Aurora MySQL。选择启用回溯可启用回溯,选择禁用回溯可禁用回溯。使用回溯可以将数据库集群倒回到特定时间,而无需创建新的数据库集群。默认情况下它是禁用的。如果启用回溯,则还可以指定希望能够回溯您的数据库集群的时间长度 (目标回溯时段)。有关更多信息,请参阅 回溯 Aurora 数据库集群

    增强监控

    选择启用增强监测可启用您的数据库集群在其上运行的操作系统的实时指标收集。有关更多信息,请参阅增强监测

    监控角色

    仅当增强监测设置为启用增强监测时可用。选择您创建的 IAM 角色以允许 Amazon RDS 与 Amazon CloudWatch Logs 通信,或选择默认以让 RDS 为您创建一个名为 rds-monitoring-role 的角色。有关更多信息,请参阅增强监测

    粒度

    仅当增强监测设置为启用增强监测时可用。设置为数据库集群收集指标的时间间隔(以秒为单位)。

    Performance Insights

    不适用于 MySQL 5.6。如果想要使用 Amazon RDS Performance Insights 监控 Amazon Aurora 数据库集群负载,请选择 Enable Performance Insights (启用 Performance Insights)。有关 Performance Insights 的更多信息,请参阅 使用 Amazon RDS Performance Insights

    保留期 不适用于 MySQL 5.6。选择保留 Performance Insights 数据的时长。
    主密钥 不适用于 MySQL 5.6。指定您的 AWS Key Management Service (AWS KMS) 密钥。Performance Insights 功能会使用您的 AWS KMS 密钥来加密所有潜在的敏感数据。有关更多信息,请参阅加密 Amazon Aurora 资源

    选择要发布到 Amazon CloudWatch Logs 的日志类型

    仅适用于 Aurora MySQL。在 Log exports (日志导出) 部分,选择要开始发布到 Amazon CloudWatch Logs 的日志。有关发布到 CloudWatch Logs 的更多信息,请参阅将 Amazon Aurora MySQL 日志发布到 Amazon CloudWatch Logs

    自动次要版本升级

    如果要在数据库引擎的首选次要版本升级可用时,让您的 Aurora 数据库集群自动接收这些升级,请选择 Enable auto minor version upgrade (启用自动次要版本升级)

    自动次要版本升级设置仅适用于 Aurora PostgreSQL 数据库集群。

    有关 Aurora PostgreSQL 引擎更新的更多信息,请参阅Amazon Aurora PostgreSQL 的数据库引擎更新

    有关 Aurora MySQL 引擎更新的更多信息,请参阅Amazon Aurora MySQL 的数据库引擎更新

    维护时段

    选择选择时段并指定可以进行系统维护的每周时间范围。或者,为 Amazon RDS 选择无首选项以随机分配一个时段。

    启用删除保护 选择启用删除保护以禁止删除数据库集群。如果使用控制台创建生产数据库集群,将默认启用删除保护。
  10. 选择 Create database (创建数据库) 以创建 Aurora 数据库集群,然后选择 Close (关闭)

    在 Amazon RDS 控制台中,新数据库集群显示在数据库集群的列表中。在此数据库集群完成创建,可供使用之前,此数据库集群的状态为 creating (正在创建)。当状态更改为 available (可用) 时,您可连接到数据库集群的写入器实例。根据所分配的数据库集群类和存储的不同,新集群可能需要数分钟时间才可用。

    要查看新创建的集群,请在 Amazon RDS 控制台导航窗格中选择 Databases (数据库),然后选择数据库集群以显示数据库集群详细信息。有关更多信息,请参阅查看 Amazon Aurora 数据库集群

    
                            Amazon Aurora 数据库实例列表

    记下集群的端口和终端节点。在执行写入或读取操作的任何应用程序的 JDBC 和 ODBC 连接字符串中,使用此写入器数据库集群的终端节点和端口。

AWS CLI

您可以使用 AWS CLI 创建 Aurora 数据库集群。

注意

在使用 AWS CLI 创建 Aurora 数据库集群之前,您必须满足所需的先决条件,例如,创建 VPC 和 RDS 数据库子网组。有关更多信息,请参阅数据库集群先决条件

使用 AWS CLI 创建 Aurora 数据库集群

在创建 Aurora 数据库集群或数据库实例时,请确保为 --engine 选项指定正确的值。

  • 在创建 Aurora MySQL 5.6 数据库集群或数据库实例时,您必须为 --engine 选项指定 aurora

  • 在创建 Aurora MySQL 5.7 数据库集群或数据库实例时,您必须为 --engine 选项指定 aurora-mysql

  • 在创建 Aurora PostgreSQL 数据库集群或数据库实例时,您必须为 --engine 选项指定 aurora-postgresql

完成以下步骤:

  1. 为新的数据库集群确定数据库子网组和 VPC 安全组 ID,然后调用 create-db-cluster AWS CLI 命令以创建 Aurora 数据库集群。

    例 创建新 MySQL 5.6 兼容数据库集群

    以下命令创建一个名为 sample-cluster 的新 MySQL 5.6 兼容数据库集群。

    针对 Linux、OS X 或 Unix:

    aws rds create-db-cluster --db-cluster-identifier sample-cluster --engine aurora \ --engine-version 5.6.10a --master-username user-name --master-user-password password \ --db-subnet-group-name mysubnetgroup --vpc-security-group-ids sg-c7e5b0d2

    对于 Windows:

    aws rds create-db-cluster --db-cluster-identifier sample-cluster --engine aurora ^ --engine-version 5.6.10a --master-username user-name --master-user-password password ^ --db-subnet-group-name mysubnetgroup --vpc-security-group-ids sg-c7e5b0d2

    例 创建新 MySQL 5.7 兼容数据库集群

    以下命令创建一个名为 sample-cluster 的新 MySQL 5.7 兼容数据库集群。

    针对 Linux、OS X 或 Unix:

    aws rds create-db-cluster --db-cluster-identifier sample-cluster --engine aurora-mysql \ --engine-version 5.7.12 --master-username user-name --master-user-password password \ --db-subnet-group-name mysubnetgroup --vpc-security-group-ids sg-c7e5b0d2

    对于 Windows:

    aws rds create-db-cluster --db-cluster-identifier sample-cluster --engine aurora-mysql ^ --engine-version 5.7.12 --master-username user-name --master-user-password password ^ --db-subnet-group-name mysubnetgroup --vpc-security-group-ids sg-c7e5b0d2

    例 创建新 Aurora PostgreSQL 兼容数据库集群

    以下命令创建一个名为 sample-cluster 的新 PostgreSQL 数据库集群。

    针对 Linux、OS X 或 Unix:

    aws rds create-db-cluster --db-cluster-identifier sample-cluster --engine aurora-postgresql \ --master-username user-name --master-user-password password \ --db-subnet-group-name mysubnetgroup --vpc-security-group-ids sg-c7e5b0d2

    对于 Windows:

    aws rds create-db-cluster --db-cluster-identifier sample-cluster --engine aurora-postgresql ^ --master-username user-name --master-user-password password ^ --db-subnet-group-name mysubnetgroup --vpc-security-group-ids sg-c7e5b0d2
  2. 创建主(写入器)数据库实例。

    写入器数据库实例是在数据库集群中创建的第一个实例。如果使用控制台创建数据库集群,则 Amazon RDS 会为您的数据库集群自动创建写入器数据库实例。如果使用 AWS CLI 创建数据库集群,则必须为您的数据库集群明确创建写入器数据库实例。

    调用 create-db-instance AWS CLI 命令可为数据库集群创建写入器实例。包括数据库集群名称以作为 --db-cluster-identifier 选项值。

    例 创建新 MySQL 5.6 兼容数据库实例

    以下命令创建一个名为 sample-instance 的新 MySQL 5.6 兼容数据库实例。

    针对 Linux、OS X 或 Unix:

    aws rds create-db-instance --db-instance-identifier sample-instance \ --db-cluster-identifier sample-cluster --engine aurora --db-instance-class db.r4.large

    对于 Windows:

    aws rds create-db-instance --db-instance-identifier sample-instance ^ --db-cluster-identifier sample-cluster --engine aurora --db-instance-class db.r4.large

    例 创建新 MySQL 5.7 兼容数据库实例

    以下命令创建一个名为 sample-instance 的新 MySQL 5.7 兼容数据库实例。

    针对 Linux、OS X 或 Unix:

    aws rds create-db-instance --db-instance-identifier sample-instance \ --db-cluster-identifier sample-cluster --engine aurora-mysql --db-instance-class db.r4.large

    对于 Windows:

    aws rds create-db-instance --db-instance-identifier sample-instance ^ --db-cluster-identifier sample-cluster --engine aurora-mysql --db-instance-class db.r4.large

    例 创建新 PostgreSQL 兼容数据库实例

    以下命令创建一个新 PostgreSQL 兼容数据库集群。

    针对 Linux、OS X 或 Unix:

    aws rds create-db-instance --db-instance-identifier sample-instance named sample-instance. --db-cluster-identifier sample-cluster --engine aurora-postgresql --db-instance-class db.r4.large

    对于 Windows:

    aws rds create-db-instance --db-instance-identifier sample-instance ^ --db-cluster-identifier sample-cluster --engine aurora-postgresql --db-instance-class db.r4.large
RDS API

注意

在使用 RDS API 创建 Aurora 数据库集群之前,必须满足必要的先决条件,例如创建 VPC 和 RDS 数据库子网组。有关更多信息,请参阅数据库集群先决条件

为新的数据库集群指定数据库子网组和 VPC 安全组 ID,然后调用 CreateDBInstance 操作以创建数据库集群。

在创建 Aurora 数据库集群或数据库实例时,请确保为 Engine 参数指定正确的值。

  • 要创建 Aurora MySQL 5.6 数据库集群或数据库实例,必须为 Engine 参数指定 aurora

  • 要创建 Aurora MySQL 5.7 数据库集群或数据库实例,必须为 Engine 参数指定 aurora-mysql

  • 要创建 Aurora PostgreSQL 数据库集群或数据库实例,必须为 Engine 参数指定 aurora-postgresql