DEVOPS 運維開發系列八:高效管控網際網路頻寬和公網IP地址資源的新姿勢
事件背景
無論我們使用IDC資料中心、私有云或公有云,網際網路頻寬無疑都是我們會使用到的一類重要資源。一般來說,每段頻寬資源還會附帶提供若干公網IP地址資源,當然了“朱門(美國)酒肉臭,路有凍死骨”呀!咱們國內在使用公網IP時是按個算的,有錢人家是按段算的,曾見過有人在美國拉了一條網際網路寬頻,直接給了一個C段的地址。
既然咱自己的日子不富裕,就更需要把能用的資源儘量管好了,不能丟、不能忘,還得儘可能得複用(NAT埠轉發)!
當然了,另一個原因就是,當然我們的業務系統分佈在國內外十幾處或幾十處IDC或雲資料中心的時候,只能通過資訊化、自動化地技術手段,才能達到高效管理資源資訊、資源使用資訊的目的。
我們下面的就是一個高效管理和控制網際網路頻寬使用資訊,公網IP資源使用資訊,以及NAT埠轉發使用資訊的例子。
需求分析
網際網路頻寬顯然是和特定的一段公網IP資源有直接的關聯關係的。我們在歸納頻寬的管理需求和公網IP的管理需求時,很重要的一個方面就是要能充分得體現出頻寬資源和公網IP資源,甚至於公網IP資源與埠資源間的關聯關係。
網際網路頻寬管理
從實踐中我們歸納下一段網際網路頻寬,至少會包含以下相對重要的屬性資訊。
屬性設計:
- 名稱【點選後進入公網IP地址資源的列表頁】
- 運營商
- 電路編號
- 頻寬
- 所屬機房
- 閘道器
- 掩碼
- 起始IP
- 終止IP
- DNS
- 開通時間
- 狀態【使用中/已下線】
- 檢視維護日誌
- 備註
公網IP地址資源管理
雖然我們設計了公網IP地址資源這樣的一個數據表,但該表中資料將主要是由程式自動填充進來。如果有必要的話,管理人員可以手工維護一些備註說明資訊。在刪除一段頻寬記錄時,也會由後臺程式自動地把與之相關的公網IP地址記錄從該表中刪除。
公網IP地址屬性設計:
- IP地址【根據頻寬定義時的起止IP地址自動計算出】
- 所屬的網際網路頻寬【外鏈關鍵至頻寬表】
- 埠資訊【這不是一個屬性,只是要提供一個按鈕,點選後執行檢視該公網IP相關的NAT埠配置資訊列表】
- 狀態【使用中/空閒,根據獲取到的防火牆配置資訊做自動地識別和狀態展示】
- 備註
檢視變更日誌
一項資源的配置管理,很重要的一個方面就是資源的生命週期管理。我們希望任何時候都能掌握到這項資源是什麼時間建立、發生過哪些變更以及資源狀態的資訊,即便是資源的下線、銷燬的事件記錄,我們一樣需要保留下來備用。
因此,我們在設計網際網路頻寬管理需求時,為此設計了一個記錄配置變更事件的操作日誌的功能需求。
功能開發
庫表建模
BindWidth表,維護網際網路頻寬資訊
PublicIPAddress表,維護公網IP資源資訊
功能函式
簡單地講,就是需要為網際網路頻寬資料實現一套增、刪、改、查的功能。
在實現bindwidth_add()函式時,執行一個自動填寫公網IP資源表資料的子函式。同時通過呼叫SaltStack Api從使用這段頻寬的防火牆裝置配置資料中檢測出公網IP地址是否活躍的狀態。
WEB頁面展示
網際網路頻寬的列表頁
- 頻寬的增、刪、改操作都放在列表頁中;
- 點選某一段頻寬的名稱時,會開啟該段頻寬對應的公網IP資源列表頁面,如下圖所示;
檢視公網IP資源的列表頁
- 使用綠燈圖標表示當前IP地址的狀態為:使用中;相應的,灰色燈圖標表示該地址暫時沒有被使用;
- 點選“檢視埠”按鈕時,開啟檢視NAT埠配置資訊的列表頁,顯示某公網IP相關的NAT埠配置資訊,如下圖所示;
檢視NAT埠配置資訊的列表頁
檢視網際網路頻寬的配置變更日誌
在網際網路頻寬的列表頁中,我們點選某一個頻寬記錄的“變更日誌”按鈕,可以瀏覽該資源的一個完整生命週期內的變更事件記錄。
[完]