一般性问题

什么是 Amazon Aurora?

Amazon Aurora 是一项现代关系数据库服务,它能够大规模地提高性能和高可用性,提供完全开源的 MySQL 兼容版和 PostgreSQL 兼容版,以及一系列用于构建无服务器和机器学习(ML)驱动型应用程序的开发工具。

Aurora 采用一种有容错能力并且可以自我修复的分布式存储系统,这一系统与计算资源分离并可以把每个数据库实例自动扩展到最高 128 TiB。它具备高性能和高可用性,支持最多 15 个低延迟只读副本、时间点恢复、持续备份到 Amazon Simple Storage Service (Amazon S3),还支持跨三个可用区(AZ)复制。

Amazon Aurora 也是一项完全托管式服务,该服务使耗时的管理任务(例如硬件调配、数据库设置、修补和备份)自动化,同时以 1/10 的成本提供商用数据库的安全性、可用性和可靠性。

Amazon Aurora MySQL 是否兼容?

Amazon Aurora 与现有的 MySQL 开源数据库采用嵌入式兼容,还会定期实现对新版本的支持。这意味着您可以使用标准导入/导出工具或者快照将 MySQL 数据库轻松迁移到迁移出 Aurora。它意味着,您已用于 MySQL 数据库的代码、应用程序、驱动程序和工具可与 Aurora 配合使用,只需对其进行少量更改或不需要更改。这使得在两个引擎之间迁移应用程序变得非常简单。

您可以在文档中看到当前 Amazon Aurora MySQL 版本兼容性信息。

Amazon Aurora PostgreSQL 是否兼容?

Amazon Aurora 与现有的 PostgreSQL 开源数据库采用嵌入式兼容,还会定期实现对新版本的支持。这意味着您可以使用标准导入/导出工具或者快照将 PostgreSQL 数据库轻松迁移到和迁移出 Aurora。它意味着,您已用于 PostgreSQL 数据库的大多数代码、应用程序、驱动程序和工具可与 Aurora 配合使用,只需对其进行少量更改或无需更改

您可以在文档中看到当前 Amazon Aurora PostgreSQL 版本兼容性信息。

Amazon 完全支持 Aurora PostgreSQL 和 Aurora 提供的所有扩展。如果需要 Aurora PostgreSQL 支持,请联系 AWS Support。如果具有有效的 AWS Premium Support 账户,可以联系 AWS Premium Support 解决 Amazon Aurora 的特定问题。

如何开始使用 Amazon Aurora?

要试用 Amazon Aurora,请登录 AWS 管理控制台,选择 Database(数据库)类别下的 RDS,然后选择 Amazon Aurora 作为您的数据库引擎。有关详细的指导和资源,请查看我们的开始使用 Aurora 页面。

Amazon Aurora 如何收费?

对于预置的 Aurora,您可以选择按需型实例并按小时数为数据库付费,而无长期合约或预付费,也可以选择预留实例以获得其他节约。或者,Aurora Serverless 根据您应用程序的需求自动启动、关闭以及扩展或缩减容量,您只需为消耗的容量付费。

请参阅我们的 Aurora 定价页面,了解最新的定价信息。

Amazon Aurora 在三个可用区间以六种方法复制数据库卷的每个组块。这是否意味着我的有效存储价格将是定价页面上所显示价格的三到六倍?

不是,Amazon Aurora 复制到价格是捆绑的。我们将根据数据库在数据库层消耗的存储量向您收费,而非 Amazon Aurora 的虚拟存储层消耗的存储量。

Amazon Aurora 在哪些 AWS 区域可用?

您可以在此处查看 Amazon Aurora 区域的可用性。

如何从 MySQL 向 Amazon Aurora 迁移,反之亦然?

如果您要从 MySQL 迁移到 Amazon Aurora(反之亦然),有几个选项:

  • 您可以使用标准的 mysqldump 实用工具将数据从 MySQL 中导出,并使用 mysqlimport 实用工具将数据导入 Amazon Aurora,反之亦然。
  • 您还可以使用 Amazon RDS 的数据库快照迁移功能通过 AWS 管理控制台将 Amazon RDS for MySQL 数据库快照迁移到 Amazon Aurora 中。

虽然持续时间取决于格式和数据集大小,但对于大多数客户而言,迁移到 Aurora 的过程可在一小时内完成。有关更多信息,请参阅将 MySQL 数据库迁移到 Amazon Aurora 的最佳实践

如何从 PostgreSQL 迁移到 Amazon Aurora,反之亦然?

如果您要从 PostgreSQL 迁移到 Amazon Aurora(反之亦然),有几个选项:

  • 您可以使用标准的 pg_dump 实用工具将数据从 PostgreSQL 中导出,使用 pg_restore 实用工具将数据导入 Amazon Aurora,反之亦然。
  • 您还可以使用 Amazon RDS 的数据库快照迁移功能通过 AWS 管理控制台将 Amazon RDS for PostgreSQL 数据库快照迁移到 Amazon Aurora 中。

