通过我在 AWS 中的本地计算机的堡垒主机私下连接到 Web 应用程序



我有一个在 AWS 中运行的 EC2 实例,这是我试图实现的场景。我有一个包含 3 个子网的 VPC 设置。其中 2 个是私有的,无法访问互联网(即使使用 NAT 网关/NAT 实例(,另一个是公有子网。

  • 堡垒主机在公有子网中配置了公有 IP(例如 55.55.55.55(。
  • 我在托管我的应用程序的私有子网中启动了 ec2 实例,我希望我的用户能够从他们的工作站浏览器访问该应用程序。

如果我按照此处讨论的方式设置 SSH 连接,它对于在我的堡垒主机上设置的 Web 浏览器页面来说效果很好。但是,对于我的用例,我需要实现另一个级别的 SSH 转发,如上所示,因为我的应用程序位于私有子网中,以便可以从我的本地计算机访问该应用程序。这可能吗?我还需要确保 DNS 没有问题。

ssh -N <Bastion_IP/HostName> -L<LocalPort>:<Internal_IP_of_Web_Server>:<WebServer_Port>

然后,您可以访问网络服务器http://localhost:<LocalPort>/

假设您在私有子网中的 ec2 上有一个 Web 应用程序,并且您希望使其可用于在 AWS 外部访问。

您可以按照本教程在堡垒主机上设置端口转发,但我建议您使用本指南中所述的负载均衡器 (ELB(。要使用 ELB,您需要在不同的可用区中建立另一个公有子网。如果您的应用程序正在提供HTTP流量,那么最好使用应用程序ELB(ALB(。以下是有关 ALB 的更多信息。

最新更新