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

创建 Amazon RDS 数据库实例

Amazon RDS 的基本构建块是您在其中创建数据库的数据库实例。在创建数据库实例时,您可以选择其特定于引擎的特征。您还可以选择运行数据库服务器的 Amazon 实例的存储容量、CPU、内存等。

数据库实例先决条件

重要

在创建 Amazon RDS 数据库实例之前,请先完成设置 Amazon RDS 环境中的任务。

以下是创建 RDS 数据库实例的先决条件。

为数据库实例配置网络

您只能在虚拟私有云(VPC)中基于 Amazon VPC 服务创建 Amazon RDS 数据库实例。此外,它必须位于至少有两个可用区的 Amazon Web Services 区域中。为数据库实例选择的数据库子网组必须涵盖至少两个可用区。此配置可确保您在创建数据库实例时可以配置多可用区部署,或者将来可以轻松迁移到多可用区部署。

要在同一 VPC 中的新数据库实例和 Amazon EC2 实例之间设置连接,可以在创建数据库实例时执行此操作。要从同一 VPC 中的 EC2 实例以外的资源连接到数据库实例,请手动配置网络连接。

配置与 EC2 实例的自动网络连接

创建 RDS 数据库集群时,可以使用 Amazon Web Services Management Console在 EC2 实例和新数据库实例之间设置连接。当您这样做时,RDS 会自动配置您的 VPC 和网络设置。数据库实例与 EC2 实例在同一 VPC 中创建,以便 EC2 实例可以访问该数据库实例。

以下是将 EC2 实例与数据库实例连接的要求:

  • 在创建数据库实例之前,EC2 实例必须存在于 Amazon Web Services 区域中。

    如果 Amazon Web Services 区域中不存在任何 EC2 实例,控制台将提供创建一个此类实例的链接。

  • 创建数据库实例的用户必须具有执行以下操作的权限:

    • ec2:AssociateRouteTable

    • ec2:AuthorizeSecurityGroupEgress

    • ec2:AuthorizeSecurityGroupIngress

    • ec2:CreateRouteTable

    • ec2:CreateSubnet

    • ec2:CreateSecurityGroup

    • ec2:DescribeInstances

    • ec2:DescribeNetworkInterfaces

    • ec2:DescribeRouteTables

    • ec2:DescribeSecurityGroups

    • ec2:DescribeSubnets

    • ec2:ModifyNetworkInterfaceAttribute

    • ec2:RevokeSecurityGroupEgress

使用此选项创建私有数据库实例。数据库实例使用仅包含私有子网的数据库子网组,来限制对 VPC 内资源的访问。

要将 EC2 实例连接到数据库实例,请在 Create database(创建数据库)页面上的 Connectivity(连接)部分中,选择 Connect to an EC2 compute resource(连接到 EC2 计算资源)。

连接 EC2 实例

当您选择 Connect to an EC2 compute resource(连接到 EC2 计算资源)时,RDS 会自动设置以下选项。除非您通过选择 Don't connect to an EC2 compute resource(不要连接到 EC2 计算资源)来选择不与 EC2 实例建立连接,否则您无法更改这些设置。

控制台选项 自动设置

网络类型

RDS 将网络类型设置为 IPv4。当前,在 EC2 实例和数据库实例之间设置连接时,不支持双堆栈模式。

Virtual Private Cloud (VPC)

RDS 将 VPC 设置为与 EC2 实例关联的 VPC。

DB subnet group(数据库子网组)

RDS 要求在与 EC2 实例相同的可用区中具有带私有子网的数据库子网组。如果存在符合此要求的数据库子网组,则 RDS 将使用现有的数据库子网组。默认情况下,此选项设置为 Automatic setup(自动设置)。

当您选择 Automatic setup(自动设置)但没有满足此要求的数据库子网组时,将执行以下操作。RDS 在三个可用区中使用三个可用的私有子网,其中一个可用区与 EC2 实例相同。如果私有子网在可用区中不可用,则 RDS 会在可用区中创建私有子网。然后,RDS 创建数据库子网组。