虽然持续时间取决于格式和数据集大小,但对于大多数客户而言,迁移到 Aurora 的过程可在一小时内完成

为将 SQL Server 数据库迁移到 Aurora PostgreSQL 兼容版,您可以使用 Babelfish for Aurora PostgreSQL。您的应用程序将继续工作,不做任何更改。请参阅 Babelfish 文档了解更多信息。

AWS Free Tier 是否包括 Amazon Aurora?

目前不提供。Amazon RDS 的 AWS 免费套餐为微型数据库实例带来了许多优势;Amazon Aurora 暂不提供微型数据库实例支持。有关最新定价信息,请参阅 Aurora 定价页面
要试用 Amazon Aurora,请登录 AWS 管理控制台,选择 Database(数据库)类别下的 RDS,然后选择 Amazon Aurora 作为您的数据库引擎。

Amazon Aurora 中的 I/O 是什么?它们是如何计算的?

I/O 是由 Aurora 数据库引擎依靠基于固态硬盘(SSD)的虚拟化存储层执行的输入/输出操作。每个数据库页面读取操作计为一个 I/O。

Aurora 数据库引擎依靠存储层发出读取,以获取不在缓存内的存储器中的数据库页面:

  • 如果您的查询流量完全可从存储器或缓存中提供,则您从存储器检索任何数据页面的操作都不收取费用。
  • 如果您的查询流量无法完全从内存中提供,则需要从存储中检索的任何数据页面都将产生收费。

Aurora MySQL 兼容版中的每个数据库页面均为 16 KB, 每个 Aurora PostgreSQL 兼容版中的每个数据库页面均为 8 KB。

Aurora 的目的是消除不必要的 I/O 操作,以降低成本,并确保资源可服务于读/写流量。只有在为了使写入持久而将 Aurora MySQL 兼容版中的重做日志记录或 Aurora PostgreSQL 兼容版中的写前日志记录永久保存到存储层时,才会使用写入 I/O。

写入 I/O 以 4 KB 单位计算。例如,1024 字节的日志记录计为一个写入 I/O 操作。但是,如果日志记录超过 4KB,则将需要一个以上写入 I/O 操作才能使其永久存在。

如果已永久存在于相同存储保护组中,日志记录小于 4KB 的并发写入操作可一起由 Aurora 数据库引擎进行批处理以优化 I/O 消耗。与传统数据库引擎不同,Aurora 从不会将脏数据页刷新到存储。

您可以在 AWS 管理控制台看到 Aurora 实例消耗的 I/O 请求数量。要查询 I/O 消耗,请转到控制台的 Amazon RDS 部分,查看您的实例列表,选择 Aurora 实例,然后在监控部分查找“计算的读取操作”和“计算的写入操作”指标。

我是否需要更改客户端驱动程序才能使用 Amazon Aurora PostgreSQL 兼容版?

不需要。Amazon Aurora 支持标准 PostgreSQL 数据库驱动程序。

性能

“MySQL 的五倍性能”是什么意思?

Amazon Aurora 通过将数据库引擎与为数据库工作负载构建的基于 SSD 的虚拟化存储层紧密集成,减少存储系统的写入操作,最大程度降低锁竞争并消除数据库进程线程所产生的延迟,使性能大幅超过 MySQL。

我们根据 SysBench 对 r3.8xlarge 实例进行的测试表明,Amazon Aurora 每秒提供超过 500000 次选择和 100000 次更新,是在同一硬件上运行相同基准的 MySQL 的五倍。有关此基准的详细说明以及如何自行复制此基准,请参阅 Amazon Aurora MySQL 兼容版性能基准指南

“PostgreSQL 的三倍性能”是什么意思?

Amazon Aurora 通过将数据库引擎与为数据库工作负载构建的基于 SSD 的虚拟化存储层紧密集成,使性能大幅超过 PostgreSQL,从而减少至存储系统的写入操作,最大程度降低锁竞争并消除数据库进程线程所产生的延迟。

我们根据 SysBench 对 r4.16xlarge 实例进行的测试表明,Amazon Aurora 每秒提供的选择和更新次数,是在同一硬件上运行相同基准的 PostgreSQL 的三倍。有关此基准的详细说明以及如何自行复制此基准,请参阅 Amazon Aurora PostgreSQL 兼容版性能基准指南

如何优化 Amazon Aurora MySQL 兼容版的数据库工作负载?

Amazon Aurora 的设计与 MySQL 兼容,因此现有 MySQL 应用程序和工具无需修改即可运行。然而,Amazon Aurora 优于 MySQL 的一点就是具有大量并行工作负载。为了在 Amazon Aurora 上最大限度地提高您的工作负载吞吐量,我们建议您构建自己的应用程序来支持大量并行查询和事务。

如何优化 Amazon Aurora PostgreSQL 兼容版的数据库工作负载?

由于 Amazon Aurora 与 PostgreSQL 兼容,因此现有 PostgreSQL 应用程序和工具无需修改即可运行。然而,Amazon Aurora 优于 PostgreSQL 的一点就是具有大量并行工作负载。为了在 Amazon Aurora 上最大限度地提高您的工作负载吞吐量,我们建议您构建自己的应用程序来支持大量并行查询和事务。

