使用 Amazon Aurora Serverless - Amazon Aurora

使用 Amazon Aurora Serverless

Amazon Aurora Serverless 是一种适用于 Amazon Aurora 的按需自动扩展配置。与手动管理其容量的 Aurora 预配置数据库集群 不同,Aurora Serverless 数据库集群 是一种可根据应用程序需求,扩展和缩减计算容量的数据库集群。Aurora Serverless 为不常见的、间歇性的或不可预测的工作负载,提供了一个相对简单且经济高效的选项。它是经济高效的,因为它会自动启动、扩展计算容量以符合应用程序的使用情况并在未使用时关闭。要了解有关定价的更多信息,请参阅 Amazon Aurora Pricing页面上的 MySQL 兼容版本PostgreSQL 兼容版本下的无服务器定价

Aurora Serverless 集群具有预配置数据库集群所使用的相同类型的高容量、分布式和高可用存储卷。Aurora Serverless 集群的集群卷始终是加密的。您可以选择加密密钥,但不能禁用加密。这意味着您可以在 Aurora Serverless 上执行允许对加密快照执行的相同操作,但不能执行不允许对此类快照执行的操作。有关更多信息,请参阅Aurora Serverless 和快照

Aurora Serverless 的优点

Aurora Serverless 具备下述优点:

更简单

Aurora Serverless 消除了管理数据库实例和容量的大量复杂性。

可扩展

Aurora Serverless 可根据需要无缝地扩展计算和内存容量,而无需中断客户端连接。

经济高效

在使用 Aurora Serverless 时,您只需为所使用的数据库资源按秒付费。

高度可用的存储

Aurora Serverless 使用具有容错能力的同一分布式存储系统,该系统具有作为 Aurora 的六向复制以防数据丢失。

Aurora Serverless 的使用案例

Aurora Serverless 专为以下使用案例而设计:

不常用应用程序

您具有仅用于每天或每周多次几分钟的应用程序,如低容量博客网站。对于 Aurora Serverless,您只需为所使用的数据库资源按秒付费。

新应用程序

您要部署新应用程序,但不确定需要哪种实例大小。对于 Aurora Serverless,您可以创建数据库终端节点并让数据库自动扩展到应用程序的容量需求。

可变的工作负载

您正在运行一个使用率比较低的应用程序,高峰时间为每天数次 30 分钟到几个小时,或每年几次。示例包括人力资源、预算和运营报告应用程序。对于 Aurora Serverless,您不再需要预配置为峰值或平均容量。

不可预测的工作负载

您正在运行全天使用数据库的工作负载,但活动高峰难以预测。例如,在开始下雨时显示活动涌现的流量网站。对于 Aurora Serverless,您的数据库可自动扩展容量以满足应用程序的峰值负载需求,然后在活动涌现结束时再收缩。

开发和测试数据库

您的开发人员在工作期间使用数据库,但在夜晚或周末不需要它们。对于 Aurora Serverless,您的数据库会在未使用时自动关闭。

多租户应用程序

对于 Aurora Serverless,您无需为队列中的每个应用程序单独地管理数据库容量。

Aurora Serverless 的限制

以下限制适用于 Aurora Serverless:

  • Aurora Serverless 目前仅适用于以下版本:

    • Aurora (MySQL)-5.6.10a

    • Aurora (MySQL 5.7) 2.07.1

    • Aurora PostgreSQL(与 PostgreSQL 版本 10.7 兼容)

  • 连接的端口号必须为:

    • 适用于 Aurora MySQL 的 3306

    • 适用于 Aurora PostgreSQL 的 5432

  • 您无法为 Aurora Serverless 数据库集群提供公有 IP 地址。您只能基于 Amazon VPC 服务从 Virtual Private Cloud (VPC) 中访问 Aurora Serverless 数据库集群。

  • 每个 Aurora Serverless 数据库集群需要两个 AWS PrivateLink 终端节点。如果您的 VPC 达到 AWS PrivateLink 终端节点数量限制,则您无法在该 VPC 中再创建任何 Aurora Serverless 集群。有关检查和更改 VPC 中终端节点限制的信息,请参阅 Amazon VPC 限制

  • Aurora Serverless 使用的数据库子网组在同一可用区中不能具有多个子网。

  • 对 Aurora Serverless 数据库集群使用的子网组的更改不会应用于集群。

  • 与 Aurora Serverless 数据库集群的连接保持打开状态超过一天后,会自动关闭该连接。

  • 无论基于 Aurora MySQL 的 Aurora Serverless v1 数据库集群是基于二进制日志的复制的源还是目标,Aurora Serverless 数据库集群都不支持该复制。要将数据从 Amazon Aurora 之外的 MySQL 数据库实例(例如在 Aurora Serverless v1 上运行的实例)复制到 Amazon EC2 数据库集群,建议您考虑使用 AWS Database Migration Service。有关更多信息,请参阅 AWS Database Migration Service 用户指南

  • 使用 Aurora PostgreSQL 的 Aurora Serverless v1 数据库集群不支持出站通信,例如通过 Amazon RDS PostgreSQL 扩展实现的通信。例如,您无法通过 postgres_fdw/dblink 扩展访问外部数据。有关 Amazon RDS PostgreSQL 扩展的更多信息,请参阅 Amazon RDS 上的 PostgreSQL

  • Aurora Serverless 不支持以下功能:

    • Aurora 回溯

    • Aurora 多主

    • Aurora 副本

    • 数据库克隆

    • IAM 数据库身份验证

    • 使用 Aurora MySQL 本机函数调用 AWS Lambda 函数

    • Amazon RDS Performance Insights

    • 从 MySQL 数据库实例还原快照

    • 从 Amazon S3 存储桶中加载数据

    • 将数据库快照数据导出到 Amazon S3

    • 将数据保存到 Amazon S3 存储桶

注意

您可以从 AWS Lambda 中访问 Aurora Serverless 数据库集群。您必须将 Lambda 函数配置为与 Aurora Serverless 数据库集群在相同的 VPC 中运行。有关使用 AWS Lambda 的更多信息,请参阅 AWS Lambda 开发人员指南 中的配置 Lambda 函数以访问 Amazon VPC 中的资源

将 TLS/SSL 与 Aurora Serverless 结合使用

您可以使用传输层安全性/安全套接字层 (TLS/SSL) 协议连接到 Aurora Serverless 集群。为此,您可以使用连接到 Amazon Aurora 数据库集群中所述的相同的一般过程。

注意

对于 Aurora Serverless 集群,您无需下载和使用 Amazon RDS SSL/TLS 证书。而是使用来自 AWS Certificate Manager (ACM) 的证书。有关更多信息,请参阅 AWS Certificate Manager 用户指南

您可确保会话在客户端与 Aurora Serverless VPC 终端节点之间使用 TLS。为此,请使用 --ssl-mode 参数在客户端上指定此要求。没有为 Aurora Serverless 数据库集群的 SSL 连接设置 SSL 会话变量。

Aurora Serverless 支持 TLS 协议版本 1.0、1.1 和 1.2。不过,您无需为 TLS 配置 Aurora Serverless 数据库。特别是,不要对 SSL 的数据库用户权限使用 REQUIRE 子句。这样做会阻止该用户进行连接。

默认情况下,客户端程序会与 Aurora Serverless, 建立加密连接,并通过 --ssl-mode 选项进行进一步控制。从服务器端,Aurora Serverless 支持所有 SSL 模式。

注意

对 Aurora Serverless 集群的 TLS 支持当前未在 中国(北京) AWS 区域推出。

对于 mysqlpsql 客户端,SSL 模式如下:

PREFERRED

SSL 是首选项,但不是必需项。

DISABLED

不允许使用 SSL。

REQUIRED

强制 SSL。

VERIFY_CA

强制 SSL 并验证证书颁发机构 (CA)。

VERIFY_IDENTITY

强制 SSL 并验证 CA 和 CA 主机名。

在将 mysqlpsql 客户端与 --ssl-mode VERIFY_CAVERIFY_IDENTITY 结合使用时,可以 .pem 格式指定指向 CA 的 --ssl-ca 选项。对于可使用的 .pem 文件,您可以从 Amazon Trust Services 下载 Amazon Root CA 1 信任存储

Aurora Serverless 使用通配符证书。如果您使用 mysql 客户端以 SSL 模式 VERIFY_IDENTITY 进行连接,则您当前必须使用与 MySQL 8.0 兼容的 mysql 命令。