当私有子网可用时,RDS 使用与该子网关联的路由表,并将它创建的任何子网添加到该路由表中。当没有可用的私有子网时,RDS 会创建一个没有互联网网关访问权限的路由表,并将它创建的子网添加到该路由表中。

RDS 还允许您使用现有的数据库子网组。如果您想使用您选择的现有数据库子网组,请选择 Choose existing(选择现有)。

公有访问权限

RDS 选择 No(否),以使数据库实例不可供公开访问。

出于安全考虑,最好实践是保持数据库为私有,并确保不能从互联网访问数据库。

VPC security group (firewall) [VPC 安全组(防火墙)]

RDS 创建一个与数据库实例关联的新安全组。安全组命名为 rds-ec2-n,其中 n 是一个数值。该安全组包含一条以 EC2 VPC 安全组(防火墙)作为源的入站规则。这个与数据库实例关联的安全组允许 EC2 实例访问数据库实例。

RDS 还会创建一个与 EC2 实例关联的新安全组。安全组命名为 ec2-rds-n,其中 n 是一个数值。该安全组包含一条以数据库实例的 VPC 安全组作为源的出站规则。该安全组允许 EC2 实例向数据库实例发送流量。

您可以通过选择 Create new(新建)并键入新安全组的名称,添加另一个新安全组。

您可以通过选择 Choose existing(选择现有)并选择要添加的安全组,添加现有安全组。

可用区

当您在 Availability & durability(可用性和持久性)(单可用区部署)中选择 Single DB instance(单数据库实例)时,RDS 将选择 EC2 实例的可用区。

当您在 Availability & durability(可用性和耐久性)(多可用区数据库实例部署)中选择 Multi-AZ DB instance(多可用区数据库实例)时,RDS 将为部署中的一个数据库实例选择 EC2 实例的可用区。RDS 为另一个数据库实例随机选择不同的可用区。在 EC2 实例所在的同一个可用区中创建主数据库实例或备用副本。当您选择 Multi-AZ DB instance(多可用区数据库实例)时,如果数据库实例和 EC2 实例位于不同的可用区,则可能会产生跨可用区成本。

有关这些设置的更多信息,请参阅 数据库实例的设置

如果您在创建数据库实例后更改这些设置,则这些更改可能会影响 EC2 实例与数据库实例之间的连接。

手动配置网络

要从同一 VPC 中的 EC2 实例以外的资源连接到数据库实例,请手动配置网络连接。如果您使用 Amazon Web Services Management Console创建数据库实例,您可以让 Amazon RDS 自动为您创建 VPC。或者,您也可以使用现有 VPC 或为数据库实例创建新的 VPC。无论采用哪种方法,您的 VPC 都要求在至少两个可用区的每个可用区中至少有一个子网,以与 RDS 数据库实例一起使用。

原定设置情况下,Amazon RDS 会在可用区中自动为您创建数据库实例。要选择特定可用区,需要将 Availability & durability(可用性和耐用性)设置更改为 Single DB instance(单数据库实例)。这样做会公开 Availability Zone(可用区)设置,此设置可让您从 VPC 内的可用区中进行选择。但是,如果您选择多可用区部署,则 RDS 会自动选择主数据库实例或写入器数据库实例的可用区,而不显示 Availability Zone(可用区)设置。

在某些情况下,您可能没有原定设置 VPC 或尚未创建 VPC。在这些情况下,您可以在使用控制台创建数据库实例时,让 Amazon RDS 自动为您创建 VPC。否则请执行以下操作:

如果您想连接到与数据库实例不在同一 VPC 中的资源,请参阅在 VPC 中访问数据库实例的场景中的相应方案。

其他先决条件