硬件和扩展

Amazon Aurora 数据库的最低存储限制和最大存储限制是什么?

最低存储为 10 GB。根据您的数据库使用量,您的 Amazon Aurora 存储将以 10 GB 的增量自动增长到 128 TiB,而不会影响数据库的性能。无需提前预置存储

如何扩展与我的 Amazon Aurora 数据库实例相关联的计算资源?

有两种方法可以扩展与我的 Amazon Aurora 数据库实例关联的计算资源:通过 Aurora Serverless 和通过手动调整。

您可以使用 Aurora Serverless(一项适用于 Amazon Aurora 的按需弹性伸缩配置)来基于应用程序需求扩缩数据库计算资源。它让您可以在云中运行数据库,而无需担心数据库容器管理。您可以指定所需的数据库容量范围,且数据库将根据应用程序的需求进行扩缩。请在 Aurora Serverless 用户指南中阅读更多信息。

您还可以通过在 AWS 管理控制台中选择所需的数据库实例类型,手动扩展与数据库关联的计算资源。您请求的更改将在您指定的维护窗口期间应用,或者您可以使用“立即应用”标记立即更改数据库实例类型。

当您执行扩缩操作时,这两种选项均会造成几分钟的可用性影响。请注意,任何其他待定的系统更改也将同时应用。

备份与还原

如何启用我的数据库实例备份?

Amazon Aurora 数据库实例上始终都会启用自动备份。备份不影响数据库性能。

我能否拍摄数据库快照并将其留在身边在我需要时使用?

能,拍摄快照时不影响性能。请注意,从数据库快照中恢复数据需要创建一个新的数据库实例。

如果我的数据库发生故障,应该用什么恢复路径?

Amazon Aurora 跨三个可用区(AZ)自动维护六个数据副本,并将自动尝试在运行状况正常的可用区恢复您的实例,而不会造成数据丢失。您的数据不太可能在 Amazon Aurora 存储内不可用,您可以从数据库快照中进行恢复或对新实例执行时间点还原操作。请注意,时间点还原操作的最迟可还原时间为 5 分钟之前。

如果删除数据库实例,我的自动化备份和数据库快照会发生什么状况?

您可以选择在删除数据库实例时创建最终的数据库快照。如果您进行了此操作,您可以使用此数据库快照稍后恢复已删除的数据库实例。在您删除数据库实例后,Amazon Aurora 会将用户创建的这个最终数据库快照与其他所有人工创建的数据库快照一起保留。删除数据库实例后只会保留数据库快照(即,为时间点恢复创建的自动备份不会保留)。

我能否将快照共享给其他 AWS 账户?

能。借助 Aurora,您可以创建数据库快照,用于以后恢复数据库。您可以与不同的 AWS 账户共享这一快照,并且对方可以使用您的快照来恢复包含您的数据的数据库。您甚至还可以将您的快照公开,这样,任何人都能恢复包含您的(公开)数据的数据库。

您可以使用此功能在拥有不同 AWS 账户的各种环境(生产、开发/测试、分段等)之间共享数据,也可以将所有数据的备份安全保存到一个单独的账户中,以防主 AWS 账户受到安全威胁。

我需要支付共享快照的费用吗?

在账户之间共享快照不需要付费。但是,您需要为快照本身以及通过共享快照恢复的任何数据库付费。了解更多有关 Aurora 定价的信息。

我能否自动共享快照?

我们不支持自动共享数据库快照。要共享快照,您必须手动创建快照的副本,然后共享该副本。

我能将快照共享给多少个账户?

您可以将手动快照共享给最多 20 个 AWS 账户 ID。如果您需要将快照共享给 20 个以上的账户,则可以将快照公开,或联系支持人员要求增加配额。

我可以将我的 Aurora 快照共享到哪些区域?

您可以将您的 Aurora 快照共享到支持 Aurora 的每个 AWS 区域。

我能否在不同区域之间共享 Aurora 快照?

只有与分享快照的账户处于同一区域内的账户才能访问您共享的 Aurora 快照。

我能否共享加密的 Aurora 快照?

能,您可以共享加密的 Aurora 快照。

高可用性和复制

Amazon Aurora 如何提高我的数据库对磁盘故障的容错能力?

Amazon Aurora 会将您的数据库卷分成分散在很多个磁盘上的 10 GB 的区段。每 10GB 的数据库卷组块都能在三个可用区间用六种方法进行复制。Amazon Aurora 的设计可透明应对多达两个数据副本的损失,而不会影响数据库写入可用性,还能在不影响读取可用性的情况下应对多达三个副本。

Amazon Aurora 存储还具有自我修复能力。可连续扫描数据块和磁盘有无出错并自动将其修复。

Aurora 如何在数据库崩溃后缩短恢复时间?

