大量 AWS 区域数据传输成本;ELB 的罪魁祸首?

Gra*_*ham 4 load-balancing amazon-ec2

最近,我处理的一个 AWS 账户的区域数据传输成本大幅增加。检查使用情况/帐单详细信息显示,这归因于正在处理的“ELB 数据”和“区域数据传输”的增加。

所有实例都在同一个可用区中,所以问题一定是负载均衡器。有 2 个 ELB 用于面向互联网的流量,2 个 ELB 用于内部流量,但是查看控制台,我可以看到所有 4 个都是经典 ELB,与 EC2-Classic 内部的实例而不是 VPC 进行通信。

因此,2 个“内部”ELB 由 DNS 名称以 形式引用ELB-Name-loadbalancer-xxxxxxx.eu-west-1.elb.amazonaws.com,而不是Internal-loadbalancer-xxxxxxx.eu-west-1.elb.amazonaws.com使用内部 ELB 创建的名称。

大概这些 DNS 记录解析为公共 IP,因此会产生数据传输成本?如果是这种情况,理论上 TTL 的变化可能会导致我看到的成本变化。

任何人都可以确认这是正确的还是我弄错了(如果是这样,我还能做些什么来帮助追踪问题)?

编辑:这是我所看到的图表:

在此处输入图片说明

虽然数据输入/输出持平,但 ELB 数据和区域传输正在疯狂增加。有趣的是,ELB 数据大约占区域数据传输的一半,所以我认为这与我的猜测有关,即 ELB 流量正在被收费进/出。不幸的是,我不知道是什么导致了 ELB 数据本身的实际增加。

Gai*_*aia 7

你的怀疑是正确的。

如果您使用公共或弹性 IP 地址在同一区域的实例之间进行通信,则您需要支付区域数据传输费(每 GB 输入/输出 0.01 美元):

公共和弹性 IP 以及弹性负载平衡数据传输

每 GB 输入/输出 0.01 USD – 如果您选择使用 Amazon EC2 网络内的公共或弹性 IP 地址或弹性负载均衡器进行通信,即使实例位于同一可用区中,您也需要支付区域数据传输费率。对于同一可用区内的数据传输,您可以通过尽可能使用您的私有 IP 轻松避免此费用(并获得更好的网络性能)。

EC2 常见问题解答中所述:如果我使用公共 IP 地址在可用区之间传输数据,我是否需要为区域数据传输支付两次费用(一次是因为跨区域,第二次是因为我使用的是公共 IP 地址)?。

解决方案是始终“当你在亚马逊EC2实例[这]确保您的网络流量遵循最高的带宽,最低的成本,并通过我们的网络延迟最低的路径之间的通信使用内部地址”。