amazon-web-services - 带有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 机器来提供我所有的服务......
也许有人已经这样做了,并且可以为我指明正确的方向。
托马斯
解决方案
"WebBrowser" -> Internet -> WAF -> ALB -> (EC2 with traefik)
当你打算使用 ALB 时,我认为你不需要traefik/letencrypt
,因为 ALB 提供了 taefik 所做的大约所有功能。您可以将AWS 证书与 ALB 一起使用,并且完全免费。
您应该终止 TLS 流量并将纯 HTTP 流量发送到实例,因为加密/解密是CPU 密集型任务。
“使用 Application Load Balancer,我们要求您启用多个可用区。”
是的,您应该为您的 LB 提供两个可用区,不要将它与一个实例混合使用。
我目前只有一台具有所有服务的 ec2 机器
如果您有一个实例也没关系,您需要为 ALB 指定的区域而不是实例本身。
推荐阅读
- c# - Cloudwatch 使用 Nlog 从 Lambda 进行日志记录,创建只读文件系统 Exceptionns
- angular - 如何在 ngx-bootstrap datepicker 上更改月份时触发事件?
- c# - Blazor 服务器端:订阅事件
- mongodb - 我如何将对象推送到 mongodb 中的这个嵌套文件
- python - Seaborn:绘制两个条形图和两个折线图
- python - 如何在保持出现顺序相同的情况下获得熊猫系列的独特价值
- apache-spark - Spark 在尝试从 Oracle 表读取数据并将数据写入 HDFS 时仅运行一个执行程序
- openssl - 来自 PRIVATE KEY 的 Genearte ENCRYPTED PRIVATE KEY
- haskell - 在 Windows 上安装 hsdev 以使用 SublimeHaskell 和 SublimeText 时遇到问题
- python-3.x - Python打印每一种可能性的setences