与其他数据库不同的是,Amazon Aurora 在数据库崩溃之后不需要重放最后一个数据库检查点(通常为 5 分钟)的重做日志,且不需要在数据库可用于操作之前确认所有更改都已应用。在大多数情况下,这会将数据库的重启时间缩短到 60 秒以下。

Amazon Aurora 会将缓冲缓存移出数据库进程,并在重启时使其立即可用。这将防止您限制访问,直到重新填充缓存以避免停止。

Aurora 支持哪些类型的副本?

Aurora MySQL 兼容版和 Amazon Aurora PostgreSQL 兼容版都支持 Amazon Aurora 副本,这些副本与同一 AWS 区域内的主实例共享相同的底层卷。主实例作出的更新对所有的 Amazon Aurora 副本可见。

借助 Amazon Aurora MySQL 兼容版,您还可以根据 MySQL 基于二进制日志的复制引擎创建跨区域复制的 MySQL 只读副本。在 MySQL 只读副本中,您的主实例中的数据会作为事务在您的副本上重放。对于大多数使用案例,包括读取扩展和高可用性,我们推荐使用 Amazon Aurora 副本。

您可以根据您的应用程序需求灵活地混合搭配这两种副本类型。

功能 Amazon Aurora 副本
MySQL 副本
副本数量 最多 15 个 最多 5 个
复制类型 异步(毫秒) 异步(秒)
对主实例的性能影响
副本位置 区域内
跨区域
作为故障转移目标 是(无数据损失) 是(可能有几分钟的数据损失)
自动故障转移
支持用于定义的复制延迟
支持不同的数据或计划与主实例

除了上面列出的选项之外,还有其他两个复制选项。您可以使用 Amazon Global Database 在不同区域的 Aurora 集群之间实现更快的物理复制。对于 Aurora 与非 Aurora MySQL 兼容版数据库之间的复制(甚至在 AWS 之外),您可以设置自己的自我管理的二进制日志复制。

我能否拥有跨区域 Amazon Aurora 副本?

能,您可以通过物理或逻辑复制功能来设置跨区域 Aurora 副本。物理复制也称为Amazon Aurora Global Database,它使用专用基础设施,使您的数据库完全可用于为应用程序提供服务,并且可以复制多大五个辅助区域,典型延迟时间不到一秒。Aurora MySQL 兼容版和 Aurora PostgreSQL 兼容版均可提供。

为确保低延迟全球读取和灾难恢复,我们建议使用 Amazon Aurora Global Database。
Aurora 支持各种数据库引擎的原生逻辑复制(MySQL 和 PostgreSQL 的二进制日志以及 PostgreSQL 的复制槽),因此您可以复制到 Aurora 和非 Aurora 数据库,甚至可以跨区域复制。

Aurora MySQL 兼容版还提供方便易用的逻辑跨区域只读副本功能,最高可支持五个辅助 AWS 区域。此功能基于单线程的 MySQL 二进制日志复制操作,复制滞后时间会受到更改/应用速度以及所选区域之间的网络通信延迟影响。

我能否在跨区域副本集群上创建 Aurora 副本?

能。您可以在每个跨区域集群上添加最多 15 个 Aurora 副本,它们将与跨区域副本共享相同的底层存储。跨区域副本将成为该集群上的主副本,集群上的 Aurora 副本通常比主副本滞后 10 毫秒。

我能否将应用程序从当前的主副本故障转移到跨区域副本?

能。您可以通过 Amazon RDS 控制台将跨区域副本提升为主副本。对于逻辑(二进制日志)复制,提升过程一般需要几分钟,具体取决于您的工作负载。启动提升过程后,跨区域复制将会停止。

使用 Amazon Aurora Global Database,您可以在一分钟内提升辅助区域以获取完整的读/写负载。

我能否将特定副本指定为优先故障转移目标?

能。您可以为群集中的每个实例指定一个提升优先级分层。如果主实例发生故障,Amazon RDS 会将优先级最高的副本提升为主实例。如果两个或多个 Aurora 副本优先级相同,则 Amazon RDS 将提升最大的那个副本。如果两个或多个 Aurora 副本优先级和大小均相同,则 Amazon RDS 将提升同一提升分层中的任意副本。

有关故障转移逻辑的更多信息,请阅读 Amazon Aurora 用户指南

我能否在实例创建完成后再修改优先级分层?

能。您随时可以修改实例的优先级分层。单纯地修改优先级分层并不会触发故障转移。

我能否阻止特定副本被提升为主实例?

如果您不希望某个副本被提升为主实例,可为其指定较低的优先级分层。不过,如果群集上优先级较高的副本因为某些原因无法运行或使用,那么 Amazon RDS 将提升优先级较低的副本。

如何改进单个 Amazon Aurora 数据库的可用性?

您可以添加 Amazon Aurora 副本。同一 AWS 区域中的 Aurora 副本与主实例共享同一个底层存储。任何 Aurora 副本都可在不损失任何数据的情况下被提升为主实例,因此,它可用于在主数据库实例发生故障时提高容错能力。

