繁体   English   中英

如何使私有子网中的 EC2 实例可从 Internet 访问? (如能够访问该网站)

[英]How to make EC2 instance in private subnet accessible from the internet? (as in being able to visit the website)

我知道一种方法是在公共子网中使用负载均衡器,但对于开发服务器,我们不需要负载均衡器。 是否有替代选项允许从 Internet 访问私有子网中的应用程序?

如果没有,那么最好的选择是将开发服务器留在公共子网中吗? 数据库实例仍将位于私有子网中。

私有子网中的 Amazon EC2 实例永远无法从 Internet 直接访问,即使它具有公共 IP 地址。 这是因为私有子网没有将子网连接到 Internet 网关的路由表条目。 这是有意而为的。

所以,你的选择是:

  • 将您的实例放在公共子网而不是私有子网中,或
  • 创建到 VPC 的VPN 连接,以便您可以与 VPC 中的资源进行通信,包括私有子网,或者
  • 连接到公共子网中的实例并使用端口转发然后获取与私有实例的连接(见下文),或
  • 在公共子网中使用负载均衡器或代理将流量转发到私有子网(一个好处是它模仿了生产设置)

端口转发是一种常见的技术,用于为不可直接访问的资源提供专用连接。 例如:

  • 公有子网中的公有Public-Instance
  • 私有子网中的私有Private-Instance
  • 通过端口转发通过 SSH 连接到Public-Instance ,然后建立到Private-Instance的连接
  • 访问本地机器上的资源,它实际上会将请求转发到Private-Instance

示例连接字符串将是:

ssh -i pemfile ec2-user@public-instance -L 8000:private-instance:80

发送到本地计算机端口 8000 的任何请求都将转发到Public-Instance ,然后将请求转发到private-instance:80 只要 SSH 会话就位,这就会继续。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM