AWS 如何从私有子网中的 EC2 实例打开网站

Posted

技术标签:

【中文标题】AWS 如何从私有子网中的 EC2 实例打开网站【英文标题】:AWS how to open a website from an EC2 instance in the private subnet 【发布时间】:2021-11-18 09:46:48 【问题描述】:

我有:

私有子网中的 Web EC2 实例(连接到 NAT 网关) 公共子网中的堡垒 EC2 实例(连接到互联网网关)

我尝试了很多方法来从浏览器打开 Web 应用程序,但都没有成功:

当我使用堡垒实例访问 Web 实例以创建端口转发 [ ssh -i KEY -ND LOCAL-PORT ec2-user@BASTION-PUBLIC-IP ] 时,它要求我输入我没有的密码. AWS 控制台创建的密钥对没有密码。当我使用 PuTTY 密钥生成器创建密钥并导入控制台时,控制台不接受由于一系列原因,例如长、不兼容格式等的关键。 我尝试创建负载均衡器,但子网需要连接到互联网网关(私有子网不需要)。

请帮忙!

【问题讨论】:

您的最终目标是什么?您似乎想将 EC2 实例公开给 Internet?你想对所有端口都这样做吗?如果您希望它可以公开访问,为什么要将它放在私有子网中?当您使用 SSH 时是否只有您可以访问它,还是您希望每个人都可以访问它? 【参考方案1】:

您可以通过配置面向 Internet 的负载均衡器(在公共子网中)并将此负载均衡器指向托管您的网站的 EC2(在私有子网中)来实现此目的。确保 EC2 的安全组(入站规则)允许来自负载均衡器的安全组的流量。

【讨论】:

以上是关于AWS 如何从私有子网中的 EC2 实例打开网站的主要内容,如果未能解决你的问题,请参考以下文章

如何在私有子网上托管的 aws ec2 实例中安装 Nginx

如何从公司内部机器浏览器访问 AWS EC2 实例私有 IP 以访问在 EC2 上运行的应用程序

如何设置AWS CodeDeploy和EC2 CodeDeploy安全环境

在私有子网中的EC2上安装Cloudwatch代理

通过 Ubuntu 堡垒到私有子网中的 EC2 实例的 SSH 隧道

将 AWS API Gateway 和私有 EC2 实例拼接在一起