要想提高数据库可用性,只需在 3 个可用区的任何一个创建 1 到 15 个副本,且 Amazon RDS 将在发生数据库运行中断时自动将其纳入故障转移主选择中。如果您希望数据库跨越多个 AWS 区域,可以使用 Amazon Aurora Global Database。这样可以在不影响数据库性能的情况下复制您的数据,并在区域范围的中断中提进行灾难恢复。

故障转移时会发生什么状况?这种情况会持续多长时间?

Amazon Aurora 会自动处理故障转移,以便您的应用程序可以尽快恢复数据库操作,而无需人工管理干预。

  • 如果您在相同或不同的可用区中有 Amazon Aurora 副本,当进行故障转移时,Aurora 会翻转您的数据库实例的规范名称记录(CNAME),以指向运行状态正常的副本;相应地,此副本会晋升为新的主实例。从开始到结束,故障转移通常会在 30 秒内完成。 
  • 如果您运行的是 Aurora Serverless,当数据库实例或可用区不可用时,Aurora 会自动在不同的可用区重新创建该数据库实例。 
  • 如果您没有 Amazon Aurora 副本(即单个实例),也未运行 Aurora Serverless,则 Aurora 会先尝试在原始实例的可用区中新建数据库实例。原实例会尽量替换,但可能不会成功,例如出现全面影响该可用区的问题时。

您的应用程序应会在连接丢失时重试数据库连接。跨区域进行灾难恢复是一个手动过程,在此期间,您可以提升辅助区域以获取读/写工作负载。

如果我的一个主数据库和 Amazon Aurora 副本主动获取读取流量且发生故障转移,会发生什么?

Amazon Aurora 将自动检测主实例中的问题并触发故障转移。如果您使用的是集群端点,您的读取/写入连接将自动重新导向至将被晋升为主实例的 Amazon Aurora 副本。

此外,您的 Aurora 副本提供的读取流量将短暂中断。如果您使用集群读取器终端节点将读取流量定向至 Aurora 副本,则只读连接将定向至新晋升的 Aurora 副本,直到原主节点恢复为副本时为止。

我的副本将落后主实例多久?

Amazon Aurora 副本与同一 AWS 区域内的主实例共享同一个数据卷,因此几乎没有复制滞后。据我们观察,滞后时间一般在 10 毫秒内。

对于跨区域复制,基于 binlog 的逻辑复制滞后可根据更改/应用速度以及网络通信的延迟无限增长。不过,一般情况下,1 分钟以内的复制滞后是很常见的。使用 Amazon Aurora Global Database 物理复制的跨区域副本通常有不到一秒的滞后时间。

能否在 Aurora MySQL 兼容版数据库和外部 MySQL 数据库之间设置复制?

能,您可以在 Aurora MySQL 兼容版实例和外部 MySQL 数据库之间设置二进制日志复制。另一个数据库可以在 Amazon RDS 上运行,或作为自我管理的数据库在 AWS 上运行,或完全在 AWS 之外运行。

如果您运行的是 Aurora MySQL 兼容版 5.7,请考虑设置基于 GTID 的二进制日志复制。这将提供完全一致性,即使在故障转移或停机后,您的复制也不会错过事务或生成冲突。

什么是 Amazon Aurora Global Database?

Amazon Aurora Global Database是一项支持单个 Amazon Aurora 数据库跨越多个 AWS 区域的功能。它可以在不影响数据库性能的情况下复制您的数据,支持在每个区域中实现快速本地读取,典型延迟时间不到一秒,并可从区域范围的中断中进行灾难恢复。在不太可能发生区域性性能下降或中断的情况下,它可以在不到 1 分钟的时间内将辅助区域提升为具有完全读/写功能。Aurora MySQL 兼容版和 Aurora PostgreSQL 兼容版均可提供该功能。

如何创建 Amazon Aurora Global Database?

您只需在 Amazon RDS 控制台上单击几下即可创建 Aurora Global Database。此外,你可以使用 AWS 软件开发工具包(SDK)或 AWS Command-Line Interface(CLI)。您需要在 Amazon Aurora Global Database 中为每个区域预置至少一个实例。

Amazon Aurora Global Database 可以有多少个辅助区域?

您可以为 Amazon Aurora Global Database 创建最多五个辅助区域。

如果我使用 Amazon Aurora Global Database,还可以在主数据库上使用逻辑复制(二进制日志)吗?

可以。如果您的目标是分析数据库活动,请考虑使用 Aurora 高级审计、常规日志和慢速查询日志,以免影响数据库性能。

Aurora 是否会自动故障转移到 Amazon Aurora Global Database 的辅助区域?

不会。如果您的主区域不可用,您可以手动从 Amazon Aurora Global Database 中删除辅助区域,并对其进行提升以获取完全的读取和写入。您还需要将应用程序指向新提升的区域。

什么是 Amazon Aurora Multi-Master?

Amazon Aurora Multi-Master 是一项 Aurora MySQL 兼容版的新功能,增加了跨多个可用区扩展写入性能的功能,支持应用程序将读/写负载定向到数据库集群中的多个实例,并以更高的可用性运行。

