跟踪是什么导致AWS RDS使用疯狂的高带宽

我们在AWS上运行的stream量很高(每天10万次)Drupal新闻网站。 它在cloudflare&2 Load Balanced Varnish服务器后面。 由于某些原因,RDS的带宽使用率非常高。 这是将Elastic Cache中的caching表中的所有caching表托pipe在内存caching中之后。 100%的stream量是匿名的。 除了新的或更新的内容,stream量从清漆供应。

但RDS带宽仍然很高。 比如到本月18号,使用量已经是15TB +。 这个成本正在杀死整个网站。

我们怎样才能检测到什么是吃东西的所有带宽? 我们如何去找出根本原因?

查看我们的结算页面上的详细信息:

Bandwidth $0.000 per GB - data transfer in per month - 4.808 GB - $0.00 $0.000 per GB - first 1 GB of data transferred out per month - 1 GB - $0.00 $0.010 per GB - regional data transfer - in/out/between EC2 AZs or using IPs or ELB - 15,147.744 GB - $151.48 $0.120 per GB - up to 10 TB / month data transfer out - 20.759 GB - $2.49 Total: $153.97 Region Total: $154.04 

您应该始终使用私有 IP地址在各种基础架构组件(RDS,ElastiCache等)之间进行通信。 如果您使用公共 IP地址,则您将收取地区数据传输费用,因为stream量会离开并重新进入AWS。

仔细检查您的应用程序是否使用公共IP地址不正确地访问后端组件。

“区域数据传输 – 进出/在EC2之间或使用IP或ELB”帐户进行数据传输:

  • 不使用专用IP的 EC2实例之间
  • 不同可用区域的 EC2实例之间
  • 在EC2实例和ELB之间

如果“ 区域数据传输 – input/输出/ EC2 AZ之间或使用IP或ELB ”的成本是151.48美元,那么这意味着这3个数据传输的总数是15.148 TB。

因此,在同一个可用区域上传输EC2上的数据时,请始终使用专用IP地址。 这可能是你的问题。

如果你想摆脱这个代价,你应该在同一个可用区域使用所有的EC2实例 ,但我不推荐。 如果选定的可用性区域发生问题,您的服务可能会脱机。

您可以使用AWS账单和成本pipe理报告来了解哪些是最大的贡献者,只需将标签添加到您的实例以及AWS账单和成本pipe理控制台中, 在S3存储桶上创build报告。