Bandwidth

跟踪導致 AWS RDS 使用異常高頻寬的原因

  • June 8, 2016

我們在 AWS 上託管了一個高流量(每天 10 萬次點擊)Drupal 新聞網站。它在 cloudflare 和 2 個負載平衡 Varnish 伺服器後面。出於某種原因,RDS 的頻寬使用率非常高。這是在 Elastic Cache 中的 memcache 中託管所有記憶體表之後。100% 的流量是匿名的。除了新的或更新的內容外,流量都是由清漆提供的。

但是 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 地址,那麼您需要為區域數據傳輸付費,因為流量會離開並重新進入 AWS。

仔細檢查您的應用程序是否存在不恰當地使用公共 IP 地址訪問後端組件的內容。

“區域數據傳輸 - 輸入/輸出/在 EC2 AZ 之間或使用 IP 或 ELB”項說明數據傳輸:

  • 在不使用私有 IP 的EC2 實例之間
  • 在不同可用區的EC2 實例之間
  • EC2 實例和 ELB之間

如果您的“區域數據傳輸 - 輸入/輸出/在 EC2 AZ 之間或使用 IP 或 ELB ”的成本為 151.48 美元,那麼這意味著在這 3 個項目中傳輸的數據總和為 15.148 TB。

因此,在同一可用區的 EC2 上傳輸數據時,**請始終使用私有 IP地址。**那可能是你的問題。

如果你想擺脫這個成本,你應該使用同一個可用區上的所有 EC2 實例,但我不建議這樣做。如果選定的可用區出現問題,您的服務可能會處於離線狀態。

您可以使用 AWS Billing and Cost Management 報告來了解哪些是該費用的最大貢獻者,只需將標籤添加到您的實例,然後在 AWS Billing and Cost Management 控制台中,創建關於 S3 儲存桶的報告。

引用自:https://serverfault.com/questions/743800