首页 > 解决方案 > 带有traefik的ec2-instance前面的aws WAF

问题描述

我目前在 ec2-instance(aws) 上运行我的微服务,前面有 traefik/letencrypt。"WebBrowser" -> Internet -> (EC2 with traefik) 一切都很好。现在我想使用 AWS-WAF。但是,要使用这个 WAF 服务,我必须在我的 ec2-instance 和 WAF 服务之间插入一个应用程序负载均衡器。

"WebBrowser" -> Internet -> WAF -> ALB -> (EC2 with traefik)

第一个问题:这种方法看起来可行吗?第二个问题:有没有人有这方面的实践经验?目前,我尝试使用 terraform 构建 ALB 并收到一个错误,即至少“必须指定两个不同可用区中的两个子网”...

根据 aws 文档(https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html),这似乎是有意的:

“使用 Application Load Balancer,我们要求您启用多个可用区。”

嗯,我目前只有一台 ec2 机器来提供我所有的服务......

也许有人已经这样做了,并且可以为我指明正确的方向。

托马斯

标签: amazon-web-servicesamazon-ec2terraformtraefikamazon-alb

解决方案


"WebBrowser" -> Internet -> WAF -> ALB -> (EC2 with traefik)

当你打算使用 ALB 时,我认为你不需要traefik/letencrypt,因为 ALB 提供了 taefik 所做的大约所有功能。您可以将AWS 证书与 ALB 一起使用,并且完全免费。

您应该终止 TLS 流量并将纯 HTTP 流量发送到实例,因为加密/解密是CPU 密集型任务

“使用 Application Load Balancer,我们要求您启用多个可用区。”

是的,您应该为您的 LB 提供两个可用区,不要将它与一个实例混合使用。

我目前只有一台具有所有服务的 ec2 机器

如果您有一个实例也没关系,您需要为 ALB 指定的区域而不是实例本身。


推荐阅读