创建 Aurora PostgreSQL 数据库集群并连接到该集群
本教程创建一个 EC2 实例和一个 Aurora PostgreSQL 数据库集群。本教程向您展示如何使用标准 PostgreSQL 客户端从 EC2 实例访问数据库集群。作为最佳实践,本教程在虚拟私有云(VPC)中创建私有数据库集群。在大多数情况下,同一 VPC 中的其他资源(例如 EC2 实例)可以访问数据库集群,但 VPC 之外的资源无法访问该集群。
完成本教程后,VPC 的每个可用区中都有一个公有和私有子网。在一个可用区中,EC2 实例在公有子网中,数据库实例在私有子网中。
重要
创建 Amazon 账户并不会收费;但是,在完成本教程过程中使用Amazon资源可能会产生费用。完成本教程后,如果不再需要这些资源,可以将其删除。
下图显示了教程完成时的配置。

本教程通过 Amazon Web Services Management Console使用轻松创建来创建运行 Aurora PostgreSQL 的数据库集群。借助轻松创建,您可以仅指定数据库引擎类型、数据库实例大小和数据库集群标识符。Easy create (轻松创建) 为其他配置选项使用默认设置。通过轻松创建所创建的数据库集群是私有的。
如果使用标准创建而不是轻松创建,则在创建数据库集群时需要指定更多配置选项,包括用于可用性、安全性、备份和维护的选项。要创建公有数据库集群,必须使用标准创建。有关使用 Standard create (标准创建) 创建数据库集群的信息,请参阅创建 Amazon Aurora 数据库集群。
主题
先决条件
在开始之前,请完成以下各节中的步骤:
步骤 1:创建 EC2 实例
创建将用于连接到数据库的 Amazon EC2 实例。
创建 EC2 实例
登录到 Amazon Web Services Management Console 并打开 Amazon EC2 控制台(https://console.aws.amazon.com/ec2/
)。 -
在 Amazon Web Services Management Console的右上角,选择要在其中创建 EC2 实例的 Amazon Web Services 区域。
-
选择 EC2 控制面板,然后选择启动实例,如下图所示。
启动实例页面打开。
-
在启动实例页面上选择以下设置。
-
在 Name and tags(名称和标签)下,对于 Name(名称),输入
ec2-database-connect
。 -
在应用程序和操作系统映像(Amazon 机器映像)下,选择 Amazon Linux,然后选择 Amazon Linux 2023 AMI。对于其他选项,保留原定设置选择。
-
在 Instance type(实例类型)下,选择 t2.micro。
-
在 Key pair (login) [密钥对(登录)] 下,选择 Key pair name(密钥对名称)以使用现有密钥对。要为 Amazon EC2 实例创建新的密钥对,请选择 Create new key pair(创建新的密钥对),然后使用 Create key pair(创建密钥对)窗口来创建它。
有关创建新的密钥对的更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的创建密钥对。
-
对于网络设置中的允许 SSH 流量,选择 EC2 实例的 SSH 连接来源。
如果显示的 IP 地址对于 SSH 连接是正确的,您可以选择 My IP(我的 IP)。否则,您可以确定要用来通过 Secure Shell(SSH)连接到 VPC 中的 EC2 实例的 IP 地址。要确定您的公有 IP 地址,请在新的浏览器窗口或标签页中,使用 https://checkip.amazonaws.com
上的服务。IP 地址的示例为 192.0.2.1/32。 在许多情况下,您可能通过互联网服务提供商(ISP)进行连接,或者在不使用静态 IP 地址的情况下从防火墙之后进行连接。如果是这样,请确保确定客户端计算机使用的 IP 地址范围。
警告
如果您使用
0.0.0.0/0
进行 SSH 访问,则所有 IP 地址可能能够使用 SSH 访问您的公有 EC2 实例。在测试环境下短时间内,此方法尚可接受,但它对于生产环境并不安全。在生产环境中,将仅向特定 IP 地址或地址范围授权使用 SSH 访问您的 EC2 实例。下图显示了网络设置部分的示例。
-
对于其余部分保留原定设置值。
-
查看摘要面板中您的 EC2 实例配置的摘要,当您准备好后,选择启动实例。
-
-
在启动状态页面上,记下新 EC2 实例的标识符,例如:
i-1234567890abcdef0
。 -
选择 EC2 实例标识符以打开 EC2 实例列表,然后选择您的 EC2 实例。
-
在详细信息选项卡中,记下使用 SSH 进行连接时所需的以下值:
-
在实例摘要中,记下公有 IPv4 DNS 的值。
-
在实例详细信息中,记下密钥对名称的值。
-
-
等待 EC2 实例的实例状态变为正在运行,然后继续。
步骤 2:创建 Aurora PostgreSQL 数据库集群
在该示例中,您使用轻松创建来创建一个具有 db.t4g.large 数据库实例类的 Aurora PostgreSQL 数据库集群。
使用“轻松创建”来创建 Aurora PostgreSQL 数据库集群
-
登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 在 Amazon RDS 控制台的右上角,选择要在其中创建数据库集群的 Amazon Web Services 区域。
-
在导航窗格中,选择 Databases (数据库)。
-
选择创建数据库,并确保已选择轻松创建。
-
在配置中,对于引擎类型,选择 Aurora(PostgreSQL 兼容)。
-
对于数据库实例大小,选择设备/测试。
-
对于数据库集群标识符,输入
database-test1
。创建数据库页面应类似于以下图像。
-
对于主用户名,输入用户的名称,或者保留原定设置名称(
postgres
)。 -
要为数据库集群使用自动生成的主密码,请选择自动生成密码。
要输入主密码,请确保清除自动生成密码,然后在主密码和确认密码中输入相同的密码。
-
要设置与您之前创建的 EC2 实例的连接,请打开设置 EC2 连接 - 可选。
选择连接到 EC2 计算资源。选择您之前创建的 EC2 实例。
-
打开查看轻松创建的原定设置。
您可以检查在启用 Easy create (轻松创建) 时使用的默认设置。可在创建数据库后编辑列显示在创建数据库后可以更改的选项。
-
如果该列中的某个设置为否,而您想要不同的设置,则可以使用标准创建来创建数据库集群。
-
如果某个设置在该列中为是,而您想要不同的设置,您可以使用标准创建来创建数据库集群,也可以在创建后修改数据库集群以更改该设置。
-
-
选择 Create database(创建数据库)。
要查看数据库集群的主用户名和密码,请选择查看凭证详细信息。
您可以使用显示的用户名和密码,以主用户身份连接到数据库集群。
重要
您无法再次查看主用户密码。如果您不记录它,您可能需要更改它。
如果需要在数据库集群可用后更改主用户密码,则可以修改数据库集群以执行此操作。有关修改数据库集群的更多信息,请参阅 修改 Amazon Aurora 数据库集群。
-
在数据库列表中,选择新的 Aurora PostgreSQL 数据库集群的名称以显示其详细信息。
写入器实例具有正在创建状态,直到此数据库集群就绪可供使用。
当写入器实例的状态变为可用时,您便可以连接到该数据库集群。根据数据库实例类和存储量,新数据库集群可能需要等待 20 分钟时间才可用。
步骤 3:连接到 Aurora PostgreSQL 数据库集群
您可以使用任何标准 PostgreSQL 客户端应用程序连接到数据库集群。在该示例中,您使用 psql 命令行客户端连接到 Aurora PostgreSQL 数据库集群。
连接到 Aurora PostgreSQL 数据库集群
-
找到您的数据库集群的写入器实例的端点(DNS 名称)和端口号。
-
登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 在 Amazon RDS 控制台的右上角,选择数据库集群的 Amazon Web Services 区域。
-
在导航窗格中,选择 Databases (数据库)。
-
选择 Aurora PostgreSQL 数据库集群名称以显示其详细信息。
-
在连接和安全性选项卡上,复制写入器实例的端点。另请注意端口号。您需要端点和端口号才能连接到数据库集群。
-
-
按照《适用于 Linux 实例的 Amazon EC2 用户指南》的连接到您的 Linux 实例中的步骤,连接到您之前创建的 EC2 实例。
我们建议您使用 SSH 连接到 EC2 实例。如果 SSH 客户端实用程序安装在 Windows、Linux 或 Mac 上,则可以使用以下命令格式连接到该实例:
ssh -i
location_of_pem_file
ec2-user@ec2-instance-public-dns-name
例如,假设在 Linux 上
ec2-database-connect-key-pair.pem
存储在/dir1
中,而 EC2 实例的公有 IPv4 DNS 为ec2-12-345-678-90.compute-1.amazonaws.com
。SSH 命令将如下所示:ssh -i /dir1/ec2-database-connect-key-pair.pem ec2-user@ec2-12-345-678-90.compute-1.amazonaws.com
通过更新 EC2 实例上的软件,获取最新的错误修复和安全更新。为此,请使用以下命令。
注意
-y
选项安装更新时不提示确认。要在安装前检查更新,请忽略该选项。sudo dnf update -y
-
使用以下命令在 Amazon Linux 2023 上安装 PostgreSQL 中的 psql 命令行客户端:
sudo dnf install postgresql15
-
连接到 Aurora PostgreSQL 数据库集群。例如,输入以下命令。此操作可让您使用 psql 客户端连接到 Aurora PostgreSQL 数据库集群。
用写入器实例的端点替换
,用要连接到的数据库名称endpoint
--dbname
替换
,并用您使用的主用户名替换postgres
。提示输入密码时,提供所使用的主密码。postgres
psql --host=
endpoint
--port=5432 --dbname=postgres
--username=postgres
在输入用户的密码后,您应该会看到类似于以下内容的输出。
psql (14.3, server 14.6) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help. postgres=>
有关连接到 Aurora PostgreSQL 数据库集群的更多信息,请参阅连接到 Amazon Aurora PostgreSQL 数据库集群。如果您无法连接到数据库集群,请参阅无法连接到 Amazon RDS 数据库实例。
出于安全考虑,最佳做法是使用加密连接。仅当客户端和服务器位于同一 VPC 中,并且网络受信任时,才会使用未加密的 PostgreSQL 连接。有关使用加密连接的信息,请参阅 利用 SSL/TLS 保护 Aurora PostgreSQL 数据。
-
运行 SQL 命令。
例如,以下 SQL 命令显示了当前日期和时间:
SELECT CURRENT_TIMESTAMP;
步骤 4:删除 EC2 实例和数据库集群
在连接到您创建的示例 EC2 实例和数据库集群并进行浏览之后,删除它们,以便不再为其付费。
删除 EC2 实例
登录到 Amazon Web Services Management Console 并打开 Amazon EC2 控制台(https://console.aws.amazon.com/ec2/
)。 -
在导航窗格中,选择实例。
-
选择 EC2 实例,然后依次选择实例状态、终止实例。
-
当系统提示您确认时,选择终止。
有关删除 EC2 实例的更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的终止实例。
删除数据库集群
登录Amazon Web Services Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
选择 Databases (数据库),然后选择与数据库集群关联的数据库实例。
-
对于 Actions,选择 Delete。
-
选择 Delete。
删除与数据库集群关联的所有数据库实例后,将自动删除数据库集群。
(可选)将您的数据库集群连接到 Lambda 函数
您也可以将您的 Aurora MySQL 数据库集群连接到 Lambda 无服务器计算资源。Lambda 函数支持在不预调配或管理基础设施的情况下运行代码。Lambda 函数还支持自动响应任何规模的代码执行请求,从每天十几个事件到每秒数百个事件。有关更多信息,请参阅自动连接 Lambda 函数和 Aurora 数据库集群。