跳至内容

AWS RDS 教程:启动您的首个数据库指南

这份综合指南将 AWS RDS 去神秘化,带您完成设置、性能调优与成本管理的全流程。
已更新 2026年10月6日  · 14分钟 阅读

使用 AI 探索

ChatGPTClaudePerplexity

Amazon Web Services(AWS)提供了广泛的工具,用于在云中构建和管理应用程序。 

对数据从业者而言,最实用的服务之一是 Amazon Relational Database Service(RDS),这是一种全托管方案,支持常见的数据库引擎,如 MySQL、PostgreSQL、MariaDB、Oracle 和 SQL Server。 

无论您是刚起步、希望在不自管基础设施的情况下部署数据库,还是有经验的专业人士、想要深入优化性能与成本,RDS 都能让这一切更简单。

在本教程中,我将解释 RDS 的主要功能,并逐步展示如何开始使用。

什么是 AWS RDS?

AWS RDS 简化了在云中设置、运维和扩展关系型数据库的过程。与其手动管理基础设施、打补丁、备份和扩缩容,RDS 会自动化大部分工作,让您专注于应用与数据。

它支持多种数据库引擎,如 MySQL、PostgreSQL、Oracle、SQL Server 和 Amazon Aurora。您可以受益于以下功能:

这些功能可让您自信地运行关键的生产工作负载,同时尽量减少人工干预。

设置 AWS RDS 实例

要开始使用 RDS,首先需要通过 AWS 控制台创建一个新实例。如果您还没有 AWS 账户,可以免费注册。 

> 如需进一步了解更广泛的 AWS 生态,请查看 AWS 云技术与服务课程。

创建新的 RDS 实例

1. 在 AWS 搜索框中查找“RDS”,然后点击Aurora and RDS 服务。

来自 AWS 控制台的截图,显示搜索栏中的 RDS 服务。

2. 点击左侧菜单中的Databases 。

来自 AWS 控制台的截图,显示 Aurora 和 RDS 控制台。

3. 点击右上角的Create database。

来自 AWS 控制台的截图,显示 Aurora 和 RDS 的数据库部分。

4. 选择Standard Create 以完全控制配置。

来自 AWS 控制台的截图,显示 RDS 的不同数据库创建方式。

在Engine options 下,选择您偏好的数据库引擎。对大多数用例而言,PostgreSQL 是很好的选择。

5.  选择引擎后,配置其余选项以完成设置。 

我们将依次讲解完成此步骤所需的其余设置。

引擎版本

引擎版本决定所选数据库引擎(如 PostgreSQL、MySQL)的具体版本。这会影响数据库的功能、性能和兼容性。

来自 AWS 控制台的截图,显示可用的所有数据库引擎版本。

除非因特定原因(如应用兼容性)必须使用旧版本,否则请选择最新的稳定版本。AWS 通常会预选最新的主版本,比如PostgreSQL 17.2,对大多数用户而言这是安全的选择。

模板

模板会根据您的使用场景(生产、开发或免费层测试)为数据库实例提供预配置的设置。它们会影响默认配置,如性能、可用性和备份保留期。

来自 AWS 控制台的截图,显示数据库模板选项。

  • 如果您运行的是在线应用且需要高可用,请选择Production。
  • 若用于内部开发或试验,请选择Dev/Test。
  • 如果您符合条件且首次试用 RDS、希望避免费用,请选择Free Tier。

可用性与持久性

此项决定数据库如何处理故障并在可用区间分配流量。它会影响正常运行时间、冗余性和问题恢复速度。

来自 AWS 控制台的截图,显示数据库的可用性与持久性部署选项。

  • 对于高读取工作负载和最大韧性(两个可读副本),选择Multi-AZ DB cluster(3 个实例)。
  • 对大多数生产环境,选择Multi-AZ DB instance(2 个实例),提供故障切换的备用实例,但不增加额外读取能力。
  • 仅在开发/测试或非关键应用中选择Single-AZ,它不提供故障切换或冗余。

