什么是 Amazon Relational Database Service (Amazon RDS)? - Amazon Relational Database Service

什么是 Amazon Relational Database Service (Amazon RDS)?

Amazon Relational Database Service (Amazon RDS) 是一项 Web 服务,让用户能够在 AWS Cloud 云中更轻松地设置、操作和扩展关系数据库。可为用户提供一个经济有效、容量可调的符合行业标准的关系数据库,并承担常见的数据库管理任务。

注意

本指南涵盖 Amazon Aurora 以外的 Amazon RDS 数据库引擎。有关使用 Amazon Aurora 的更多信息,请参阅 Amazon Aurora 用户指南

如果不熟悉 AWS 产品和服务,请使用以下资源了解更多信息:

Amazon RDS 概述

您为什么要在 AWS Cloud 中运行关系数据库? 因为 AWS 会接管关系数据库的很多困难且繁琐的管理任务。

Amazon EC2 和本地数据库

Amazon Elastic Compute Cloud (Amazon EC2) 在 AWS Cloud 中提供可扩展的计算容量。Amazon EC2 可为您避免前期的硬件投入,因此您能够快速开发和部署应用程序。

购买本地服务器时,您会一并获得 CPU、内存、存储和 IOPS。利用 Amazon EC2,您可以将这些部分进行拆分,以便单独对其进行扩展。如果您需要更多 CPU、更少 IOPS 或更多存储,可以轻松地对它们进行分配。

对于本地服务器中的关系数据库,您对服务器、操作系统和软件承担全部责任。对于 Amazon EC2 实例中的数据库,AWS 管理操作系统下面的层。通过这种方式,Amazon EC2 消除了管理本地数据库服务器的一些负担。

在下表中,您可以查找本地数据库和 Amazon EC2 的管理模型比较。

功能

本地管理

Amazon EC2 管理

应用程序优化

客户

客户

扩缩

客户

客户

高可用性

客户

客户

数据库备份

客户

客户

数据库软件修补

客户

客户

数据库软件安装

客户

客户

操作系统 (OS) 修补

客户

客户

操作系统安装

客户

客户

服务器维护

客户

AWS

硬件生命周期

客户

AWS

电源、网络和冷却

客户

AWS

Amazon EC2 不是完全托管式服务。因此,当您在 Amazon EC2 上运行数据库时,更容易出现用户错误。例如,手动更新操作系统或数据库软件时,可能会意外导致应用程序停机。您可能会花几个小时来检查每一项更改,以识别和修复问题。

Amazon RDS 和 Amazon EC2

Amazon RDS 是一项托管式数据库服务。它负责大多数管理任务。通过消除繁琐的手动任务,Amazon RDS 使您可以专注于应用程序和用户。我们建议使用 Amazon RDS 而不是 Amazon EC2 作为大多数数据库部署的原定设置选择。

在下表中,您可以查找 Amazon EC2 和 Amazon RDS 的管理模型比较。

功能

Amazon EC2 管理

Amazon RDS 管理

应用程序优化

客户

客户

扩缩

客户

AWS

高可用性

客户

AWS

数据库备份

客户

AWS

数据库软件修补

客户

AWS

数据库软件安装

客户

AWS

操作系统修补

客户

AWS

操作系统安装

客户

AWS

服务器维护

AWS

AWS

硬件生命周期

AWS

AWS

电源、网络和冷却

AWS

AWS

与非完全托管式数据库部署相比,Amazon RDS 具有以下特定优势:

  • 您可以使用您已熟悉的数据库产品:MySQL、MariaDB、PostgreSQL、Oracle 和 Microsoft SQL Server。

  • Amazon RDS 可以管理备份、软件修补、自动故障检测和恢复。

  • 您可以开启自动备份,也可以手动创建您自己的备份快照。您可以使用这些备份还原数据库。Amazon RDS 还原过程将可靠且高效地工作。

  • 您可以通过主实例和在发生问题时可向其执行故障转移操作的同步辅助实例实现高可用性。您还可以使用只读副本扩展读取。

  • 除了保证数据库包的安全外,还可以使用 AWS Identity and Access Management (IAM) 定义用户和权限来帮助控制可以访问 RDS 数据库的人员。您还可以将数据库置于 Virtual Private Cloud (VPC) 中,这样有助于保护数据库。

