我知道一种方法是在公共子网中使用负载均衡器,但对于开发服务器,我们不需要负载均衡器。是否有其他选项可以允许从 Internet 访问私有子网中的应用程序?
如果不是,那么最好的选择是将开发服务器留在公共子网中吗?数据库实例仍将位于私有子网中。
我知道一种方法是在公共子网中使用负载均衡器,但对于开发服务器,我们不需要负载均衡器。是否有其他选项可以允许从 Internet 访问私有子网中的应用程序?
如果不是,那么最好的选择是将开发服务器留在公共子网中吗?数据库实例仍将位于私有子网中。
私有子网中的 Amazon EC2 实例永远无法从 Internet 直接访问,即使它具有公共 IP 地址。这是因为私有子网没有将子网连接到 Internet 网关的路由表条目。这是有意和期望的。
因此,您的选择是:
端口转发是一种常用技术,用于为不可直接访问的资源提供专用连接。例如:
Public-Instance
在公共子网中Private-Instance
在私有子网中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 会话存在,这将继续。