AWS Global Accelerator 全球加速器
2019/01/24 Chenxin
參考資料
https://docs.aws.amazon.com/zh_cn/global-accelerator/latest/dg/what-is-global-accelerator.html
https://amazonaws-china.com/cn/blogs/china/new-aws-global-accelerator-for-availability-and-performance/
功能 - https://aws.amazon.com/cn/global-accelerator/features/
常見問題 https://aws.amazon.com/cn/global-accelerator/faqs/
雲全球服務基礎設施區域列表 https://aws.amazon.com/cn/about-aws/global-infrastructure/regional-product-services/
AGA for Availability and Performance https://aws.amazon.com/tw/blogs/aws/new-aws-global-accelerator-for-availability-and-performance/
初步介紹
該服務為AWS在2019年初新服務.
典型應用場景
全球分布式服務部署,各地通過1個加速器,自動分配命中到當地的服務終端.客戶端通過當地的AWS POP點連接當地的服務終端.
從POP點,到自己的服務終端的網絡,是經過AWS優化過的.
網絡圖形類似
核心為Global Accelerator調度,內層為AWS骨干網.
中間層為我們自建的服務所在的各個region.
外層為AWS在各個國家和地區的自有POP點.
客戶端通過POP點接入AWS.通過Global Accelerator分配的2個靜態IP(任播IP)(分別為主備),連接我們的自建服務.
任播IP,類似多個服務器多個地址,共用1個IP的概念.
具有一部分防DDOS的功能.
拓展了ELB(ALB)負載均衡器的功能.ELB只能在一個region內創建.而加速器可以配合ELB,達到全球部署,跟進地理位置進行訪問的目的.
AWS Global Accelerator 簡介
創建
控制台創建比較簡單,按步驟就可以.
添加加速器 ->
添加偵聽器(端口,TCP,保留IP) ->
添加終端節點組(服務所在region,處理請求權重) ->
添加終端節點(NLB/EIP,資源ID,權重)
原理
AWS 通過AnyCast IP(任播)方式,實現的一種類似阿里雲的高速通道的網絡服務.叫做全球加速器.
申請Global Accelerator會分配2個EIP(就是AnyCast IP).客戶端通過AnyCast IP來將客戶端請求路由到最近的一個AWS POP點,再走aws骨干,到達服務提供者.
流量通過邊緣站點(很多個POP點協調一起計算得出)公布的兩個 Anycast IP 地址,從我們的客戶端發送到最近的邊緣站點。我們的請求通過 AWS 全球網絡路由到 Accelerator,而 Accelerator 選擇最近的運行狀況良好的終端節點組。
AWS Global Accelerator 支持 TCP 和 UDP 兩個協議,對目標終端節點進行運行狀況檢查,並將流量從運行狀況不佳的應用程序中路由選擇分離出來。
靜態 Anycast IP.Global Accelerator 使用靜態 IP 作為進入到您托管服務的固定入口點。
這些 IP 地址是來自 AWS 邊緣站點的 Anycast,這意味着這些 IP 地址是從多個 AWS 邊緣站點宣布的,進而使流量能夠以盡可能接近您用戶的方式進入 AWS 骨干。
舉例
假設有5個gateway服務,分別位於不同的大洲.開放端口為9989.放置在Global Accelerator的一個業務組內.
越南玩家通過某種方式獲取到gateway的AnyCast IP.
越南玩家訪問該AnyCast IP.訪問請求到達越南當地路由器,該路由器查看為AnyCast IP,則使用AnyCast IP對應的條目(AnyCast IP的BGP路由條目里有多個目的IP)選擇最優的一個IP,然后將流量發給越南當地的AWS POP節點,該節點再將流量通過AWS骨干網轉發到位於北美的1個gateway服務器上(或者是ELB上).
gateway獲取請求並響應,再原路返回響應信息(因為配置的Global Accelerator的組里,節點流量選擇的是保留源IP方式).
其實戰斗服也可以使用加速器.分別給每個戰斗服創建1個加速器就可以了.
問題
GlobalAccelerator只在俄勒岡提供是吧?
目前 AWS Global Accelerator 支持的終端節點區域為亞太區域(新加坡)、亞太區域(東京)、歐洲(愛爾蘭)、歐洲(法蘭克福)、美國東部(弗吉尼亞北部)、美國東部(俄亥俄州)、美國西部(俄勒岡)、美國西部(加利福尼亞北部),雖然在創建加速器時頁面會顯示在美國西部(俄勒岡),但訪問時會從最靠近終端用戶的邊緣站點獲取流量經過 AWS 全球網絡來到達您的資源
假設我們的越南用戶連接這2個aws骨干IP的時候,后端對應的服務器在新加坡.那么越南用戶的流量是走的aws優化好的路由(aws內部路由),還是也從公網走的路由到新加坡服務器?
取決於越南當地是否有aws POP點.由於 AWS Global Accelerator 具有任播靜態 IP 地址的特性,能讓用戶有較好的網絡體驗,因此不會發生如您所述在越南的用戶先走公網絡由再連接到新加坡服務器的情形。
AWS Global Accelerator 與 Amazon CloudFront 有何不同?
CloudFront 可用作您的源的 HTTP 緩存和 HTTP 代理。它在 DNS 名稱后面使用一組不斷變化的 IP 地址。AWS Global Accelerator 可以通過 TCP 或 UDP 運行各種不同的應用程序,通過靜態 IP 地址跨全球多個終端節點分配流量。
收費,1個加速器無流量訪問的情況下,大約每月18美元
BGP AnyCast IP
ip anycast(ip任播) 本身就是多個主機使用同一個IP地址(該地址即這一組主機的共享單播地址)的一種技術,當發送方發送報文給這個共享單播地址時,報文會根據路由協議路由到這一組主機中離發送方最近的一台.
也就是說,客戶端拿到這個anycast IP后,訪問它.而這個anycast IP事前已經廣播到這個路由器,這個IP后端的多個組記錄(1組IP)也一並廣播到各個路由器.路由器根據離自己最近的組里的一個IP進行路由.達到就進訪問的目的.
具備防DDoS的功能 邊緣富有彈性
默認情況下,AWS Global Accelerator 受 AWS Shield Standard 保護,后者通過使用始終可用的網絡流量監控和自動化內聯在線最大限度減少應用程序停機時間和拒絕服務供給的延遲。您還可以啟用 AWS Shield Advanced 來自動進行資源特定的增強監測和緩解,並能夠獲得 AWS DDoS 響應團隊 (DRT) 的全天候服務,以手動緩解復雜的 DoS 攻擊。同時,AWS Shield Advanced 還能讓您全面了解 DDoS 攻擊及適用於擴展的 DDoS 費用保護。這將確保在邊緣站點為您的應用程序提供可擴展、可靠且經濟高效的 DDoS 保護。