如何开始使用 Amazon Aurora Multi-Master?

Amazon Aurora Multi-Master 现已全面推出。您可以阅读 Amazon Aurora 文档了解更多信息。只需在 Amazon RDS 控制台中单击几次即可创建 Aurora Multi-Master 集群,或下载最新的 AWS SDK 或 CLI。

安全性

我能否在 Amazon Virtual Private Cloud(Amazon VPC)中使用 Amazon Aurora?

能,所有 Amazon Aurora 数据库实例都必须在 VPC 中创建。借助 Amazon VPC,您可以定义一个与自己数据中心内运行的传统网络非常相似的虚拟网络拓扑。这样一来,您可以对谁能访问您的 Amazon Aurora 数据库进行完全控制。

Amazon Aurora 会加密我的动态数据和静态数据吗?

能。Amazon Aurora 使用 SSL(AES-256)保护数据库实例与应用程序之间的连接。Amazon Aurora 可让您使用通过 AWS Key Management Service(AWS KMS)管理的密钥加密您的数据库。

在通过 Amazon Aurora 加密运行的数据库实例上,静态存储于底层存储的数据都将加密,同一集群的自动备份、快照和副本也是如此。加密和解密操作的处理都是无缝的。有关将 AWS KMS 与 Amazon Aurora 一起使用的更多信息,请参阅 Amazon RDS 用户指南

我可以加密现有的未加密数据库吗?

目前不支持加密现有的未加密 Aurora 实例。要将 Amazon Aurora 加密用于现有的未加密数据库,请在启用加密的情况下创建一个新数据库实例,并将您的数据迁移到该实例中。

如何访问我的 Amazon Aurora 数据库?

必须通过您在创建数据库时输入的数据库端口访问 Amazon Aurora 数据库。这就为您的数据安全性提供了另外一层保护。有关如何连接到 Amazon Aurora 数据库的分步说明,请参阅 Amazon Aurora 连接指南

能否将 Amazon Aurora 用于要求 HIPAA 合规的应用程序?

可以,Aurora 的 MySQL 兼容版和 PostgreSQL 兼容版符合《健康保险流通与责任法案》(HIPAA) 要求,因此您可以基于与 AWS 签署的《业务合作协议》(BAA),使用它们构建 HIPAA 合规应用程序并存储医疗保健相关信息,包括受保护的健康信息(PHI)。如果您已经有履行的 BAA,可以即刻开始在 BAA 涵盖的账户内使用这些服务。有关在 AWS 上构建合规应用程序的更多信息,请参阅医疗保健提供商和保险公司对云的应用

在哪里可以访问通用漏洞披露(CVE)条目列表,了解 Amazon Aurora 版本中公共已知的网络安全漏洞?

现在,您可以在 Amazon Aurora 安全更新中找到 CVE 列表。

无服务器

什么是 Amazon Aurora Serverless?

Aurora Serverless 是 Amazon Aurora 的一种按需自动扩展配置。让您无需管理数据库实例,即可在云中运行数据库。手动管理数据库容量需要占用宝贵的时间,也可能导致数据库资源的使用效率低下。借助 Aurora Serverless,您只需创建数据库,指定所需的数据库容量范围,然后连接您的应用程序。Aurora 根据应用程序的需要,在指定的范围内自动调整容量。

您需要为数据库处于活动状态时所使用的数据库容量按每秒支付费用。请了解有关 Aurora Serverless 的更多信息,并通过在 Amazon RDS 管理控制台中点击几下开始使用。

Aurora Serverless v2 与 v1 之间有什么区别?

Aurora Serverless v2 支持每种类型的数据库工作负载,包括具有不频繁、间歇性或不可预见工作负载的开发和测试环境、网站和应用程序,以及要求极高的需要大规模和高可用性的业务关键型应用程序。它通过添加更多的 CPU 和内存来适当扩展,而不必将数据库故障转移到更大或更小的数据库实例。因此,即使存在长时间运行的事务、表锁等,它也可以扩缩。

此外,它还以小至 0.5 个 Aurora 容量单位(ACU)的增量扩缩数据库容量,从而使您的数据库容量与应用程序的需求密切匹配。

Aurora Serverless v1 是一种简单且更具成本效益的选择,适用于不频繁、间歇性或不可预测的工作负载。它可以自动启动,扩缩计算容量以匹配应用程序的使用,并在不使用时关闭。要了解更多信息,请访问 Aurora 用户指南

Aurora Serverless v2 支持哪种 Aurora 功能?

Aurora Serverless v2 支持预置的 Aurora 的所有功能,包括只读副本多可用区配置全局数据库RDS 代理性能见解

我是否能够通过现有的 Aurora 数据库集群开始使用 Aurora Serverless v2?

是,您可以开始使用 Aurora Serverless v2 在您现有的 Aurora 数据库集群中管理数据库计算容量。同时包含预置实例以及 Aurora Serverless v2 的集群称为混合配置集群。您可以选择在集群中使用任何预置实例和 Aurora Serverless v2 的任何组合。

