在 AWS Outposts 上使用 Amazon RDS - Amazon Relational Database Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

在 AWS Outposts 上使用 Amazon RDS

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

您可以使用相同的 AWS 管理控制台、AWS CLI 和 RDS API 来配置和管理本地 Outposts 上的 RDS 数据库实例,就像您对 AWS 云中运行的 RDS 数据库实例所做的一样。Outposts 上的 RDS 自动执行 Amazon S3 中的数据库配置、操作系统和数据库修补、备份和长期存档等任务。

Outposts 上的 RDS 支持数据库实例的自动备份。要备份和还原数据库实例,需要 Outpost 和 AWS 区域之间的网络连接。Outpost 中的所有数据库快照和事务日志都存储在您的 AWS 区域中。从您的 AWS 区域中,您可以将数据库快照中的数据库实例还原到其他 Outpost。有关更多信息,请参阅 使用备份

Outposts 上的 RDS 支持数据库实例的自动维护和升级。有关更多信息,请参阅维护数据库实例

Outposts 上的 RDS 使用 AWS Key Management Service (AWS KMS) 密钥对数据库实例和数据库快照进行静态加密。有关静态加密的更多信息,请参阅加密 Amazon RDS 资源

与 AWS 区域的网络连接不可用时,您的数据库实例将继续在本地运行。您无法创建新的数据库实例或对现有数据库实例执行新操作。没有连接时,不会进行自动备份。如果某个数据库实例发生故障,则在恢复连接之前不会自动替换该数据库实例。我们建议尽快恢复网络连接。

Amazon RDS 上的 AWS Outposts 的先决条件

以下是使用 Amazon RDS 上的 AWS Outposts 的先决条件:

  • 在您的本地数据中心安装 AWS Outposts。有关 AWS Outposts 的更多信息,请参阅 AWS Outposts

  • 确保您至少有一个子网可用于 Outposts 上的 RDS。您可以将同一子网用于其他工作负载。

  • 确保 Outpost 和 AWS 区域之间具有可靠的网络连接。

Amazon RDS 上的 AWS Outposts 对 Amazon RDS 功能的支持

功能 支持 备注 更多信息

数据库实例配置

您只能为 RDS for MySQL 和 RDS for PostgreSQL 数据库实例创建数据库实例。仅支持 MySQL 8.0.17 版和 PostgreSQL 12.2 版。目前,不支持其他数据库引擎。

创建 Amazon RDS 数据库实例

修改主用户密码

修改 Amazon RDS 数据库实例

重命名数据库实例

修改 Amazon RDS 数据库实例

重启数据库实例

重启中的数据库实例

停止数据库实例

暂时停止 Amazon RDS 数据库实例

启动数据库实例

启动之前停止的 Amazon RDS 数据库实例

多可用区部署

Amazon RDS 的高可用性(多可用区)

数据库参数组

使用数据库参数组

只读副本

使用只读副本

静态加密

Outposts 上的 RDS 不支持未加密的数据库实例。

加密 Amazon RDS 资源

AWS Identity and Access Management (IAM) 数据库身份验证

适用于 MySQL 和 PostgreSQL 的 IAM 数据库身份验证

将 IAM 角色与数据库实例关联

add-role-to-db-instance CLI 命令和 AddRoleToDBInstance RDS API 操作

Kerberos 身份验证

Kerberos 身份验证

为 Amazon RDS 资源添加标签

为 Amazon RDS 资源添加标签

选项组

使用选项组

修改维护时段

维护数据库实例

自动次要版本升级

自动升级次要引擎版本

修改备份时段

使用备份修改 Amazon RDS 数据库实例

数据库实例扩展

要扩展数据库实例,请修改其本地数据库实例类。不支持存储扩展。

修改 Amazon RDS 数据库实例

手动和自动数据库实例快照

手动和自动数据库实例快照存储在您的 AWS 区域中。

创建数据库快照

从数据库快照还原

从数据库快照还原

从 Amazon S3 还原数据库实例

将备份还原到 Amazon RDS MySQL 数据库实例

将快照数据导出到 Amazon S3

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

时间点恢复

将数据库实例还原至指定时间

增强监控

增强监测

Amazon CloudWatch 监控

使用 Amazon CloudWatch 进行监控

将数据库引擎日志发布到 CloudWatch Logs

将数据库日志发布到 Amazon CloudWatch Logs

事件通知

使用 Amazon RDS 事件通知

Amazon RDS Performance Insights

使用 Amazon RDS Performance Insights

查看或下载数据库日志

Outposts 上的 RDS 不支持使用控制台查看数据库日志或使用 CLI 或 RDS API 描述数据库日志。

Outposts 上的 RDS 不支持使用控制台下载数据库日志或使用 CLI 或 RDS API 下载数据库日志。

Amazon RDS 数据库日志文件

Amazon RDS 代理

使用 Amazon RDS Proxy 管理连接

Amazon RDS for MySQL 的存储过程

MySQL Amazon RDS SQL 参考

使用 Amazon RDS for MySQL 的外部数据库进行复制

利用 Amazon RDS 外部运行的 MySQL 或 MariaDB 实例进行复制
注意

Outposts 上的 RDS 不支持要求所有数据都保留在数据中心中的使用案例。

Outposts 上的 RDS 将数据库备份和日志存储在您的 AWS 区域中。

Amazon RDS 上的 AWS Outposts 支持的数据库实例类

Amazon RDS 上的 AWS Outposts 支持以下数据库实例类:

  • 通用数据库实例类

    • db.m5.24xlarge

    • db.m5.12xlarge

    • db.m5.4xlarge

    • db.m5.2xlarge

    • db.m5.xlarge

    • db.m5.large

  • 内存优化型数据库实例类

    • db.r5.24xlarge

    • db.r5.12xlarge

    • db.r5.4xlarge

    • db.r5.2xlarge

    • db.r5.xlarge

    • db.r5.large

Outposts 上的 RDS 数据库实例仅支持通用 SSD 存储。有关数据库实例类的更多信息,请参阅数据库实例类

为 Amazon RDS 上的 AWS Outposts 创建数据库实例

创建 Amazon RDS 上的 AWS Outposts 数据库实例类似于在 AWS 云中创建 Amazon RDS 数据库实例。但是,您必须指定与 Outpost 关联的数据库子网组。

Amazon VPC 可以跨越 AWS 区域中的所有可用区。您可以通过添加 Outpost 子网将 AWS 区域中的任何 VPC 扩展到您的 Outpost。要将 Outpost 子网添加到 VPC,请在创建子网时指定 Outpost 的 Amazon 资源名称 (ARN)。

在创建 Outposts 上的 RDS 数据库实例之前,您可以创建一个数据库子网组,该组包括一个与您的 Outpost 相关联的子网。在创建 Outposts 上的 RDS 数据库实例时,请指定此数据库子网组。您也可以在创建数据库实例时选择创建新的数据库子网组。

有关配置 AWS Outposts 的信息,请参阅《AWS Outposts 用户指南》

使用控制台创建 Outposts 上的 RDS 数据库实例

  1. 创建包括一个与您的 Outpost 相关联的子网的数据库子网组。

    要在创建数据库实例时为 Outpost 创建新的数据库子网组,请跳过此步骤。

    注意

    要为 AWS 云创建数据库子网组,请至少指定两个子网。但是,对于 Outpost 数据库子网组,可以只指定一个子网。

    1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

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

    3. 选择子网组,然后选择创建数据库子网组

      将显示创建数据库子网组页面。

      
									“创建数据库子网组”页面。
    4. 为您的新数据库子网组设置以下值:

      • Name (名称) 数据库子网组的名称

      • Description (描述) 数据库子网组的描述

      • VPC 要为其创建数据库子网组的 VPC

    5. 对于可用区,为您的 Outpost 选择可用区。

    6. 对于子网,选择供 Outposts 上的 RDS 使用的子网。

      您的数据库子网组必须只具有一个子网。

    7. 选择 Create (创建) 以创建数据库子网组。

  2. 创建数据库实例,并为您的数据库实例选择 Outpost。

    1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

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

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

    4. 选择创建数据库

      AWS 管理控制台 将检测您已配置的可用 Outpost,并在数据库位置部分中显示本地选项。

      
									“创建 Outposts 上的 RDS 数据库实例”页。
      注意

      如果您尚未配置任何 Outpost,则数据库位置部分不会显示,或 Outposts 上的 RDS 选项在选择本地创建方法部分中不可用。

    5. 选择以下设置:

      • Database location (数据库位置) On-premises (本地)

      • 本地创建方法 Outposts 上的 RDS

      • Outpost 使用具有数据库实例的数据库子网组的 Virtual Private Cloud (VPC) 的 Outpost。此处的 VPC 必须基于 Amazon VPC 服务。

      • Virtual Private Cloud (VPC) 包含数据库实例的数据库子网组的 VPC。

      • VPC 安全组 数据库实例的 Amazon VPC 安全组。

      • 子网组 数据库实例的数据库子网组。

        您可以选择与 Outpost 关联的现有数据库子网组。如果您没有创建数据库子网组,则可以为 Outpost 创建新的数据库子网组。此数据库子网组中只允许一个子网。

    6. 对于其余部分,请指定数据库实例设置。

      有关创建数据库实例时每个设置的信息,请参阅数据库实例的设置

    7. 选择创建数据库

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

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

      
									自动生成密码后的主用户凭证。

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

      重要

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

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

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

      
									我的数据库实例详细信息

      数据库实例可用后,可以像在云中管理 RDS 数据库实例一样进行管理。

