【问题标题】:ECS with ALB makes requests to itself but times out?带 ALB 的 ECS 向自身发出请求但超时?
【发布时间】:2020-07-29 18:36:20
【问题描述】:

我有一个在 ECS 中运行的 PHP + Apache 应用程序,前面有一个应用程序负载平衡。一切正常,除非应用程序向自身发出请求并且请求超时。

假设到达应用程序的 URL 是 www.app.com,在 PHP 中我使用 Guzzle 向 www.app.com 发送请求,但该请求总是会超时。

我怀疑这是 ALB 的网络问题,但我不知道如何解决它。有什么帮助吗?

谢谢。

【问题讨论】:

    标签: amazon-web-services amazon-ecs aws-application-load-balancer


    【解决方案1】:

    当您使用 ECS 时,我建议您使用服务网格替换对公共负载均衡器的调用,以允许您的应用程序将所有 HTTP(S) 流量保留在网络内部。这将提高安全性和性能(减少延迟)。 AWS 有一个与 ECS 集成的现有产品,以支持此功能,名为 App Mesh/

    或者,如果您想坚持当前的设置,则需要检查以下功能:

    • 如果主机是 ECS 主机是私有的,那么它们将需要使用路由表中的 NAT 网关/NAT 实例为0.0.0.0/0 路由连接出站。对于 Fargate,这取决于容器是公共的还是私有的。
    • 如果主机/容器是公共的,则需要将 Internet 网关添加到其路由表中以用于 0.0.0.0/0 路由。即使从 ALB 到主机的入站访问是私有的,主机也会始终通过 Internet 网关向 Internet 进行出站访问。
    • 确保入站/出站安全组允许访问 HTTP 或 HTTPS

    【讨论】:

    • 主机位于公共子网中,因此所有出站流量都通过其互联网网关路由。安全组出站规则对所有流量开放,而入站仅对负载均衡器开放。我不确定为什么需要为入站打开 HTTP(S)。谢谢。
    猜你喜欢
    • 2018-09-06
    • 2019-10-16
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    • 2022-01-04
    • 2021-08-25
    • 1970-01-01
    相关资源
    最近更新 更多