要测试 Aurora Serverless v2,您可以在 Aurora 数据库集群中添加一个读取器,然后选择 Serverless v2 作为实例类型。当读取器创建且可用时,您可以开始将它用于只读工作负载。一旦确认读取器按预期工作,您就可以启动故障转移,以开始将 Aurora Serverless v2 进行读写操作。此选项为开始使用 Aurora Serverless v2 提供了最低停机时间体验。

我是否能够从 Aurora Serverless v1 迁移到 Aurora Serverless v2?

是,您可以从 Aurora Serverless v1 迁移到 Aurora Serverless v2。要了解更多信息,请参阅 Aurora 用户指南

Aurora Serverless 支持哪些版本的 Amazon Aurora?

能否将现有 Aurora 数据库集群迁移至 Aurora Serverless?

能,您可以将快照从现有 Aurora 预置的群集还原到 Aurora Serverless 数据库群集(反之亦然)。

如何连接至 Aurora Serverless 数据库集群?

您可以通过在相同 VPC 中运行的客户端应用程序访问 Aurora Serverless 数据库集群。您不能为 Aurora Serverless 数据库指定公有 IP 地址。

我能否明确设置 Aurora Serverless 集群的容量?

虽然 Aurora 无服务器会根据活动数据库工作负载自动进行扩展,但是在某些情况下,容量的扩展速度可能不足以应对工作负载的突然变化,例如大量新事务。在这种情况下,您可以借助 AWS 管理控制台、AWS CLI 或 Amazon RDS API 将容量明确设置为具体的值。

为什么我的 Aurora 无服务器数据库集群没有自动扩展?

扩展操作启动后,Aurora Serverless 会尝试寻找扩展点,数据库可在该时间点安全完成扩展。如果您有长期运行的查询或正在处理的事务,或正在使用临时表或表格锁定,那么 Aurora Serverless 可能无法找到扩展点。

Aurora Serverless 如何计费?

在 Aurora Serverless 中,数据库容量按 Aurora 容量单位(ACU)计算。您按每秒的 ACU 使用量支付统一价格。预置和无服务器配置的存储和 I/O 价格相同。有关定价和 AWS 区域可用性的最新信息,请访问 Aurora 定价页面

Parallel Query

什么是 Amazon Aurora Parallel Query?

Amazon Aurora Parallel Query 是一项功能,能够将单个查询的计算负载下移并分布到 Aurora 存储层中的数千个 CPU。如果不使用 Parallel Query,则对 Amazon Aurora 数据库发出的查询将全部在数据库集群的一个实例中执行;这与大多数数据库的运作方式类似。

目标使用场景有哪些?

Parallel Query 非常适合需要新数据和良好查询性能的分析工作负载,即使在大型表上也是如此。这种类型的工作负载在本质上通常是可操作的。

使用 Parallel Query 功能有哪些益处?

Parallel Query 可将分析查询的运行速度提高多达 2 个数量级。它提供操作简易性和数据新鲜度:您可以直接对 Aurora 集群中的当前事务数据发出查询。并且,Parallel Query 启用同一数据库上的事务工作负载和分析工作负载:Parallel Query 允许 Aurora 可以在处理并行分析查询的同时保持较高的事务吞吐量。

使用 Parallel Query 具体可以提高哪些查询的运行速度?

对不在缓冲池中的大型数据集的大多数查询的运行速度都有望提高。初始版本的 Parallel Query 可以下移并扩展超过 200 个 SQL 函数、等值连接和投影的处理。

性能可以提高到什么程度?

特定查询的运行速度提高程度取决于有多少查询计划会被下移到 Aurora 存储层。据客户报告,查询延迟降低了不止一个数量级。

性能是否有可能会降低?

有可能。但我们认为很少会出现这种情况。

要充分利用 Parallel Query,我需要对查询做出哪些更改?

不需要更改查询语法。查询优化器可以自动确定是否使用 Parallel Query 来运行特定查询。要查看查询是否在使用 Parallel Query,您可以通过运行 EXPLAIN 命令来查看查询执行计划。如果您想绕过启发式算法并且强制使用 Parallel Query 进行测试,则需要使用 aurora_pq_force 会话变量。

如何打开或关闭 Parallel Query 功能?

可使用 aurora_pq 参数在全局和会话级别动态启用和禁用 Parallel Query。

Parallel Query 还有其他收费项目吗?

没有。除了您已经支付的实例、I/O 和存储费用之外,无需再支付任何费用。

既然 Parallel Query 可以减少 I/O,那么启用这一功能是否会减少 Aurora IO 费用?

不会。查询产生的 Parallel Query I/O 费用在存储层进行计算,启用 Parallel Query 后, I/O 费用可能保持不变,也可能会增加。您可以获得的益处是查询性能得到提高。

使用 Parallel Query 后,有两个原因可能会导致 I/O 费用增加。第一,即使表中的一些数据在缓冲池中, Parallel Query 要求在存储层扫描所有数据,从而产生 I/O。第二,避免缓冲池中资源争用的一个影响是运行 Parallel Query 查询不会预热缓冲池。因此,连续运行相同的 Parallel Query 会重复产生 I/O 费用。

