使用 Terraform 佈建專屬伺服器資源的工作流程
Terraform 可以令專屬伺服器的佈建流程更可重複,但工作流程必須反映實體基礎設施的限制。供應商可能會透過 API 建立伺服器、網絡、防火牆或儲存資源,但作業系統設定、硬件更換及資料復原,仍可能需要獨立程序。
生產環境設計應連接供應商能力、資源依賴、遠端狀態、密碼、審批、驗證、漂移處理及復原流程。先了解工作負載及權責,再按照團隊實際可以控制的資源建立 Terraform 模組。
界定佈建範圍
先列出 Terraform 應建立甚麼,以及哪些工作需要交由其他工具處理。內容可包括專屬伺服器、作業系統映像、磁碟、VLAN 或私有網絡、IP 位址、防火牆、DNS 記錄、監控、備份目標,以及首次啟動後的配置管理步驟。
- 選擇具備持續維護的 Schema,並由提供清晰生命週期支援的供應商提供所需專屬伺服器資源。採用方案前,應確認 API 是否支援建立、調整規格、重新安裝、刪除、分配 IP、修改防火牆及管理資料磁碟。
- 把基礎設施權責與應用程式配置分開。Terraform 可以建立伺服器及其網絡邊界;至於套件、服務、應用程式檔案及頻繁變更的客戶端設定,cloud-init、Ansible 或其他受支援的配置工具可能更合適。
專屬伺服器並不等同於可快速建立及銷毀的虛擬機。佈建可能需時較長,更換可能涉及容量及維護安排,而破壞性變更亦可能影響實體資源或已連接的資料。生產環境依賴伺服器前,應在程式碼及操作手冊中清楚寫明這些界線。 Dataplugs 的 不同行業的專屬伺服器基礎設施指南亦提供按工作負載及營運責任規劃基礎設施的補充資料。
提示:把 Terraform 視為聲明式基礎設施的真確來源,但不要把它當作完整營運及復原流程的替代品。
在首次套用前設計狀態及密碼管理
Terraform 狀態會記錄管理資源所需的關係及屬性,當中亦可能包含敏感資料。應使用具備加密、存取控制、狀態鎖定、版本記錄及復原流程的受支援遠端後端。對不應一同變更的環境或權責範圍,應分別管理其狀態。
- 不要把 API Token、私密金鑰、密碼或應用程式密碼放在變數、輸出、已提交檔案或指令歷史中。按供應商支援的方式處理密碼,並在適當情況下使用密碼管理服務;同時標記敏感值,避免它們在輸出中被隨意顯示。
- 限制可以讀取、修改及審批狀態的人員。即使 Terraform 程式碼沒有改變,能夠修改狀態或供應商憑證的人員,仍可能改動生產基礎設施。
對 SaaS 團隊而言,Dataplugs 的 SaaS 平台擴展指南同樣強調,基礎設施選擇應配合流量模式、部署方式及長期營運控制。
建立安全的計劃及套用流程
在批准套用前,於 CI 執行格式化、驗證、供應商檢查及 plan。檢視計劃中是否有資源替換、公開暴露、IP 改變、已連接磁碟操作,以及任何會被刪除或重新建立的資源。
- 為 Pull Request、計劃、審批及套用設置不同階段。供應商憑證及狀態存取應留在執行環境,而不是儲存庫內,並記錄誰批准了生產變更。
- 使用 plan 檔案或同等的審閱產物,確保實際套用的變更就是已批准的版本。針對公有 IP、開放防火牆連接埠、未加密儲存、不受支援的映像及缺少備份等情況,建立清晰的政策。
為保持可重複性,配置應具備冪等性。避免使用依賴特定 Shell 狀態或每次執行都回傳不同結果的 provisioner。如無法避免在佈建後執行指令,應清楚列出輸入、輸出、失敗處理方式及負責人。
把佈建連接至保安及營運
新伺服器投入生產前,應具備最小權限存取、受支援作業系統、修補責任、防火牆規則、監控、時間同步、備份覆蓋及事故升級途徑。在供應商支援的地方佈建這些控制,並在首次啟動後於作業系統內逐項驗證。
- 供應商及配置步驟應使用短期或權限有限的憑證。限制 SSH 或遠端管理存取,盡可能不要把管理連接埠暴露在公網,並記錄 Terraform 狀態及供應商帳戶的變更。
- 向營運團隊提供有用輸出,但避免輸出密碼。把伺服器 ID、位址、監控目標、備份政策及權責標籤連接至支援事故應對及復原的操作手冊。
Dataplugs 的 專屬伺服器支援企業 ERP 系統指南說明穩定基礎設施、整合及營運規劃應一併考慮;只有當供應商 API 與操作程序一併設計,Terraform 才能帶來可重複的控制。
測試完整生命週期
Terraform 成功執行 apply,並不代表伺服器已可投入生產。應在非生產環境或受控維護時段測試建立、首次啟動配置、DNS 及防火牆行為、監控註冊、備份執行、重啟、重新安裝、替換及復原。
- 保留一個具代表性的簡單工作負載作驗證。確認伺服器可透過預期的私有及公有路徑連接,服務會在重啟後正常啟動,已連接儲存可以正確掛載,並且團隊能在供應商操作中途失敗時完成復原。
- 記錄 Terraform 無法自動執行的步驟,包括容量申請、硬件更換、資料遷移、人工審批及供應商升級。操作手冊應列明哪個狀態是權威來源、如何暫停自動化,以及人工變更後如何重新協調結果。
總結
當設計從供應商能力及清晰權責出發,Terraform 便適合用於專屬伺服器佈建。使用模組標準化可重複資源,以遠端狀態協調變更,以安全執行環境保護憑證,再以計劃及政策令破壞性操作清楚可見。
Dataplugs 的 專屬伺服器為需要可預測資源及控制的工作負載提供穩定實體基礎。先整理伺服器生命週期及復原要求,再建立一套團隊能夠審閱、營運及修復的 Terraform 工作流程。
如需了解更多資料,請瀏覽 Dataplugs 網站或聯絡 sales@dataplugs.com。
