我对云平台基础设施很陌生。为了讨论简单起见,假设我讨论的仅有的两个平台是 AWS 和 Google Cloud。
现在假设我有一个 HTTP 服务器,主要通过在线游戏的开放 API 处理 HTTP 响应。假设平均响应大小为 10KB,每天将发送大约一百万个响应。
根据我的理解,每月价格取决于以 GB 为单位传输的数据量。现在我的问题是,如果有人编写了一个脚本,不断地从我的服务器获得响应,价格只会涨到天价。
我确信任何好的服务器都可以避免这个问题,但我不确定究竟是如何避免这个问题的。根据我的观察,许多现实生活中的大型在线游戏 API 服务器在响应大小只有几 KB 时并没有优化它们的响应大小。一定有某种“每月固定支付或基于每秒传输的数据量支付”的事情发生,它不依赖于传输的数据量。
但是,我只是在平台网站上找不到此类选项的任何参考。
任何帮助,将不胜感激。
云服务为专为使用它们而构建的项目提供了巨大的好处。如果我们谈论的是应用程序/网络托管,那么云定价模型适合企业,它们的主要收入来自使用所述应用程序/网站的用户。
除非这是您的主要收入来源(在这种情况下,您应该轻松地在原始网络流量和利润之间进行转换),否则云托管可能根本不适合您。
请记住,如果您的应用程序不是为云基础架构(如上述游戏服务器)构建的,那么您不会比单实例 VPS/专用托管有任何好处,除非您花一些时间进行 devops 工作。需要相同的 devops 工作来有效地防止对您描述的带宽的攻击。
由于这种攻击已经有了名字——你可以通过搜索“ Denial of Wallet ”找到一些或多或少可行的建议
两家云供应商都没有以固定价格提供 XX 带宽。定价是基于消费的。
您负责控制客户对您的资源的访问。
这意味着部署身份验证或限制或其他技术,但您可以选择如何以及使用什么产品。
云服务很像盖房子。家得宝不会给你无限的钉子和木材。您购买建造房屋所需的东西。然后,您购买燃料来为您的房屋供暖。
从零开始,我就一直在云端工作。在那之前的私人数据中心。您的担心是可能的,但在现实世界中,这并不足以阻止我们大多数人在云中部署。为了消耗你的带宽,我需要消耗我的可用网络带宽。如果黑客想要让你失望,他们可以部署许多更痛苦的方法,这些方法对他们来说更便宜,而且更难以追踪他们的位置/位置。
在服务器端,避免这种情况的方法是:
至于在其他地方减轻它,这并不容易做到。像您所谈论的那样,完整的云提供商通常会提供一些最低限度的“免费层”,让开发人员可以轻松地进行试验,而无需付出任何代价。例如,我认为 AWS 每月的出站流量为 5GB(他们根本不对入站数据收费)。正如您所说的那样,您可以在如此完整的云设置中阻止使用,因为大多数用户将受益于按比例分配的确切使用量,而不是购买“块”。
如果您真的想要一大块,请查看 AWS Lightsail。在那里,您购买了一个虚拟节点的一揽子交易,其中包括一些固定数量的 CPU、固定数量的 RAM 和集成存储,以及指定的网络使用上限。在一个计费周期中低于该上限的网络使用量不会产生任何费用,而高于该上限的网络使用量就像在完整的云设置中一样按比例分配。我不知道 GCP 是否有等价物,但大多数 VPS 提供商(例如 Vultr、Linode 或 Digital Ocean)的主要产品都以相同的方式工作,如果你走这条路,我实际上建议你去那里看看。这些的网络上限通常在数 TB 范围内,并且标准是只有使用率较高的方向才会被跟踪以进行记帐。