设置

此部分定义 DB 实例的标识以及凭证的处理方式。您将为实例命名、设置主用户名,并选择如何存储与加密密钥(密码)。

来自 AWS 控制台的截图,显示新建 RDS 数据库的设置。

  • 输入一个唯一的 DB 实例标识符(例如 app-name-db)。
  • 设置一个主用户名(例如 postgres)。
  • 选择Managed in AWS Secrets Manager 以安全地自动生成凭证。仅当您希望完全掌控密码时才选择自管。
  • 如有需要,您也可以选择自定义 KMS 加密密钥,但默认选项对大多数用户已足够。

实例配置

此处定义分配给数据库的计算资源类型(CPU、内存、网络)。实例类型决定性能、可扩展性与成本。

来自 AWS 控制台的截图,显示实例配置表单。

  • 对大多数用例,标准类型(m 系列)是不错的起点。
  • 对于分析或大型内存内操作,选择内存优化(r 或 x 系列)。
  • 若处于开发阶段或需要低成本配置,选择可突发(t 系列)。
  • 示例:db.m7g.large 提供 2 个 vCPU 和 8 GiB 内存,适合中等负载。

存储配置

此部分控制数据库存储的类型、大小与性能。您可选择适用于通用场景或高性能工作负载的存储。

来自 AWS 控制台的截图,显示 RDS 控制台中的存储类型选择。

  • 对低延迟、高吞吐的应用选择预置 IOPS(io2)。适用于 OLTP 或写入密集的系统。
  • 根据预计数据量设置Allocated Storage(最少 100 GiB)。
  • 配置预置 IOPS 以匹配性能需求(IOPS 与存储比应在 0.5 到 1,000 之间)。

连通性

此部分定义数据库如何与外界连接,包括网络设置、VPC、是否公网访问与安全组。

来自 AWS 控制台的截图,显示实例连通性选项。

  • 保持选择Don’t connect to an EC2 compute resource,除非您需要 EC2 访问。
  • 大多数标准设置使用IPv4 即可。
  • 谨慎选择您的VPC。创建后不可更改。
  • 为确保安全与私有(推荐生产环境),选择Public access: No。
  • 使用现有或新建的VPC 安全组管理访问。确保开放 5432(PostgreSQL)或 3306(MySQL)端口给需要的来源。
  • 除非有自定义需求,可将证书颁发机构(Certificate Authority)保持默认。

数据库身份验证

此设置控制用户如何对数据库进行身份验证。您可以使用传统密码,或集成 AWS 的 IAM 或 Kerberos 以实现更高级的访问控制。

来自 AWS 控制台的截图

  • 选择Password 身份验证以获得标准、简单的登录方式(新环境最常用)。
  • 如果您希望通过 AWS IAM 角色与策略管理数据库访问,请选择IAM 身份验证。
  • 仅当您需要与企业目录集成时使用Kerberos 身份验证。

监控

此部分借助 Database Insights、Enhanced Monitoring 和 DevOps Guru 等工具,为 RDS 实例启用性能与活动追踪。这些工具可帮助您发现性能瓶颈、分析负载并排查问题。

来自 AWS 控制台的截图,显示 RDS 实例的监控配置。

  • 选择Database Insights – Advanced 以获得更深的可见性与更长的历史(15 个月)。如果对成本敏感,Standard 提供 7 天指标。
  • 启用 Enhanced Monitoring 以 60 秒等精细粒度采集 OS 级别指标(如 CPU、内存)。
  • 您可以启用DevOps Guru 获取智能告警,但这是可选项且单独计费。对生产环境很有价值,但对开发/测试并非必需。

配置数据库引擎设置

当您完成所有与基础设施相关的设置后,会进入名为Additional configuration(或随引擎/版本略有不同)的部分。在这里配置 RDS 数据库引擎的行为与能力。

