Mor*_*gan 4 vpn openvpn amazon-ec2 amazon-web-services amazon-rds
我的远程开发人员经常出差并且 IP 地址不断变化。我希望他们能够连接到在 EC2 上的实例上运行的 VPN。一旦他们使用密钥连接到 VPN,他们就可以使用 VPN 将流量中继到 RDS 服务器。每天为每个开发人员不断更改安全组设置不是一种选择。
我研究了 OpenVPN,可以直接创建到托管 VPN 的实例的 VPN 连接。我相信我的路由不起作用,因为 RDS 不知道如何将回复路由回 RDS 实例。
一个非常简单的解决方案是仅使用 SSH 隧道来承载 SQL 流量。您没有提到您在 EC2 实例上运行的操作系统,所以我假设您运行的是 Linux(如果您没有运行 Linux,只需t1.micro为此目的启动一个实例。这将提供足够的马力对于这种类型的流量)。所以 - 有了 Linux 服务器,设置这个就很容易了。每个开发人员都需要在该服务器上有一个帐户,他们需要为自己生成一个密钥对,并为您提供公钥以部署在他们的服务器帐户上。
如果他们使用的是 unixy 操作系统,他们会运行类似于以下的命令:
$ ssh user@ec2-host -L3306:a.b.c.d:3306
Run Code Online (Sandbox Code Playgroud)
...其中“abcd”是 RDS 实例的 IP 地址。您只需要确保每个用户在 RDS 数据库上都有适当的授权,以便从他们通过 ssh 连接的 ec2 主机进行连接。
完成此操作后,开发人员将连接到他们的本地主机,端口 3306,并且该流量将通过隧道传输到 RDS 实例。
(我从未真正使用过 RDS,但由于它是内置的 MySQL 替代品,我觉得我的假设是正确的,即使用端口 3306。如果它使用不同的端口,则最后更改端口号上面的命令)