【问题标题】:AWS EC2 Elastic IPs bandwidth usage and chargesAWS EC2 弹性 IP 带宽使用情况和费用
【发布时间】:2012-04-20 13:07:06
【问题描述】:

我对弹性 IP 及其收费有一些疑问。一些博客说弹性 IP 会按你使用的带宽向你收费

弹性 IP 地址按带宽收费并按小时收费 当它们未附加到正在运行的实例时

http://things.zarate.org/scaling-a-single-ec2-instance-and-downsizing

根据我在阅读了一些博客和文档后的理解,只有如果您使用弹性 IP 在实例之间进行通信时,您才会被收费> 如果您有弹性 IP 在您的帐户上闲置而未与您的实例关联

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

http://www.cloudiquity.com/2009/02/using-amazon-ec2-public-ip-address-inside-ec2-network/

查看 AWS 计算器截图 -> http://shareimage.org/images/lzjj3eull2ux0lo663fr.png

所以我的困惑在于 AWS 是否对使用弹性 IP 的任何类型流量请求(使用我的浏览器、SSH)收费?

因此,例如:我使用弹性 IP(例如 8.8.8.8)而不是像 ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws 那样给出的公共 dns 名称 ssh 到我的实例。 com,此带宽将注册为简单带宽输入/输出使用还是公共/弹性 IP 带宽?

谢谢

【问题讨论】:

标签: amazon-web-services amazon-ec2 amazon bandwidth


【解决方案1】:

您应该将数据传输费用问题与弹性 IP 地址费用一分离,只要它们完全相互独立:

弹性 IP 地址

为每个实例分配和使用一个Elastic IP addresses 基本上是免费的,除了如果弹性IP地址当前没有与实例关联,请参阅弹性部分IP 地址 在页面Amazon EC2 Pricing:

  • 与正在运行的实例关联的一个弹性 IP 地址 0.00 美元
  • 每个与正在运行的实例相关联的额外弹性 IP 地址按比例每小时 0.005 美元
  • 每个弹性 IP 地址 0.005 美元,不与每小时运行的实例相关联,按比例计算
  • 每月前 100 次重新映射,每个弹性 IP 地址重新映射 0.00 美元
  • 每个弹性 IP 地址重映射 0.10 美元,每月额外重映射超过 100 个

    [强调我的]

相应的常见问题解答Why am I charged when my Elastic IP address is not associated with an instance? 中解释了这种方法背后的基本原理:

为了帮助确保我们的客户有效地使用弹性 IP 地址,当每个地址未与正在运行的实例关联时,我们会按小时收取少量费用。

数据传输

同样,关键方面在Amazon EC2 Pricing 页上的数据传输部分中进行了解释(并由一些常见问题解答详细说明):

您主要为互联网数据传输付费,即从 Amazon EC2“传入”和“传出”的数据,具体不包括以下内容:

Amazon EC2 和其他 Amazon 之间不收取数据传输费用 同一区域内的 Web 服务(即 Amazon EC2 美国西部之间 和美国西部的 Amazon S3)。在 Amazon EC2 之间传输的数据 位于同一区域内不同可用区的实例 将收取区域数据传输费用。 AWS 之间传输的数据 不同地区的服务将按互联网数据收费 传输双方传输。

警告

需要注意的重要警告确实在该声明下方:

公共和弹性 IP 以及 Elastic Load Balancing 数据传输

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

补救措施

上述段落中没有提到的是 AWS DNS 基础设施的一个重要且非常有用的功能,请参阅Public IP Addresses and External DNS Hostnames

我们为每个具有公共 IP 地址的实例提供外部 DNS 主机名。我们将外部 DNS 主机名解析为公共 IP 实例网络外的实例地址,以及 实例的私有 IP 地址,来自 实例。

也就是说,当您在 Amazon EC2 网络中使用它时,它会将公共 DNS(例如 ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com)解析为 私有 IP 地址,并解析到 公共或弹性 IP在 Amazon EC2 网络之外使用它时的地址。就像这样,您可以自动获得免费的可用区数据传输和降低费用的区域数据传输,例如他们正在积极应用他们的建议:当您在 Amazon EC2 实例之间进行通信时始终使用内部地址 [这] 可确保您的网络流量遵循通过我们网络的最高带宽、最低成本和最低延迟路径。

如果您直接使用 IP 地址(即没有 DNS),这显然是行不通的,因此在 EC2 的上下文中通常最好避免这种情况和其他原因。

【讨论】:

  • @Steffen Opel,否则答案很好,但有一件事尚不清楚。公共 DNS 名称规则是否也适用于 EIP?即,是否可以为给定的 EIP 生成 DNS 名称并使用它与内部实例通信?什么时候亚马逊会自动将 EIP DNS 解析为 EIP 进而解析为内部 IP,从而节省互联网传输成本?或者是使用 EC2 实例本身的 DNS 而不是基于 EIP 生成的唯一选项?
  • @DevKanchen - 非常好,但确实有一个不幸的答案:在您分配 EIP 的那一刻,公共 DNS 名称就消失了,没有被替换;这可能/应该至少是亚马逊自己的Route 53 DNS 管理的一个功能,但我也在使用它,它目前不提供此功能。猜想归结为您开始使用 AWS(尤其包括 Route 53)的次数越多,对 EIP 的依赖就越少,例如 Auto Scaling 和 EC2 现货实例;这当然是他们应该支持的功能。
  • 对,所以 EIP 不是我所希望的灵丹妙药 :) 感谢您提供的信息。
  • @DevKanchen - 我需要回忆一下我之前的评论(让我自己对 Amazon Virtual Private Cloud (VPC) 中的不同行为感到困惑):Associating an Elastic IP Address (EIP) with a regular (即非 VPC)EC2 实例确实按预期更新公共 DNS 名称(即与没有 EIP 的模式类似),并且此公共 DNS 名称确实正确解析为在 EC2 内部查询时的内部 IP 地址!很抱歉在这里误导了你,希望你现在有灵丹妙药:)
  • 作为提示;您可以通过发出以下命令轻松测试同一区域/az 内的节点之间的连接是否使用私有 IP 地址:sudo netstat -ntap | grep ESTABLISHED -p 选项可以很容易地找到有问题的进程。 aws 控制台同时列出了 pulib ip 和私有 ip。
猜你喜欢
  • 2011-10-08
  • 2016-10-16
  • 1970-01-01
  • 2011-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-18
  • 2013-12-25
相关资源
最近更新 更多