适用于 Oracle 和 Microsoft SQL Server 的 Amazon RDS Custom

Amazon RDS Custom 是一种 RDS 管理类型,可让您完全访问数据库和操作系统。

您可以使用 RDS Custom 的控制功能访问和自定义旧版业务应用程序和打包的业务应用程序的数据库环境和操作系统。同时,Amazon RDS 自动执行数据库管理任务和操作。

在此部署模型中,您可以安装应用程序和更改配置设置以适应应用程序。同时,您可以将数据库管理任务(例如预置、扩展、升级和备份)卸载到 AWS。您可以通过更大的控制力和灵活性利用 Amazon RDS 的数据库管理优势。

对于 Oracle 数据库和 Microsoft SQL Server,RDS Custom 将 Amazon RDS 的自动化与 Amazon EC2 的灵活性相结合。有关 RDS Custom 的更多信息,请参阅 使用 Amazon RDS Custom

借助 RDS Custom 的责任共担模型,您可以比 Amazon RDS 获得更多的控制权,而且还可以承担更多的责任。有关更多信息,请参阅责任共担模式

Amazon RDS on AWS Outposts

Amazon RDS on AWS Outposts 将 RDS for SQL Server、RDS for MySQL 和 RDS for PostgreSQL 数据库扩展到 AWS Outposts 环境中。AWS Outposts 使用与公共 AWS 区域中相同的硬件将 AWS 服务、基础设施和操作模型引入本地。通过使用 RDS on Outposts,您可以在必须本地运行的业务应用程序附近预置托管数据库实例。有关更多信息,请参阅使用 Amazon RDS on AWS Outposts

数据库实例

数据库实例是在 AWS 云中运行的独立数据库环境。Amazon RDS 的基本构建基块是数据库实例。

您的数据库实例可以包含一个或多个由用户创建的数据库。您可以使用与处理独立数据库实例时所用的相同工具和应用程序来访问您的数据库实例。您可以使用 AWS Command Line Interface、Amazon RDS、API 或 AWS Management Console 创建和修改数据库实例。

数据库引擎

数据库引擎是在数据库实例上运行的特定关系数据库软件。Amazon RDS 目前支持以下引擎:

  • MySQL

  • MariaDB

  • PostgreSQL

  • Oracle

  • Microsoft SQL Server

每个数据库引擎均有其自己支持的功能,并且每个版本的数据库引擎可能包括一些特定的功能。此外,每个数据库引擎在数据库参数组中均有一组参数,用于控制其管理的数据库的行为。

数据库实例类

数据库实例类确定数据库实例的计算和内存容量。数据库实例类由数据库实例类型和大小共同组成。每种实例类型提供不同的计算、内存和存储功能。例如,db.m6g 是由 AWS Graviton2 处理器提供支持的通用数据库实例类型,而 db.m6g.2xlarge 是 db.m6g 实例类型中的数据库实例类。

您可以选择最能满足您需求的数据库实例。如果一段时间后您的需求出现了变化,可以更改数据库实例。有关信息,请参阅 数据库实例类

注意

有关数据库实例类的定价信息,请查看 Amazon RDS 产品页的定价部分。

数据库实例存储

Amazon EBS 提供块级别的持久存储卷,您可将这些卷附加到正在运行的实例。数据库实例存储有以下类型:

  • 通用型 (SSD)

  • 预置 IOPS (PIOPS)

  • 磁介质

存储类型在性能特点和价格上有所不同。您可以根据数据库需求定制存储性能和成本。

每个数据库实例都具有最小和最大存储要求,具体取决于存储类型和其支持的数据库引擎。重要的是要有足够的存储空间,这样数据库才有增长的空间。此外,足够的存储空间可确保数据库引擎的功能有空间写入内容或日志条目。有关更多信息,请参阅 Amazon RDS 数据库实例存储

Amazon Virtual Private Cloud (Amazon VPC)

