0

我一直被收取惊人的大量数据传输(从亚马逊到互联网)的费用。我查看了过去几个月的使用报告,发现数据传出来自Internet和我的应用程序的多个节点(内部 IP)之间的应用程序负载均衡器 (ALB )。还注意到 DataTransfer-Out-Bytes 与同一负载均衡器中的 DataTransfer-In-Bytes 非常接近,这很奇怪(巧合?)。我期望对每个请求的响应都比请求本身小得多。因此,我在 ALB 中启用了流日志几分钟,发现以下内容:

  • 来自 Internet(公共 IP)的请求进入 ALB = ~0.47 GB
  • 从 ALB 到同一可用区中的应用程序服务器的请求 = ~0.47 GB - ALB 只是将请求传递到应用程序服务器,正如预期的那样。因此,大约相同数量的流量。
  • 来自应用程序服务器的响应返回到同一个 ALB = ~0.04 GB – 正如预期的那样,响应产生的返回 ALB 的流量要少得多。通常一个 1K 的请求会得到一个简单的“HTTP 200 OK”响应。
  • ALB 对外部 IP 地址的响应 => ~0.43 GB——这令人兴奋。我期待 ~0.04GB,与从应用程序服务器收到的相同数量。

不幸的是,ALB 不允许我使用数据包嗅探器(例如 tcpdump)来查看数据包的实际进出。有什么我想念的吗?任何帮助都感激不尽。提前致谢!

里卡多。

4

1 回答 1

0

我相信您调查的下一步将是启用 ALB 访问日志,并查看您是否可以将 ALB 访问日志中的“sent_bytes”与您的流日志或账单相关联。

有关 ALB 访问日志的信息,请参阅:https ://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html

分析 ALB 访问日志的方法不止一种,但我一直很乐意使用 Athena,请参阅:https ://aws.amazon.com/premiumsupport/knowledge-center/athena-analyze-access-logs /

于 2020-03-29T05:52:58.920 回答