适用于 Fargate 任务的 AWS 网络负载均衡器,具有端到端加密

适用于 Fargate 任务的 AWS 网络负载均衡器,具有端到端加密

我们目前有一个 AWS Fargate 服务,在 AWS 应用程序负载均衡器后面运行 Nginx。在此之前,我们还使用 Cloudflare(因此在 ACM 中拥有 Cloudflare 原始证书)。由于 ALB 终止 SSL 连接,如果您不在 Nginx 中使用自签名证书并通过 443 而不是 80 转发流量,则 ALB 和 Fargate 容器之间的流量未加密。

由于我们希望实现端到端加密(我们不需要遵循任何特定的合规性,但感觉这像是一种好的做法,而 ALB<->Fargate 之间的流量未加密则是一种错误的做法)——那么使用网络负载均衡器并终止 Nginx 中的 SSL 连接不是更好吗?这还会减少一次 SSL 握手——这可能会导致(轻微的?)响应时间减少。

问题1:在这种情况下,使用网络负载均衡器而不是应用程序负载均衡器是否是更好的选择?

问题2:这样做我们是否错过了其他“特性”或功能?感觉 AWS 确实提倡使用 ALB 而不是 NLB。

谢谢

答案1

我认为这里不需要 NLB。

第一个选项

在 Fargate 容器中的 Nginx 上安装 https 证书 - 自签名或其他。您不能使用 AWS 证书管理器,因为 ACM 不会共享 Nginx 所需的私钥。

让 ALB 连接到 https 端口。只需创建一个目标组使用 https 协议。

第二种选择

鉴于您已经信任 AWS 来虚拟化您的计算和存储,如果您没有加密的合规性需求,那么信任他们提供虚拟网络是一个合理的决定。它也可能稍微快一点。

鉴于您在问题中所说的内容,这是我建议的选项。ALB 和容器之间的 https 没有实际好处。

相关内容