【问题标题】:Port forwarding on AWS from the internet to private subnet instanceAWS 上从 Internet 到私有子网实例的端口转发
【发布时间】:2019-01-04 05:19:38
【问题描述】:

有没有办法在 AWS 的私有子网上打开可以从 Internet 访问的服务器(实例)?似乎 AWS 有 NAT 实例,但如果请求到达某个端口,我无法找到一种方法来设置规则以转发到特定机器。

【问题讨论】:

  • 您是否尝试通过 SSH 连接到私有子网中的实例?如果是这样,请参阅aws.amazon.com/blogs/aws/new-session-manager
  • 感谢您提供的信息,但不,我没有尝试 ssh。用于调试目的。
  • 这种情况下调试涉及什么?
  • 将 Visual Studio 连接到该机器上托管的资源
  • 谢谢。我会检查这两种解决方案。

标签: amazon-web-services amazon-ec2


【解决方案1】:

不,您(故意)无法访问私有子网中的实例。

一种选择是在公共子网中启动“堡垒服务器”,然后使用 SSH 端口转发,以便将私有实例上的端口神奇地连接到您的本地计算机。

例子:

ssh -i KEYPAIR.pem -L 8000:PRIVATE-INSTANCE-IP:8000 ec2-user@EC2-IP-ADDRESS

这实际上只是普通的 Linux 东西——它不是 Amazon EC2 特有的。

【讨论】:

  • 我相信 Amazon NAT 是基于 Linux 的?有没有办法“定制”亚马逊的 NAT?
  • 有两个 NAT 选项。一种是没有配置功能的托管 NAT 网关。另一个是 NAT 实例,它是一个普通的 Amazon EC2 实例,其配置(IPTables Masquerade 设置)类似于 NAT。如果您使用实例,则始终可以登录并配置其他设置,例如从公共端到私有子网中资源的端口转发器。安全性不是很好,但可以正常工作。
【解决方案2】:

您应该为此使用Load Balancer

负载均衡器将面向公众,并将请求转发到您的私有实例。

【讨论】:

  • 我会调查的。对于我需要的东西,这可能有点过头了,但据我所知,它应该可以工作。
  • 如果它是针对开发人员的,那么 John 的解决方案可能就足够了。如果您希望非技术人员访问您的实例,您可以考虑使用 ELB 或返回公共子网并公开您的实例。
猜你喜欢
  • 2020-08-05
  • 2019-07-28
  • 2020-06-17
  • 2018-01-20
  • 2018-08-10
  • 1970-01-01
  • 1970-01-01
  • 2021-11-11
  • 2022-01-20
相关资源
最近更新 更多