【问题标题】: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
相关资源
最近更新 更多