AWS - 我将 RDS 安全组的入站规则更改为特定 IP,并在访问主网站时收到 502 响应



我是AWS主机的新手。如有任何帮助,不胜感激。

简而言之,当我给出& 0.0.0.0/0"时,网站是可访问的。和"::/0";访问的实例,是托管我的网站,同时给予& 0.0.0.0/0"one_answers"::/0";访问RDS实例。在没有对EC2托管实例的安全规则进行任何更改的情况下,我只将RDS实例的安全组的入站规则更改为只允许访问托管实例的IP和我的主IP。在此之后,当我试图访问我的网站时,它给出了502的响应。我不明白。为什么它会影响公众访问我的网站?

我的客户端应用程序是基于react构建的,服务器是express。只有当在不是我的主页的页面上单击按钮时,才调用API来访问数据库。

任何帮助都会很感激。提前谢谢。

就像jscott提到的那样,web应用程序可能通过另一个IP地址连接到您的DB,而不是您白名单中的IP地址(EC2的私有地址与公共地址)。从你的帖子,我猜你的数据库也运行在一个公共IP地址,因为你可以从你的家庭地址直接连接到它。这意味着您还必须将EC2的公共ip地址列入白名单,因为它将通过互联网进行路由。

既然你提到你是AWS的新手,我也想给出一些关于如何在AWS上设计你的web应用程序的一般指导,特别是因为我看到我的客户也经常出错:

如果您从头开始,请尽量不要为后端使用EC2实例。尽可能使用无服务器(api gateway/lambda)。这将为您节省大量的时间和金钱,并减少网络的复杂性。

如果你真的想走"经典"路线,部署一个三层web应用程序,我建议你从这个教程开始:https://www.wellarchitectedlabs.com/reliability/100_labs/100_deploy_cloudformation/

它很好地介绍了三层VPC和cloudformation,以实现更可靠和安全的部署。

最新更新