Amazon ec2 如何连接到ec2'上的Web服务器;私下';

Amazon ec2 如何连接到ec2'上的Web服务器;私下';,amazon-ec2,ip-address,vpn,Amazon Ec2,Ip Address,Vpn,我在ec2实例上部署了一个小型web应用程序,我希望在不公开的情况下对其进行测试 使用弹性IP并不能解决我的问题,因为IP会将其暴露给外部世界,而我们还没有做好准备 我知道亚马逊专有网络,但它似乎有点过分,因为我不需要所有这些功能,我不想处理设置。我所需要的就是能够通过使用私有IP或类似的东西访问Web服务器 是否有一个快速而肮脏的解决方案?创建一个安全组,该安全组只允许从您的IP(运行您将执行测试的浏览器的机器的IP)到web服务器端口(可能是80)的通信,并将此安全组分配给您的ec2实例 这

我在ec2实例上部署了一个小型web应用程序,我希望在不公开的情况下对其进行测试

使用弹性IP并不能解决我的问题,因为IP会将其暴露给外部世界,而我们还没有做好准备

我知道亚马逊专有网络,但它似乎有点过分,因为我不需要所有这些功能,我不想处理设置。我所需要的就是能够通过使用私有IP或类似的东西访问Web服务器


是否有一个快速而肮脏的解决方案?

创建一个安全组,该安全组只允许从您的IP(运行您将执行测试的浏览器的机器的IP)到web服务器端口(可能是80)的通信,并将此安全组分配给您的ec2实例

这样,只有您才能访问web应用程序


如果您需要在不同的位置工作,请编写一个简单的脚本来更新安全组并添加当前IP。这些更改将立即应用,无需重新启动。您可以从获取当前IP并使用更新安全组。

您不需要EIP来访问您的实例-它具有一个自动关联的公共DNS名称。

您可以将web服务器设置为仅在127.0.0.1(而不是0.0.0.0)上侦听然后使用SSH通过隧道将连接从本地计算机连接到实例

在桌面上,设置SSH连接:

$ ssh -L 3000:localhost:80 ec2-user@ec2-instance.amazonaws.com

然后访问
http://localhost:3000
在浏览器中,它将通过SSH连接将桌面上的端口3000转发到实例上的端口80。

如果您想要一个真正私有的EC2实例,您需要考虑在VPC内部启动它。您需要在公用子网中安装堡垒主机,在专用子网中安装实例。

在某些情况下,这可能是一种解决方案。想象一下,我必须从其他位置运行演示,但我没有时间更改安全规则。有没有一种方法可以保证只有拥有某个私钥或类似私钥的人才能访问?请更新我的答案以解决多个位置的问题。私钥与ssh相关的解决方案相关。您也可以使用客户端证书,但这些证书需要更改您的web应用程序。安全组在“网络”级别运行,因此对您的应用程序是透明的。谢谢,有没有办法将访问给定实例(无论是通过EIP寻址还是使用公共DNS名称)的权限仅限于拥有给定私钥或类似密钥的人?例如,如果您的实例是Linux计算机,你只允许ssh连接,然后只有你(拥有私钥的人)可以登录到这台机器。它是linux,我可以在其中使用ssh。我试图限制的是对我的web应用程序的访问。理想情况下,我可以创建一个vpn并使用私有IP,但我希望有一个更简单的方法打开https并在您的web服务器中使用基本身份验证。我最终使用Putty端口转发,因为我在Windows上,太棒了@你是怎么做到的?我正在努力寻找一个清晰的实现使用腻子上Windows@GregKempe您是如何通过ppk的?或者在~/.ssh/config:
主机名用户标识文件LocalForward 127.0.0.1:3000 127.0.0.1:80中