AWS - Fargate 任务的私有静态 IP 地址

AWS - Private static IP address for Fargate task

我有以下情况。我在 AWS 上有一个 VPC。在这个 VPC 中,我有一个 ECS Fargate 集群,其中包含多个不同的任务 运行。此外,我在该集群中为我的一位合作伙伴设置了 Site-to-Site VPN。

现在,该合作伙伴必须向我的 Fargate 任务之一发送 HTTP POST(实际上是 SOAP)请求。这应该只能通过 VPN 才能实现,因此任务不能面向 public。由于某些我无法控制的原因,这个合作伙伴需要一个必须向其发送请求的静态 IP,因此 ALB 不是一个选项。所以我需要一种方法来为 Fargate 任务分配私有(VPC 内)静态 IP。

我尝试使用 NLB 实现它,但不确定我是否可以向 NLB 发送 HTTP 请求,因为它是 L4 与 L7。现在我唯一的选择似乎是带有 NGINX 的 EC2 实例,它将简单地将所有请求转发到任务的 ALB。我不喜欢这个选项,因为我对 NGINX 配置经验不多。

您认为我还有其他选择可以实现我的需求吗?

提前致谢

I've tried to achieve it with NLB, but not sure if I can send HTTP requests to NLB since it's L4 vs L7.

NLB 是 L3。但是当然 您可以将它用于 HTTP 或 HTTPS。唯一的区别是您将无法设置 http 类型的侦听器规则,因为 NLB 用于 TCP/UDP。但它不会阻止您使用它在您的 fargate 任务之间分配 HTTP/HTTPS 流量。