通常您会配置以下内容:

1. 初始数据库名

这是在实例创建时自动创建的第一个数据库的名称。

  • 您之后随时可以创建更多数据库。
  • 如果留空,RDS 不会创建默认数据库。实例就绪后,您需要手动创建。

2. 数据库端口

每种数据库引擎都有标准的 TCP 端口:

  • PostgreSQL:5342
  • MySQL / MariaDB:3306
  • Oracle:1521
  • SQL Server:1433

除非有特定网络需求(例如应用需使用不同端口),否则请使用默认值。

3. 参数组

参数组类似数据库引擎的配置模板。它们定义影响行为与性能的底层设置。

例如,在 PostgreSQL 中,您可能会配置:

  • work_mem:内部排序操作使用的内存大小
  • max_connections:数据库可接受的并发客户端连接数
  • log_min_duration_statement:记录超过特定执行时间的查询

每种引擎都有可调参数集,AWS 提供默认组。您可使用默认组快速上手,或克隆并自定义以满足特定工作负载的调优需求。

4. 选项组

选项组允许为某些数据库引擎添加默认不可用的高级功能。

例如:

  • Oracle:透明数据加密(TDE)、Oracle XML DB
  • SQL Server:SQL Server Agent、全文检索
  • MySQL/PostgreSQL:通常不需要选项组,除非要启用如审计插件等功能

若使用 PostgreSQL 或 MySQL 处理标准工作负载,一般无需关心选项组。但若使用 Oracle 或 SQL Server,请查阅文档以确保启用必要功能。

连接到 AWS RDS

当数据库实例启动并运行后,您可以通过多种方式连接。

1. 通过 AWS 控制台连接

AWS 为 MySQL 和 PostgreSQL 提供内置查询编辑器。进入您的实例,选择Query Editor,输入数据库凭证,即可直接在浏览器中运行 SQL 命令。

这非常适合进行快速检查或小规模查询,无需本地 SQL 客户端。

来自 AWS 控制台的截图,显示 RDS 查询编辑器。

2. 从本地机器连接

要从本地客户端(如pgAdmin 或 MySQL Workbench)连接。

  • 从 AWS 控制台复制端点
  • 确保实例可公网上访问或可通过 VPC 触达
  • 提供正确的:
    • 主机(端点)
    • 端口(5432 或 3306)
    • 用户名和密码

pgAdmin 4 桌面工具截图

请确保您本机的 IP 已加入数据库安全组的允许列表。

3. 安全与访问控制

对 RDS 实例的访问由安全组(Security Groups)控管。您需要:

  • 在数据库端口(5432 或 3306)上允许入站访问
  • 在 EC2 控制台中修改安全组
  • 将访问限制到特定的 IP 或生产环境中的 VPC。 

您还可以通过 Identity 与访问管理(IAM)角色与策略进一步增强访问控制。

管理与扩展 AWS RDS

当数据库正常运行后,您需要考虑如何在整个生命周期中进行维护、扩展和备份。AWS RDS 提供了内置功能,使这些任务更容易,无论您是在支持不断增长的应用,还是为意外故障做准备。

1. 扩展数据库实例

随着应用增长,您可能需要扩展数据库以满足需求。AWS RDS 支持两种扩展方式:纵向和横向。 

纵向扩展是升级实例类型,以获得更多 CPU、内存和网络能力。这在单节点仍可承载的情况下应对负载增长非常有用。 

对于读密集型应用,横向扩展更合适。您可以添加只读副本分散读取流量。这些副本在故障切换或迁移时也可提升为独立实例。

2. 配置多可用区以实现高可用

为提高容错能力并减少停机,您可以启用 Multi-AZ 部署。此配置会在不同可用区创建一个备用副本,并通过同步复制与主实例保持一致。 

如果主实例发生故障,RDS 会自动切换到备用实例,无需您采取任何操作。由于数据库端点保持不变,您的应用无需重新连接或重新配置。 

