我在AWS中运行了一个EC2实例,这是我想要实现的场景。我有一个带有3个子网的VPC设置。其中2个是私有的,无法访问互联网(即使使用NAT网关/ NAT实例),另一个是公共子网。
如果我按照讨论的here设置SSH连接,它对我在堡垒主机上设置的Web浏览器页面完全正常。但是,对于我的用例,我需要像上面那样实现另一级别的SSH转发,因为我的应用程序位于私有子网中,可以从我的本地计算机访问该应用程序。这有可能吗?我还需要确保DNS没有问题。
假设您在私有子网中的ec2上有一个Web应用程序,并且您希望它可以在AWS外部访问。
您可以在this tutorial之后在堡垒主机上设置端口转发,但我建议您使用this guide中描述的负载均衡器(ELB)。要使用ELB,您需要在不同的AZ中使用另一个公有子网。如果您的应用程序正在为HTTP流量提供服务,那么使用应用程序ELB(ALB)会更好。这是more info about ALB。
ssh -N <Bastion_IP/HostName> -L<LocalPort>:<Internal_IP_of_Web_Server>:<WebServer_Port>
然后,您可以访问网站服务器http://localhost:<LocalPort>/