>我已配置为在 ec2 实例上的安全组中使用我的 ip。但是我收到 504 网关超时错误。
当我让它向世界开放时,即 0.0.0.0/0,那么它运行良好。 我使用"我是谁"在 ec2 实例上检查了我的 IP 地址,这与安全组中的 IP 地址类似。
请建议如何使其仅适用于我的机器。
我已经按照上面提到的步骤操作
是否可以将 IP 列入白名单,以便与 AWS 负载均衡器后面的 EC2 实例进行入站通信?
这就是我的安全组入站规则的外观。
All traffic All All 123.201.54.223/32 Dev Security Rule
504 gateway timeout error
这意味着您的 LB 无法与所需实例通信,而您能够与 LB 通信。
All traffic All All 123.201.54.223/32 Dev Security Rule
这将仅允许来自您的 IP 的流量,而不允许来自负载均衡器 IP 的流量。
您无需在 EC2 的安全组中提及您的 IP,您必须允许来自 LB 的流量,即10.0.0.0/16
.
HTTP 504:网关超时
说明:指示负载均衡器已关闭连接 因为请求未在空闲超时期限内完成。
- 原因 1:应用程序需要比配置的响应时间更长的时间 空闲超时。
解决方案 1:监视HTTPCode_ELB_5XX和延迟指标。如果有 是这些指标的增加,可能是由于应用程序 在空闲超时期限内未响应。有关 超时的请求,在负载均衡器上启用访问日志 并查看日志中由 弹性负载平衡。如有必要,您可以增加容量 或增加配置的空闲超时,以便长时间操作 (如上传大文件(可以完成。欲了解更多信息, 请参阅为经典负载配置空闲连接超时 平衡器和如何排查弹性负载均衡高 延迟。
- 原因 2:已注册实例关闭与弹性负载的连接 平衡。
解决方案 2:在 EC2 实例上启用保持活动设置,然后使 确保保持活动状态超时大于空闲超时 负载均衡器的设置。
ts-elb-errorcodes-http504
安全组将不允许您使其在每台机器的基础上工作,仅通过 IP 和安全组,例如,如果您通过 IP 限制入口,则任何其他使用相同 IP 地址的计算机(通常在同一网络/接入点等(也将被允许进入,而不仅仅是您的计算机。
如果您使用的是负载均衡器,则负载均衡器应该可以通过其安全组访问您的实例,并且您通过 IP 的访问应该在负载均衡器的安全组中进行控制,因此您应该使用您在 LB 安全组上引用的设置(至少一开始! 不是您的实例安全组。
对于实例或实例组(即负载均衡器后面的实例(在其安全组中,您希望仅允许来自负载均衡器安全组的入口,无需设置 IP 地址入口(除非您要允许来自特定 IP 地址的 ssh 访问或希望它们与数据库实例通信(。