您可以使用 Amazon Virtual Private Cloud (Amazon VPC) 服务,在虚拟私有云 (VPC) 上运行数据库实例。使用 VPC 时,您的虚拟联网环境完全由您控制。您可以选择自己的 IP 地址范围、创建子网以及配置路由和访问控制列表。无论是否在 VPC 中运行,Amazon RDS 的基本功能都是相同的。Amazon RDS 可以管理备份、软件修补、自动故障检测和恢复。在 VPC 中运行数据库实例没有额外费用。有关将 Amazon VPC 与 RDS 结合使用的更多信息,请参阅Amazon Virtual Private Cloud VPC 和 Amazon RDS

Amazon RDS 使用网络时间协议 (NTP) 来同步数据库实例上的时间。

AWS区域和可用区

Amazon 云计算资源安置在世界不同地区 (例如:北美、欧洲或亚洲) 的高度可用的数据中心设施内。每个数据中心位置称为一个 AWS 区域。

每个 AWS 区域包含很多称为可用区或 AZ 的不同位置。每个可用区设计为可隔离其他可用区的故障。每个可用区都设计为向同一 AWS 区域中的其他可用区提供低成本、低延迟的网络连接。通过启动独立可用区内的实例,您可以保护您的应用程序不受单一位置故障的影响。有关更多信息,请参阅“区域、可用区和 Local Zones”。

您可以在多个可用区运行数据库实例,此选项称为多可用区部署。当您选择此选项时,Amazon 会自动在不同的可用区预配置和维护一个或多个辅助备用数据库实例。主数据库实例可跨可用区复制到每个备用数据库实例。此方法帮助提供数据冗余和故障转移支持,消除 I/O 冻结,并在系统备份期间将延迟峰值降至最小。在多可用区数据库集群部署中,备用数据库实例还可以为读取流量提供服务。有关更多信息,请参阅多可用区部署,可实现高可用性

安全性

安全组控制对数据库实例的访问。通过允许访问 IP 地址范围或您指定的 Amazon EC2 实例,可实现此控制。

有关安全组的更多信息,请参阅 Amazon RDS 中的安全性

监控 Amazon RDS 数据库实例

您可使用多种方法对数据库实例性能和运行状况进行跟踪。您可以使用 Amazon CloudWatch 服务监控数据库实例的性能和运行状况。在 Amazon RDS 控制台中显示 CloudWatch 的性能图表。您还可以订阅 Amazon RDS 事件,以便在数据库实例、数据库快照、数据库参数组或者数据库安全组发生更改时收取通知。有关更多信息,请参阅“监控 Amazon RDS 实例中的指标”。

如何使用 Amazon RDS

您可使用多种方法与 Amazon RDS 进行交互。

AWS Management Console

AWS Management Console是一个基于 Web 的简单用户界面。您可以从控制台中管理数据库实例,而无需进行任何编程。要访问 Amazon RDS 控制台,请登录AWS Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

命令行界面

您可以使用 AWS Command Line Interface(AWS CLI)以交互方式访问 Amazon RDS API。要安装 AWS CLI,请参阅安装 AWS 命令行界面。要开始使用适用于 RDS 的 AWS CLI,请参阅适用于 Amazon RDS 的 AWS Command Line Interface 参考

使用 Amazon RDS 进行编程

如果您是一名开发人员,则可以采用编程方式访问 Amazon RDS。有关更多信息,请参阅“Amazon RDS 应用程序编程接口 (API) 参考”。

对于应用程序开发,我们建议使用 AWS 软件开发工具包 (SDK) 之一。AWS 软件开发工具包可处理低级详细信息(如身份验证、重试逻辑和错误处理),让您可以将注意力放在应用程序逻辑上。AWS软件开发工具包适用于各种语言。有关更多信息,请参阅用于 Amazon Web Services 的工具

AWS还提供了库、示例代码、教程和其他资源来帮助您更轻松地入门。有关更多信息,请参阅示例代码和库

Amazon RDS 如何收费

在使用 Amazon RDS 时,可以选择使用按需数据库实例或预留数据库实例。有关更多信息,请参阅“Amazon RDS 的数据库实例计费”。

有关 Amazon RDS 定价信息,请参阅 Amazon RDS 产品页

接下来做什么?

上一节为您介绍了 RDS 提供的基本基础设施组件。您下一步该做什么?

开始使用

根据 开始使用 Amazon RDS 中的说明创建数据库实例。

特定于数据库引擎的主题

您可以在以下部分中查看特定数据库引擎的特定信息: