如何从 VPC(EC2 实例)访问 AWS Lightsail MySQL 数据库?
How to access AWS Lightsail MySQL database from VPC (EC2 instance)?
- 我有一个 Amazon Lightsail MySQL 数据库。
- 我在 Amazon Lightsail 账户中启用了“VPC 对等连接”。
- 我在 VPC 帐户中有一个与 Lightsail“对等”的 EC2 服务器。
现在我想从 EC2 实例访问 Lightsail 数据库。我知道“简单的方法”是在 Lightsail 数据库中启用“Public 模式”。这样,端点在 Internet 上公开可用,因此您可以从任何地方连接。
我想避免这种情况,所以问题来了:是否可以使用内部 VPC 通信从 EC2 实例访问 Lightsail 数据库?如果没有,是否有任何其他方法可以使此连接更安全?也许是一种在 Lightsail 数据库中将 IP 列入白名单的方法?
谢谢!
为了重现您的情况,我执行了以下操作:
- 启动了 Amazon Lightsail 数据库(我选择了 PostgreSQL)
- 在 Lightsail 控制台中启用 VPC 对等互连(帐户/高级)
- 在默认 VPC(这是 Lightsail 连接的唯一一个)
中启动了一个 Amazon EC2 实例
- 尝试从 EC2 实例连接到 Lightsail 数据库
没用。
数据库 DNS 名称已成功解析为 VPC 对等正确范围内的 IP 地址。但是,当尝试连接到数据库时,psql
挂了很长时间才失败。这表明 EC2 实例和 Lightsail 数据库之间没有网络连接。
通常,修复它的方法是检查安全组,但 Lightsail 不支持安全组。似乎对 Lightsail 数据库的访问被锁定到 Lightsail 网络,并且无法通过 VPC 对等访问。
- 我有一个 Amazon Lightsail MySQL 数据库。
- 我在 Amazon Lightsail 账户中启用了“VPC 对等连接”。
- 我在 VPC 帐户中有一个与 Lightsail“对等”的 EC2 服务器。
现在我想从 EC2 实例访问 Lightsail 数据库。我知道“简单的方法”是在 Lightsail 数据库中启用“Public 模式”。这样,端点在 Internet 上公开可用,因此您可以从任何地方连接。
我想避免这种情况,所以问题来了:是否可以使用内部 VPC 通信从 EC2 实例访问 Lightsail 数据库?如果没有,是否有任何其他方法可以使此连接更安全?也许是一种在 Lightsail 数据库中将 IP 列入白名单的方法?
谢谢!
为了重现您的情况,我执行了以下操作:
- 启动了 Amazon Lightsail 数据库(我选择了 PostgreSQL)
- 在 Lightsail 控制台中启用 VPC 对等互连(帐户/高级)
- 在默认 VPC(这是 Lightsail 连接的唯一一个) 中启动了一个 Amazon EC2 实例
- 尝试从 EC2 实例连接到 Lightsail 数据库
没用。
数据库 DNS 名称已成功解析为 VPC 对等正确范围内的 IP 地址。但是,当尝试连接到数据库时,psql
挂了很长时间才失败。这表明 EC2 实例和 Lightsail 数据库之间没有网络连接。
通常,修复它的方法是检查安全组,但 Lightsail 不支持安全组。似乎对 Lightsail 数据库的访问被锁定到 Lightsail 网络,并且无法通过 VPC 对等访问。