要使用 AWS CLI 在 Outpost 中创建新的数据库实例,请首先通过调用 create-db-subnet-group 命令来创建供 Outposts 上的 RDS 使用的数据库子网组。对于 --subnet-ids,请在 Outpost 中指定供 Outposts 上的 RDS 使用的子网组。

对于 Linux、macOS 或 Unix:

aws rds create-db-subnet-group \ --db-subnet-group-name myoutpostdbsubnetgr \ --db-subnet-group-description "DB subnet group for Outposts 上的 RDS" \ --subnet-ids subnet-abc123

对于 Windows:

aws rds create-db-subnet-group ^ --db-subnet-group-name myoutpostdbsubnetgr ^ --db-subnet-group-description "DB subnet group for Outposts 上的 RDS" ^ --subnet-ids subnet-abc123

接下来,使用以下参数调用 create-db-instance 命令。指定 Outpost 的可用区、与 Outpost 关联的 Amazon VPC 安全组以及您为 Outpost 创建的数据库子网组。您可以包括以下选项:

  • --db-instance-identifier

  • --db-instance-class

  • --engine

  • --availability-zone

  • --db-security-groups

  • --db-subnet-group-name

  • --allocated-storage

  • --master-user-name

  • --master-user-password

  • --backup-retention-period

  • -storage-encrypted

  • --kms-key-id

以下示例创建名为 myoutpostdbinstance 的 MySQL 数据库实例。

对于 Linux、macOS 或 Unix:

aws rds create-db-instance \ --db-instance-identifier myoutpostdbinstance \ --db-instance-class db.m5.large \ --engine mysql \ --availability-zone us-east-1d \ --db-security-groups outpost-sg \ --db-subnet-group-name myoutpostdbsubnetgr \ --allocated-storage 100 \ --master-username masterawsuser \ --master-user-password masteruserpassword \ --backup-retention-period 3 \ --storage-encrypted \ --kms-key-id mykey

对于 Windows:

aws rds create-db-instance ^ --db-instance-identifier myoutpostdbinstance ^ --db-instance-class db.m5.large ^ --engine mysql ^ --availability-zone us-east-1d ^ --db-security-groups outpost-sg ^ --db-subnet-group-name myoutpostdbsubnetgr ^ --allocated-storage 100 ^ --master-username masterawsuser ^ --master-user-password masteruserpassword ^ --backup-retention-period 3 ^ --storage-encrypted ^ --kms-key-id mykey

要创建 PostgreSQL 数据库实例,请为 --engine 选项指定 postgres

有关创建数据库实例时每个设置的信息,请参阅数据库实例的设置

要使用 RDS API 在 Outpost 中创建新的数据库实例,请首先通过调用 CreateDBSubnetGroup 操作来创建供 Outposts 上的 RDS 使用的数据库子网组。对于 SubnetIds,请在 Outpost 中指定供 Outposts 上的 RDS 使用的子网组。

接下来,使用以下参数调用 CreateDBInstance 操作。指定 Outpost 的可用区、与 Outpost 关联的 Amazon VPC 安全组以及您为 Outpost 创建的数据库子网组。

  • AllocatedStorage

  • AvailabilityZone

  • BackupRetentionPeriod

  • DBInstanceClass

  • DBInstanceIdentifier

  • DBSecurityGroups

  • DBSubnetGroupName

  • Engine

  • MasterUsername

  • MasterUserPassword

  • StorageEncrypted

  • KmsKeyID

有关创建数据库实例时每个设置的信息,请参阅数据库实例的设置