【问题标题】:PgAdmin access to AWS Postgres instance in private subnetPgAdmin 访问私有子网中的 AWS Postgres 实例
【发布时间】:2018-05-02 15:24:49
【问题描述】:

我正在尝试为多层 Web 应用程序创建一个真实的网络设置。我在 AWS 中创建了一个新的 VPC,其中包含 1 个公共子网和 2 个私有子网。然后,我在私有子网中创建了一个 Postgres 实例,并将其设置为不可公开访问。这在数据库周围增加了一层额外的安全性,但是我如何从本地 IP 访问数据库?

我创建了一个安全组并将我的 IP 分配给入站规则并在创建期间将其分配给数据库实例:

但我仍然无法连接到它?我是否需要创建 VPN 并通过 VPN 连接到我的 VPC,然后再连接到数据库实例?在建议的架构中,您如何连接到数据库?

我想要实现的是一种架构,它允许我创建 Lambda 函数,这些函数通过 API 网关与数据库通信并将数据提供给 Web 前端。所以我希望通过私有子网保护数据库。但我也希望能够从本地笔记本电脑直接连接到数据库。

目前 - RDS 实例正在 VPC 中运行,但我不知道如何连接到它。是否需要设置 Internet Gateway / VPN / EC2 实例并跳转到 DB?

【问题讨论】:

  • "你如何连接到数据库?" --- 从哪里来?
  • @zerkms - 目前我不能。该实例在私有子网中运行,我无法连接到它。

标签: amazon-web-services amazon-rds


【解决方案1】:

通过将 Amazon RDS 数据库置于私有子网中,您实现了出色的安全性。这意味着它无法从 Internet 访问,从而阻止了大多数潜在的安全威胁。

然而,这也意味着无法从互联网连接到它。

实现目标的最常用方法是在公有子网中启动 Amazon EC2 实例并将其用作堡垒Jump Box

  • 你通过 SSH 进入堡垒
  • Bastion 然后可以将您连接到 VPC 中的其他资源

由于您只想连接到数据库(而不是登录到另一台服务器),因此最好的方法是将 SSH 与端口转发一起使用

在 Windows 中,这可以使用您的 SSH 客户端来完成 - 例如,如果您使用 PuTTY,则可以配置隧道。见:How to Configure an SSH Tunnel on PuTTY

对于 Mac/Linux,使用以下命令:

ssh -i YOUR-KEYPAIR.pem -L 5555:RDS-ENDPOINT:5432 ec2-user@YOUR-BASTION-SERVER

然后您将笔记本电脑上的 SQL 客户端指向:localhost:5555

  • 5555 可以是您希望的任何数字。它只是您自己计算机上的“本地端口”,用于将流量转发到远程计算机。
  • RDS-ENDPOINT 是 RDS 控制台中提供的 RDS 数据库的端点。它将类似于:db.cnrffgvaxtw8.us-west-2.rds.amazonaws.com
  • BASTION-SERVER 是您将用于连接的 Jump Box 的 IP 地址或 DNS 名称

然后,从您的 SQL 客户端发送到 localhost:5555 的任何流量都将通过 SSH 连接自动发送到 Bastion/Jump Box,然后将其转发到 RDS 数据库上的端口 5432。流量将通过 SSH 连接进行加密,建立连接需要 SSH 密钥对。

【讨论】:

【解决方案2】:

我参考了很多文章和视频来找到这个答案。

是的,您可以连接到私有子网中的 rds 实例

我们有两种连接方式

  1. 使用服务器:通过在公共子网中使用 ec2 并将其用作堡垒主机。我们可以通过 ssh 隧道连接到 pg admin

  2. 无服务器:通过使用客户端 VPN 端点。创建客户端 VPN 端点并关联子网并允许 Internet 访问私有子网。然后下载配置文件并安装open VPN GUI并导入配置文件并添加密钥然后连接open VPN。现在尝试连接到 pgadmin,它会连接。

步骤:https://docs.google.com/document/d/1rSpA_kCGtwXOTIP2wwHSELf7j9KbXyQ3pVFveNBihv4/edit)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-20
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    • 2019-04-29
    • 2020-06-21
    相关资源
    最近更新 更多