網路定價在雲端平台中到底如何運作?我該如何避免專門的定價攻擊?

網路定價在雲端平台中到底如何運作?我該如何避免專門的定價攻擊?

我對雲端平台基礎設施還很陌生。為了討論簡單起見,假設我討論的唯一兩個平台是 AWS 和 Google Cloud。

現在假設我有一個 HTTP 伺服器,主要透過線上遊戲的開放 API 處理 HTTP 回應。假設平均回應大小為 10KB,每天將發送約一百萬個回應。

根據我的理解,每月的價格取決於以 GB 為單位傳輸的資料量。現在我的問題是,如果有人編寫一個腳本不斷從我的伺服器反覆獲取回應,那麼價格就會飛漲。

我確信任何好的伺服器都會避免這個問題,但我不確定到底是如何避免這個問題的。根據我的觀察,許多現實生活中的大型線上遊戲 API 伺服器在回應大小僅為幾 KB 時並沒有優化其回應大小。一定有某種“每月固定付款或根據每秒傳輸的資料量付款「發生的事情並不取決於傳輸的資料量。

然而,我只是在平台網站上找不到此類選項的任何參考。

任何幫助,將不勝感激。

答案1

雲端服務為專為使用雲端服務而建置的專案提供了巨大的好處。如果我們談論的是應用程式/網站託管,那麼雲端定價模式適合企業,這些企業的主要收入來自使用所述應用程式/網站的用戶。

除非這是您的主要收入來源(在這種情況下您應該輕鬆地在原始網路流量和利潤之間進行轉換),否則雲端託管可能根本不適合您。

請記住,如果您的應用程式不是為雲端基礎設施(如上述遊戲伺服器)構建的,那麼與單一實例VPS/專用託管相比,您不會獲得任何優勢,除非您花了一些時間進行DevOps 工作。需要進行相同的 DevOps 工作來有效防止對您所描述的頻寬的攻擊。

由於這種攻擊已經有了名字 - 您可以透過搜尋“找到一些或多或少可行的建議”拒絕錢包

答案2

兩家雲端供應商都沒有以固定價格提供 XX 頻寬。定價基於消費。

您負責控制客戶端對您的資源的存取。

這意味著部署身份驗證或限製或其他技術,但您可以選擇如何部署以及使用哪些產品。

雲端服務就像蓋房子一樣。家得寶不會給你無限的釘子和木材。您購買建造房屋所需的物品。然後您購買燃料來為您的房屋供暖。

我從零開始就在雲端工作。在此之前,私有資料中心。您的擔憂是可能的,但在現實世界中,這種情況並不足以阻止我們大多數人在雲端中部署。為了消耗你的頻寬,我需要消耗我的可用網路頻寬。如果駭客想要拿下你,他們可以部署許多更痛苦的方法,這些方法對他們來說更便宜,而且更難以追蹤他們的位置。

答案3

在伺服器端,避免這種情況的方法是:

  • 要求對請求進行身份驗證。 IOW,讓你可以追蹤世界衛生組織正在進行此類攻擊,並將此類攻擊定為可禁止的犯罪行為。然後正確鎖定您的帳戶創建,以便在被禁止後不容易獲得新的憑證。
  • 實施速率限制。通常這是分多個階段完成的,通常對每個經過身份驗證的帳戶進行速率限制(因此任何用戶都有速率限制)、每個API 端點(因此計算成本高昂且不經常被調用的端點不容易被濫用於DoS 攻擊),並且可能是每個 IP 的總體。您應該出於其他原因這樣做(最明顯的是防止智慧 DoS 攻擊以及對遊戲邏輯進行基於時間的攻擊的可能性)。
  • 在協議中利用良好的壓縮。對於您指定的回應大小,Brotli 可能值得研究(或可能是 snappy 或 LZ4),它應該足夠快,可以滿足您的效能需求,但仍然可以減少回應大小幾 kB,並且在處理數百萬個資料時每個月的請求數,這節省的資料量相當可觀。

至於在其他地方減輕影響,這並不容易做到。像您所說的完整雲端供應商通常會提供一些最低限度的“免費套餐”,讓開發人員輕鬆進行實驗,而無需花費大量成本。例如,我認為對於 AWS,每月出站流量為 5GB(他們根本不對入站資料收費)。這是您在如此完整的雲端設定中所能達到的最接近的程度,以阻止您所說的使用,因為大多數用戶將受益於精確的使用量按比例分配,而不是「批量」購買。

如果您確實想要一大塊,請查看 AWS Lightsail。在那裡,您購買虛擬節點的一攬子交易,其中包括固定數量的 CPU、固定數量的 RAM 和整合儲存以及指定的網路使用上限。在計費週期中低於該上限的網路使用量不產生任何費用,而高於該上限的網路使用量則像在完整的雲端設定中一樣按比例分配。我不知道 GCP 是否有同等產品,但大多數 VPS 提供者(例如 Vultr、Linode 或 Digital Ocean)的主要產品都以相同的方式工作,如果您走這條路,我實際上建議您去看看那裡。這些網路上限通常在數 TB 範圍內,且標準是僅追蹤使用率較高的方向進行記帳。

相關內容