对于需要高可用的生产系统,强烈建议启用 Multi-AZ。

3. 自动化备份与快照

RDS 便于设置自动与手动备份。自动备份默认启用,可在指定保留期内(1 至 35 天)将数据库恢复到任意时间点。 

除自动备份外,您也可以执行手动快照。在进行重大更改(如架构更新或引擎升级)前尤为有用。快照可无限期保留,并在需要时用于启动新实例。 

在关键部署前安排快照是个好习惯,可作为安全保障。

AWS RDS 的高级功能

除基础功能外,AWS RDS 还提供一系列高级功能,旨在提升性能、安全与运维效率。这些工具有助于监控数据库健康状况、管理维护流程并落实安全最佳实践,对于运行生产级系统至关重要。

1. 使用 Amazon CloudWatch 进行性能监控

RDS 原生集成Amazon CloudWatch,可跟踪关键性能指标,如 CPU 使用率、磁盘 I/O、存储空间与数据库连接数。这些指标实时可用,且可用于设置告警或仪表板。

CloudWatch 也在 AWS S3 与 EFS 的工作流中被大量使用,详见 Datacamp 的AWS 存储教程。

若需更深入的洞察,您可以启用Performance Insights,它可可视化展示一段时间内的查询性能。此工具有助于识别缓慢或资源密集的查询、发现数据库负载趋势并排查瓶颈。结合查询调优与索引策略,在压力之下优化数据库性能非常有效。

2. RDS 维护与打补丁

AWS 负责 RDS 实例的软件补丁与维护。您可以定义维护窗口,在此期间应用更新。若发布关键补丁,AWS 可立即安装,或您也可以选择暂缓。

您可在 RDS 控制台查看所有计划与历史维护事件。保持数据库最新,意味着无需手动管理更新,也能获得最新的性能改进、错误修复与安全补丁。

3. 加密与安全最佳实践

RDS 支持静态与传输中加密。静态加密由 AWS Key Management Service(KMS)处理,并可在实例创建时启用。对于传输中的数据,RDS 支持客户端与数据库之间的 SSL/TLS 连接。

为进一步加强安全,考虑启用 IAM 身份验证以获取短期数据库凭证,替代硬编码用户名与密码。同样建议为所有 AWS 用户启用多重身份验证(MFA),以最小权限原则配置 IAM 策略,并使用 AWS CloudTrail 记录所有访问。这些最佳实践有助于确保数据受保护且可审计。

成本管理与优化

成本管理是使用AWS 服务的关键组成部分,RDS 也不例外。尽管它是全托管服务,但根据配置不同,RDS 的费用可能会快速增加。尽早理解成本结构并采取优化策略,有助于随着使用量增长仍能控制在预算内。

1. 了解 AWS RDS 定价

RDS 成本基于以下因素:

  • 实例类型与使用小时数
  • 存储大小与类型(gp3 或 io1)
  • 备份保留期与快照存储
  • 数据传输(尤其跨区域或跨可用区)

使用 AWS Pricing Calculator 进行成本预估与建模。

如果您在准备认证考试,理解定价是AWS Cloud Practitioner(CLF-C02)学习路径中的关键部分。

2. 成本优化最佳实践

有多种方式可以降低或控制 RDS 成本。若您运行的是长期的生产数据库,考虑购买预留实例(Reserved Instances),以一或三年承诺换取显著低于按需的折扣。

为避免过度预置,启用存储自动扩展,使分配空间仅在需要时增长。对于很少访问但必须保留的数据,可将旧备份或导出转移至 S3 或 Glacier,这些是成本更低的存储选项。

您还可以借助AWS Trusted Advisor 监控资源使用情况,它能标记未充分利用的实例并建议规格调整。结合 AWS Cost Explorer 与预算告警,跟踪您的使用模式,并在接近支出上限时获得通知。

排查 AWS RDS 问题

