多地部署輕松搞定:借助Linode VLAN快速實現(xiàn)多區(qū)域部署
VLAN和VPC是一種網(wǎng)絡隔離方法,我們可以借此保護自己部署在公有云中的基礎設施。通過減少網(wǎng)絡的攻擊面,同時供我們對需要以及不需要訪問互聯(lián)網(wǎng)的應用程序層進行分割,這些方法有助于提高整體安全性。那么不妨考慮一個更大的話題:是否能在Linode的幫助下,實現(xiàn)私有網(wǎng)絡的跨地域部署。
這里所說的“地域”(Region)是指一個云服務提供商內部所包含的不同地理位置,而“區(qū)域”(Zone)通常是指在一個地域內所提供的多個托管地點。例如,云服務商可能在北京設立了“北方地域”,并在廣州設立了“南方地域”,每個地域都是通過當?shù)氐亩鄠€“區(qū)域”提供服務的。
除了可以通過距離大部分用戶更近的地理位置提供延遲更低的服務,多地域方式部署的應用程序還可以幫助我們大幅提高應用程序的可靠性與容錯性。任何可能對一個位置運行的工作負載造成影響的問題(包括硬件故障或本地網(wǎng)絡中斷),都可通過將用戶重新路由到另一個位置的方式加以緩解。
延伸閱讀,了解Akamai cloud-computing
部署多地域 VLAN
為了在多地域部署的不同 VLAN 分段之間進行路由,我們可以使用虛擬專用網(wǎng)絡(VPN)將 VLAN 網(wǎng)段捆綁在一起。
首先,我們需要使用一個充當公共路由器的 Linode 節(jié)點將部署在一個地域的所有相關 VLAN 捆綁在一起。此時,每個 VLAN 網(wǎng)段都是獨立且隔離的二層域,在自己的第三層子網(wǎng)內運行。各個 VLAN 網(wǎng)段之間的所有流量都會流經(jīng)該路由器,我們可以在路由器上通過防火墻規(guī)則來管理允許哪些流量在不同網(wǎng)段之間穿越。
隨后可以配置這個路由器實例,借助公共互聯(lián)網(wǎng)和 VPN 軟件(如 WireGuard 或 IPSec 等協(xié)議)將其他網(wǎng)段之間的流量橋接在一起。
上述例子展示了一個包含兩個地域的部署。每個地域負責通過一個路由器實例管理兩個獨立 VLAN 之間的連接,隨后,每個路由器即可使用配置有多個接口的 Linode 路由器實例在本地橋接多個地域。路由器可通過 WireGuard 隧道,借助每個地域的公共互聯(lián)網(wǎng)橫跨每個地域。
配置 NAT 出口點
至此,流量已經(jīng)可以不受地域限制在任何 VLAN 之間流動。此外,路由器實例可以充當網(wǎng)絡地址轉換(NAT)出口點,為本地 VLAN 提供互聯(lián)網(wǎng)連接(如果部署路由器實例時未提供本地互聯(lián)網(wǎng)連接)。這種配置下,本地路由器實例將被指定為默認網(wǎng)關(例如通常會在 10.0.0.0/24 網(wǎng)絡中配置為 10.0.0.1)。我們還可以將路由器實例當作安全套接字外殼(SSH)的管理堡壘機。
實現(xiàn)這類 NAT 配置的一種常見方法是使用防火墻規(guī)則來標記 WireGuard 流量,并對檢測出的未包含該標記的所有流量進行 IP 掩蔽(IP masquerading)。
例如,路由器可配置為使用如下的 iptables 規(guī)則:
iptables -t nat -A POSTROUTING -o eth0 -m mark ! --mark 42 -j MASQUERADE
我們可以配置 WireGuard 在其配置中使用 FirewallMark(如 “42”),該配置保證了不對 WireGuard 流量進行 NAT,但對所有 VLAN 流量進行 NAT。
隨后即可配置云防火墻規(guī)則允許路由節(jié)點之間的 WireGuard 通信(通常為 udp/51820)。
最后,如果需要,我們還可以使用防火墻規(guī)則配置路由器實例,從而控制或記錄流經(jīng)本地和全局網(wǎng)段的流量。
注意事項
上述例子中的部署可用于在全球范圍內跨越多個地域實現(xiàn)共享,并借助路由器實例控制不同 VLAN 網(wǎng)段之間的流量。在通過隧道將多個 VLAN 網(wǎng)段的流量傳輸至一個聚合點時,務必要了解這樣做可能對性能和帶寬產(chǎn)生的影響。此時可獲得的性能主要取決于分配給路由器的計算資源所具備的上行帶寬。
此外在確定要使用的 VPN 協(xié)議時也需要慎重,這樣才能保證滿足部署的特定要求。所選擇的技術將對點對點帶寬以及通過公共互聯(lián)網(wǎng)所發(fā)出的流量的安全性產(chǎn)生極大影響。例如,WireGuard 會使用 Cryptography 來保證流量不被攔截,相比諸如 strongSwan 這種 IPSec 實現(xiàn),可以更好地減少漏洞和暴露,可信度更高。
多云部署
用來跨越多個地域的這種技術還可用于跨越多個云平臺。例如,我們可以在另一個云平臺的網(wǎng)絡邊界內部署一個路由器實例,并將其綁定到該實例本地且由云提供商提供的 VPC 中。我們可以在路由器之間通過 WireGuard 隧道將不同云提供商的網(wǎng)絡橋接在一起,這種做法對于專門在私有網(wǎng)絡中保持隔離的服務往往能起到很好的效果。
總結
最終,在設計自己的私有網(wǎng)絡時,有很多工具可供我們使用,這樣做的收益往往超過了所帶來的復雜性。如果應用程序和用戶數(shù)都在快速增長,妥善設計的環(huán)境將有助于降低大部分用戶可能遇到的延遲,從而極大改善用戶體驗。另外,額外的容錯能力也有助于改善服務的可靠性,并改善服務的可用性和可訪問性。
這篇文章的內容感覺還行吧?有沒有想要立即在 Linode 平臺上親自嘗試一下?別忘了,現(xiàn)在注冊可以免費獲得價值 100 美元的使用額度,快點自己動手體驗本文介紹的功能和服務吧↓↓↓
出海云服務,選擇Akamai Linode!
歡迎關注Akamai ,第一時間了解高可用的MySQL/MariaDB參考架構,以及豐富的應用程序示例。