在创建数据库实例之前,请考虑以下附加先决条件:

  • 如果使用 Amazon Identity and Access Management(IAM)凭证连接到 Amazon,您的 Amazon 账户必须具有特定的 IAM policy。这些策略授予执行 Amazon RDS 操作所需的权限。有关更多信息,请参阅 Amazon RDS 的 Identity and Access Management

    要使用 IAM 访问 RDS 控制台,请使用您的 IAM 用户凭证登录 Amazon Web Services Management Console。然后通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  • 要定制数据库实例的配置参数,请通过所需的参数设置指定数据库参数组。有关创建或修改数据库参数组的信息,请参阅Amazon RDS 的参数组

    重要

    如果您对 Amazon RDS for Db2 使用 BYOL 模型,则在创建数据库实例之前,必须先创建一个包含您的 IBM Site ID 和 IBM Customer ID 的自定义参数组。有关更多信息,请参阅 自带 Db2 许可

  • 确定要为数据库实例指定的 TCP/IP 端口号。有些公司的防火墙阻止连接到 RDS 数据库实例的原定设置端口。如果您公司的防火墙阻止原定设置端口,请为数据库实例选择其他端口。Amazon RDS 数据库引擎的原定设置端口为:

    RDS for Db2 RDS for MariaDB RDS for MySQL RDS for Oracle RDS for PostgreSQL RDS for SQL Server
    50000 3306 3306 1521 5432 1433

    对于 RDS for SQL Server,预留以下端口,您不能在创建数据库实例时使用它们:1234, 1434, 3260, 3343, 3389, 47001,49152-49156

创建数据库实例

您可以使用 Amazon Web Services Management Console、Amazon CLI 或 RDS API 创建 Amazon RDS 数据库实例。

注意

对于 RDS for Db2,建议您在创建 RDS for Db2 数据库实例之前设置许可模式所需的项。有关更多信息,请参阅 Amazon RDS for Db2 许可选项

您可以在启用或未启用 Easy create (轻松创建) 的情况下使用 Amazon Web Services Management Console 创建数据库实例。启用 Easy create (轻松创建) 的情况下,您可以仅指定数据库引擎类型、数据库实例大小和数据库实例标识符。Easy create (轻松创建) 为其他配置选项使用默认设置。未启用 Easy create (轻松创建) 的情况下,您在创建数据库时需要指定更多配置选项,包括用于可用性、安全性、备份和维护的选项。

注意

在以下过程中,启用了 Standard create (标准创建),并且未启用 Easy create (轻松创建)。此过程使用 Microsoft SQL Server 作为示例。

