Elastic Cloud Enterprise Deployment
本文將介紹首次安裝使用 Elastic Cloud Enterprise (ECE) 的體驗心得,以及如何透過 ECE 管理主控台介面 (Cloud UI 操作) 和部屬樣板 (Deployment Templates) 進行高效的 Elastic Cloud Enterprise 部署。
Elastic Cloud Enterprise 是企業級的 Elastic Stack 版本,它提供了統一的介面來管理、規範和監控不同架構下的 Elasticsearch 和 Kibana 服務。其部署彈性高,支援實體機、虛擬機、私有雲和公有雲,並能輕鬆配置節點的擴展性、安全性、升級、備份與快照功能,同時會提供硬體規格建議。
操作 ECE 有三種主要方式:
- GUI 介面 (Cloud UI)
- 指令行工具 (CLI)
- 透過 API 進行自動化管理
硬體規格建議,Production 機台至少 8G 記憶體,升級規格後就不能降級,所以要注意
- 預設每個 clusters RAM:storage 是 1:32,所以 1G 最少要配 32G 的硬碟
- 搜尋服務: SSD + RAM:storage 1:16 ~ 1:8
- 儲存服務: HD + RAM:storage 1:48 ~ 1:96
安裝 ECE
安裝前會有很多 Linux 指令會需要輸入並編輯很多設定檔,大多是在設置環境和權限就不逐一贅述。
大概有 30 個步驟左右
安裝完成後記得重開機,然後確認一下權限
該掛的都有掛上去,也確認都有 Root 了
就可以下一鍵安裝指令,安裝完記得備份一下輸出的訊息,因為包含帳號密碼,還有相關的 token
成功訊息中包含很多敏感資料
ECE Deployments
ECE 底層幾乎跟 Elasticsearch 是相同的,原則上可以用相同方法邏輯去管理所有的 Elastic Stack 服務。
安裝部屬完成後就可以用瀏覽器進到網頁版的管理主控台介面 (Cloud UI),管理主控台 (Cloud UI) 提供了網頁版的管理介面,能夠管理、安裝及監控 ECE 的元件,Cloud UI 主要會分成三大塊
- Deployments: 顯示所有已部屬的元件服務列表,顯示相關規格與健康度
- Platform: ECE 本身相關管理
- Activity Feed: 所有部屬的元件服務最近活動的時間
操作說明與步驟大致如下,首先可以先練習建立一個部屬,並進入 Cluster 查看 Elasticsearch 相關的詳細資料
建立一個新的部屬
建立的時候有預設的 Templete,也可以自訂配置記憶體大小、ES 版本
建立完成後會有個密碼記得存好,Activity 會顯示目前節點上的活動
完成後可以開啟 ES 的監控,這樣就可以在 kibana 上監控服務狀況
建立的時候選錯了也可以透過編輯修改相關配置
在設定好 Repository 後,才能夠啟用快照功能,目前看起來只支援 S3
找不到怎麼設定 ES 也提供 API 可以下指令處理
監控與其他相關設定:
- Kibana: 基本相關訊息,可以在這裡開啟介面跟重啟
- Activity: 顯示最近活動
- Security: 安全性相關設定
- Operations: 其他設定與操作
可以到 Kibana 的介面查看,剛剛建立配置的時候會有個密碼就是在 kibana 使用,忘記的話也沒關係
開啟 ES 監控後的介面
Security 安全相關設定,忘記密碼也可以在這裡重設
Operations 提供其他相關的操作
Deployment Templates
接下來會介紹如何建立 Elastic Cloud Enterprise 的部屬樣版,在未來系統效能不夠時,能夠方便且快速的做擴充。當建立一個部屬的時候,會需要設定部屬中包含哪些 Elastic Stack 中的服務和相關的硬體規格,Elastic Cloud Enterprise 提供了預先為了搜尋還有一般用途使用的的 Deployment 樣板方便大家直接使用,
建立一個樣板的步驟如下
- 在 Allocators 加上 Tags: 這樣未來機台變多時,才會知道這裡給了哪種規格的硬體配置
- Instance Configurations: 運用 Tag 新增配置,譬如篩選出配置 SSD + I7 的所有資源
- 用設定好的 Instance 配置去建立一個 Deployment 樣版
Tagging Allocators
在安裝完 ECE 之後,可以先幫現有的 Allocators 進行標記,標記的目的是為了在建立 instance configurations 和 deployment templates 可以進行辨識與篩選指定,未來在新加入的時候也要記得加上相關 Tags,在命名跟描述上要盡量避免用特殊案例也盡量避免用 Elastic Stack 元件去命名。
Tag 會由 key 和 value 組成,底下列出簡單的分類和命名範例:
- CPU:
highCPU: true - Memory:
highMemory: true - Storage:
highstorage: true - I/O:
SSD: true
加入的方式首先到 Platform > Allocators 的管理介面,點選想要加入的機器進行配置,預設會是沒有任何 Tag 的,加入相關 Tag 後就可以在列表上看到。
新增 Tag 很簡單就是輸入 key, value 相關資訊按加入
加入相關 Tag 後就可以在列表上看到
Instance Configurations 新增配置
首先到 Platform > Templete > Instance Configurations 的 Tab 可以看到目前已經有的配置列表,在建立的時候就會用到之前設定過的 Tag 來當作條件去篩選並指定需要的硬體狀況。
配置列表
用 Tag 來當作條件去篩選並指定需要的硬體狀況
Deployment 樣版建立
接著就可以到 Platform > Templete > Deployment Templete 的 Tab 開始建立,建立的時候選擇需要啟動的 Elastic Stack 元件,然後就可以選擇需要的 Instance Configurations 前一個步驟設定好的配置就可以在這個時候使用。
樣板列表
選擇需要的 Instance Configurations
選擇需要的 Elastic Stack 元件並配置硬體規格
Hot Warm Template
在預設的樣板列表中可以看到一個比較特別的 hot-warm template,用途就是用來儲存和分析 time-series 的資料,hot-warm 這樣的結構提供分析和儲存的部屬情境。
讓我們幫大家複習一下 Log 在 Elastic Stack 中的生命週期,這個樣板就是為了這樣的生命週期出現的。
- 資料的產生
- Filebeat 傳送
- 處理與儲存
- Hot Data: 常讀寫
- Warm Data: read-only 少用
- 搜尋與分析
- 封存資料成 Warm Data
- Purge 清除不在使用的資料
樣板列表中的第二個
hot-warm 的結構至少會需要兩種 Node,至少一個 Elasticsearch Hot Node 用來檢索最近的資料,還有一個 Warm node 用來存取 read-only 的索引或是比較少檢索的資料。
- Hot Data Node: 處理常被檢索的索引及負責處理新進資料,所以硬體配置會需要處理較大量的 I/O 通常會建議配置 SSD
- Warm Data Node: 處理大量只會 read-only 的且較少被檢索的索引,因為會用到大量空間,可以用一般硬碟較省成本
心得與結論
ECE 的好處是看起來介面比較簡單過場動畫也做得比較好,不管是控制台、監控儀錶板都已經設計好且開箱即用,算是一個蠻方便且完整的服務,雖然教學文件看起來很長,但 UI 打開來點一點大概就知道功能怎麼使用,唯一複雜的大概就是 Linux 安裝前的相關配置,操作的時候建議還是要知道操作了什麼開了什麼權限。
使用開箱即用的服務其實是好的,舉例來說以前也曾經透過 PostGIS 去檢索 PostgreSQL 裡面的地理資訊,開發速度跟寫法效能就需要依賴工程師的實力,畢竟也是需要了解 PostGIS 然後維護一個後端服務。
後來透過架設 Solr 發現全文檢索也已經支援經緯度甚至範圍搜尋的功能,所以如果沒有需要用到像是 KNN 這種高級運算,只要架好全文檢索服務就可以直接使用 API 參數進行相關操作,效能會有一定程度的保證也不需要開發及維護後端的程式碼。
喜歡這篇文章,請幫忙拍拍手喔 🤣