请参阅文档中的 Parallel Query 了解更多信息。

是否所有实例类型都支持 Parallel Query?

否。目前,您可以将 Parallel Query 与 R* 实例系列中的实例结合使用。

Parallel Query 是否与所有其他 Aurora 功能兼容?

一开始不可以。现在,您只能针对未运行 Serverless 或 Backtrack 功能的数据库集群启用这一功能。此外,Parallel Query 不支持兼容 MySQL 5.7 的 Aurora 的特定功能。

如果 Parallel Query 可以在性能损失非常少的前提下提高查询运行速度,那么我是否应该始终启用这一功能?

否。虽然我们预计 Parallel Query 在大多数情况下都可以降低查询延迟,但 I/O 费用可能会增加。我们建议您通过启用和禁用功能充分测试您的工作负载。如果您确信 Parallel Query 是正确的选择,则可以依靠查询优化器自动确定哪些查询将使用 Parallel Query。在极少数情况下,优化器不能做出最佳选择,此时您可以覆盖这一设置。

Aurora Parallel Query 是否会替换我的数据仓库?

Aurora Parallel Query 不是数据仓库,也不提供此类产品通常具有的功能。这项功能旨在提高关系数据库上的查询性能,而且适用于运营分析(当您需要对数据库中的新数据执行快速分析查询时)等使用场景。

对于 EB 级的云数据仓库,请考虑 Amazon Redshift

Amazon DevOps Guru for RDS

什么是 Amazon DevOps Guru for RDS?

Amazon DevOps Guru for RDSAmazon RDS(包括 Amazon Aurora)中一款由机器学习(ML)支持的新功能,用于自动检测并诊断数据库中的性能和操作问题,使您能够在几分钟内解决问题,而不是几天。

Amazon DevOps Guru for RDS 是 Amazon DevOps Guru 的一项功能,它可以检测所有 Amazon RDS 引擎和数十种其他资源类型的操作和性能问题。DevOps Guru for RDS 扩展了 DevOps Guru 的现有功能,用于检测、诊断和解决 Amazon RDS 中的各种数据库相关问题(如资源过度利用和 SQL 查询的不当行为)。

当问题发生时,Amazon DevOps Guru for RDS 会立即通知开发人员和 DevOps 工程师,并提供诊断信息、问题程度的详细信息和智能补救建议,以帮助客户快速解决数据库相关性能瓶颈和操作问题。

为什么应该使用 Amazon DevOps Guru for RDS?

Amazon DevOps Guru for RDS 用于消除人工工作,并缩短时间(从数小时、数天到数分钟),以此检测并解决关系数据库工作负载中难以发现的性能瓶颈。

您可以为每个 Amazon Aurora 数据库启用 DevOps Guru for RDS,它将自动检测工作负载的性能问题,就每个问题向您发送提示,解释发现的结果,并提供解决措施建议。
DevOps Guru for RDS 帮助专家以外的人员更容易地访问数据库管理,并协助数据库专家管理更多数据库。

Amazon DevOps Guru for RDS 的工作原理是什么?

Amazon DevOps Guru for RDS 利用机器学习(ML)分析由 Amazon RDS Performance Insights(PI)收集的遥测数据。DevOps Guru for RDS 在其分析中不使用任何存储在数据库中的数据。PI 度量数据负载,这是一个度量指标,用于描述应用程序在数据库上耗费的时间和数据库生成的已选指标,例如 MySQL 和 PostgreSQL 中的 pg_stat 表。

如何开始使用 Amazon DevOps Guru for RDS?

开始使用 DevOps Guru for RDS,要确保通过 RDS 控制台启用 Performance Insights,然后为您的 Amazon Aurora 数据库简单启用 DevOps Guru。通过 DevOps Guru, 您可以选择您的分析覆盖界限作为您的整个 AWS 账户,或者可以指定您希望 DevOps Guru 分析的特定 AWS CloudFormation 堆栈,或者使用 AWS 标签创建您希望 DevOps Guru 分析的资源组。

Amazon DevOps Guru for RDS 可以检测什么类型的问题?

Amazon DevOps Guru for RDS 用于识别可能影响应用程序服务质量的各种性能问题,例如锁定堆存、连接风暴、SQL 回归、CPU 和 I/O 连接,以及内存问题。

Amazon DevOps Guru for RDS 与 Amazon RDS Performance Insights 有何不同?

Amazon RDS Performance Insights 是一项数据库性能优化和监控功能,收集并可视化 Amazon RDS 数据库性能指标,帮助您迅速评估数据库负载,并确定在何时、何处采取行动。Amazon DevOps Guru for RDS 旨在监控这些指标,检测您的数据库何时发生性能问题,分析这些指标,并告诉您发生哪些问题以及可以采取的措施。

了解更多有关 Amazon Aurora 定价的信息

访问定价页面
准备好开始构建了吗?
开始使用 Amazon Aurora
还有更多问题?
联系我们