有关使用 Easy create (轻松创建) 引导您完成为每个引擎创建和连接示例数据库实例的例子,请参阅开始使用 Amazon RDS

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

  2. 在 Amazon RDS 控制台的右上角,选择要在其中创建数据库实例的Amazon区域。

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

  4. 选择创建数据库,然后选择标准创建

  5. 引擎选项中,选择 IBM Db2、MariaDB、Microsoft SQL Server、MySQL、Oracle 或 PostgreSQL。

    此处显示了 Microsoft SQL Server

    引擎选择
  6. 对于数据库管理类型,如果您使用的是 Oracle 或 SQL Server,请选择 Amazon RDSAmazon RDS Custom

    此处显示了 Amazon RDS。有关 RDS Custom 的更多信息,请参阅 使用 Amazon RDS Custom

  7. 对于版本,如果您使用的是 Db2、Oracle 或 SQL Server,请选择要使用的数据库引擎版本。

    MySQL 针对该版本只有一个选项,而 MariaDB 和 PostgreSQL 没有选项。

  8. 对于 Version (版本),选择引擎版本。

  9. Templates (模板) 中,选择与您的使用案例匹配的模板。如果您选择生产,则将在后面的步骤中预选以下内容:

    • 多可用区故障转移选项

    • Provisioned IOPS SSD (io1) [预调配 IOPS SSD(io1)] 存储选项

    • 启用删除保护选项

    我们建议将这些功能用于任何生产环境。

    注意

    模板选择因版本而异。

  10. 要输入主密码,请执行以下操作:

    1. 设置部分中,打开凭证设置

    2. 如果要指定密码,请取消勾选已选择的 Auto generate a password(自动生成密码)复选框。

    3. (可选)更改 Master username(主用户名)的值。

    4. 请在 Master password(主密码)和 Confirm password(确认密码)中输入相同的密码。

  11. (可选)为该数据库实例设置与计算资源的连接。

    在创建数据库实例期间,您可以配置 Amazon EC2 实例和新数据库实例之间的连接。有关更多信息,请参阅 配置与 EC2 实例的自动网络连接

  12. 连接部分的 VPC 安全组(防火墙)下,如果您选择新建,则会创建一个 VPC 安全组,其入站规则允许本地计算机的 IP 地址访问该数据库。

  13. 对于其余部分,请指定数据库实例设置。有关每项设置的信息,请参阅 数据库实例的设置

  14. 选择创建数据库

    如果选择使用自动生成的密码,则数据库页面上将显示查看凭证详细信息按钮。

    要查看数据库实例的主用户名和密码,请选择查看凭证详细信息

    要以主用户身份连接到数据库实例,请使用显示的用户名和密码。

    重要

    您无法再次查看主用户密码。如果您不记录它,您可能需要更改它。如果需要在数据库实例可用后更改主用户密码,则可以修改数据库实例以执行此操作。有关修改 数据库实例的更多信息,请参阅 修改 Amazon RDS 数据库实例

  15. 对于 Databases (数据库),选择新数据库实例的名称。

    在 RDS 控制台上,将显示新数据库实例的详细信息。数据库实例具有 Creating (正在创建) 状态,直到该数据库实例完成创建并可供使用。当状态变为 Available (可用) 时,您可以连接到该数据库实例。根据所分配的数据库实例类和存储的不同,新实例可能需要数分钟时间才能变得可用。

    我的数据库实例详细信息

注意

如果您想采用“通过 Amazon Web Services Marketplace 获得 Db2 许可证”模式,则必须先使用 Amazon Web Services Management Console订阅 Amazon Web Services Marketplace 并注册 IBM。有关更多信息,请参阅 订阅 Db2 Marketplace 清单并注册 IBM

要使用 Amazon CLI 创建数据库实例,请使用以下参数调用 create-db-instance 命令:

  • --db-instance-identifier

  • --db-instance-class

  • --vpc-security-group-ids

  • --db-subnet-group

  • --engine

  • --master-username

  • --master-user-password

  • --allocated-storage

  • --backup-retention-period

有关每项设置的信息,请参阅 数据库实例的设置

此示例使用 Microsoft SQL Server。

对于 Linux、macOS 或 Unix:

aws rds create-db-instance \ --engine sqlserver-se \ --db-instance-identifier mymsftsqlserver \ --allocated-storage 250 \ --db-instance-class db.t3.large \ --vpc-security-group-ids mysecuritygroup \ --db-subnet-group mydbsubnetgroup \ --master-username masterawsuser \ --manage-master-user-password \ --backup-retention-period 3

对于 Windows:

aws rds create-db-instance ^ --engine sqlserver-se ^ --db-instance-identifier mydbinstance ^ --allocated-storage 250 ^ --db-instance-class db.t3.large ^ --vpc-security-group-ids mysecuritygroup ^ --db-subnet-group mydbsubnetgroup ^ --master-username masterawsuser ^ --manage-master-user-password ^ --backup-retention-period 3

此命令生成类似于下述信息的输出。

DBINSTANCE mydbinstance db.t3.large sqlserver-se 250 sa creating 3 **** n 10.50.2789 SECGROUP default active PARAMGRP default.sqlserver-se-14 in-sync
注意

如果您想采用“通过 Amazon Web Services Marketplace 获得 Db2 许可证”模式,则必须先使用 Amazon Web Services Management Console订阅 Amazon Web Services Marketplace 并注册 IBM。有关更多信息,请参阅 订阅 Db2 Marketplace 清单并注册 IBM

要使用 Amazon RDS API 创建数据库实例,请调用 CreateDBInstance 操作。

有关每项设置的信息,请参阅 数据库实例的设置