即便是像 RDS 这样的全托管服务,也可能出现从连通性问题到性能下降等各类状况。了解排查方向与应对方法,有助于快速解决问题、将对应用的影响降至最低。

1. 识别并解决连接问题

连接问题往往由网络设置配置不当引起。最常见的原因包括安全组规则缺失或错误,例如端口未开放或 IP 范围受限。另一常见问题是在不同环境间切换时使用了错误的端点或端口号。

您还应检查 DNS 解析问题,特别是当应用运行在不同的 VPC 或区域时。使用 ping 或 telnet 等工具可验证基础连通性。若仍未解决,RDS 控制台提供的引擎日志往往能提供线索;留意身份验证失败或超时等信息以定位根因。

2. 排查性能问题

当性能开始下降时,采取结构化的方法很重要。首先通过数据库的参数组设置启用查询日志,帮助识别执行时间超预期的查询。

随后利用Performance Insights 可视化查询负载、等待事件与用户活动。这些洞察常常揭示索引问题、低效查询结构或高并发。小改动(如添加索引或重写复杂连接)往往能带来明显收益。

若调优无效,考虑升级实例类型或添加只读副本以水平扩展。务必先在预发布环境测试性能变更,再应用到生产。

3. 处理故障切换与恢复

在Multi-AZ 部署中,RDS 会自动处理故障切换。如果主实例不可用,AWS 会将备用提升为主实例并更新 DNS 记录,通常在几分钟内完成。此过程对应用无感,您无需手动干预。

对于 Single-AZ 实例,故障切换并非自动完成。发生故障时,您需要从最近的快照手动恢复数据库。为缩短恢复时间,建议设置 CloudWatch 告警与 SNS 通知,以便在问题出现时第一时间获知,迅速响应、将停机时间降至最低。

结论

Amazon RDS 让您无需配置基础设施或处理手动维护,即可轻松在云中部署、管理与扩展关系型数据库。凭借多引擎支持、自动备份、高可用与性能监控工具,RDS 适用于从兴趣项目到关键业务应用的各类场景。

本教程提供了入门所需的实践步骤与基础知识。

如果您准备进一步探索,AWS Cloud Practitioner(CLF-C02)学习路径是迈向认证与云专业能力的理想下一步。

FAQs

我可以将现有的本地数据库迁移到 AWS RDS 吗?

可以。AWS 提供 AWS Database Migration Service(DMS)等工具,帮助您将本地或其他云上的数据库以最小停机时间迁移到 RDS。您可以迁移架构和实时数据。

Amazon RDS 与 Aurora 有何区别?

Amazon Aurora 是在 RDS 体系下提供的、针对云优化的 MySQL 与 PostgreSQL 版本。它为更高的性能与可用性而设计,通常可比标准 RDS MySQL 提供 2–5 倍的吞吐量。

如何按计划自动停止或启动 RDS 实例?

您可以使用 AWS Lambda 和 EventBridge(原 CloudWatch Events)自动化实例操作。这对于在非工作时间关闭开发/测试数据库以节省成本非常有用。

如果达到 RDS 存储上限会怎样?

如果启用了存储自动扩展,RDS 将自动增加已分配存储。若未启用,实例可能会出现故障或性能下降。务必监控存储使用并配置告警。

RDS 能像 Aurora Serverless 那样以无服务器方式使用吗?

传统 RDS 实例并非无服务器,但 Aurora Serverless 提供了该能力。它会根据需求自动伸缩计算能力,适合不可预测或不频繁使用的工作负载。


Moez Ali's photo
Author
Moez Ali
LinkedIn
Twitter

数据科学家,PyCaret 的创始人兼作者

主题
AWS
云计算

通过以下课程进一步学习 AWS!

课程

AWS 概念

2 小时
52.8K
探索 Amazon Web Services (AWS) 的世界,了解它为何处于云计算前沿。
查看详情Right Arrow
开始课程
查看更多Right Arrow