本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon OpenSearch Service 的多層儲存
Amazon OpenSearch Service 的多層儲存是一種智慧型資料管理解決方案,可透過管理不同儲存層的資料來最佳化效能和成本。此架構可讓組織將經常存取的資料保留在高效能熱儲存中,同時將較不經常存取的資料移至更具成本效益的暖儲存,從而有效率地平衡效能和成本之間的權衡。
Amazon OpenSearch Service 為熱/暖儲存層提供兩種架構選項:
-
OpenSearch 多層儲存架構
結合 Amazon S3 與本機執行個體儲存體
採用 OpenSearch Optimized Instances 技術
支援暖層中的寫入操作
支援在熱層和暖層之間無縫遷移資料
適用於 OpenSearch 3.3 及更高版本
不支援冷方案
-
UltraWarm 型架構
結合 Amazon S3 與本機執行個體儲存體
採用 UltraWarm 執行個體
針對唯讀暖層工作負載進行最佳化
適用於 Elasticsearch 6.8 版及更新版本,以及所有 OpenSearch 版本
支援冷方案
注意
本文件僅著重於多層架構。如需 Ultrawarm 儲存架構,請參閱 Ultrawarm 和 Cold Storage
多層儲存架構
主要優點
可寫入暖:支援暖索引的寫入操作
無縫遷移:跨儲存層無縫移動資料
成本最佳化:將非作用中的資料移至經濟實惠的暖儲存,以降低儲存成本
效能增強:維持常用層中經常存取資料的高效能
彈性資料管理:選擇最符合您工作負載需求的架構
自動化管理:跨儲存層簡化的資料生命週期管理
先決條件
引擎版本:OpenSearch 3.3 或更新版本
-
執行個體系列:
熱節點:OR1, OR2, OM2或 OI2
暖節點:OI2
安全性:Node-to-node加密、靜態加密、HTTPS 強制執行
限制
適用於所有具有 OpenSearch 最佳化執行個體且尚未啟用 Ultrawarm 的網域
不支援冷方案
須知事項
熱遷移至暖遷移不會觸發 mult-tier 架構中的強制合併。如有需要,使用者仍然可以使用索引管理政策協調強制合併。
除了編製索引之外,暖節點現在也會執行背景合併操作 (類似熱)。
暖索引的所有搜尋請求都會路由至主要碎片,而複本只會在主要碎片關閉時提供讀取。
此架構也支援暖索引的自動化快照
僅熱索引支援跨叢集複寫
Shrink、Split 和 Clone 等索引 APIs 不適用於暖索引。
建立多層網域
步驟 1:建立網域
aws opensearch create-domain \ --domain-name my-domain \ --engine-version OpenSearch_3.3 \ --cluster-config InstanceCount=3,InstanceType=or2.large.search,DedicatedMasterEnabled=true,DedicatedMasterType=m6g.large.search,DedicatedMasterCount=3,WarmEnabled=true,WarmCount=3,WarmType=oi2.2xlarge.search \ --ebs-options EBSEnabled=true,VolumeType=gp2,VolumeSize=11 \ --node-to-node-encryption-options Enabled=true \ --encryption-at-rest-options Enabled=true \ --domain-endpoint-options EnforceHTTPS=true,TLSSecurityPolicy=Policy-Min-TLS-1-2-2019-07 \ --advanced-security-options '{"Enabled":true,"InternalUserDatabaseEnabled":true,"MasterUserOptions":{"MasterUserName":"user_name","MasterUserPassword":"your_pass"}}' \ --access-policies '{"Version": "2012-10-17", "Statement":[{"Effect":"Allow","Principal":"*","Action":"es:*","Resource":"*"}]}' \ --region us-east-1
步驟 2:驗證暖節點
aws opensearch describe-domain-nodes --domain-name my-domain --region us-east-1
回應範例 (摘錄):
{ "NodeType": "Warm", "InstanceType": "oi2.large.search", "NodeStatus": "Active" }
管理層遷移
多層網域支援:
新的分層 APIs可簡化體驗
舊版 UltraWarm APIs以實現相容性
新的分層 APIs
將索引遷移至暖機:
curl -XPOST 'https://localhost:9200/index-name/_tier/warm'
回應:
{"acknowledged": true}
將索引遷移至熱索引:
curl -XPOST 'https://localhost:9200/index-name/_tier/hot'
回應:
{"acknowledged": true}
檢查分層狀態:
curl -XGET 'https://localhost:9200/index-name/_tier'
回應範例:
{ "tiering_status": { "index": "index-name", "state": "RUNNING_SHARD_RELOCATION", "source": "HOT", "target": "WARM", "start_time": 1745836500563, "shard_level_status": { "running": 0, "total": 100, "pending": 100, "succeeded": 0 } } }
詳細碎片檢視:
curl 'https://localhost:9200/index1/_tier?detailed=true'
列出所有進行中的遷移 (文字):
curl 'https://localhost:9200/_tier/all'
列出所有進行中的遷移 (JSON):
curl 'https://localhost:9200/_tier/all?format=json'
依目標層篩選:
curl 'https://localhost:9200/_tier/all?target=_warm'
舊版 UltraWarm APIs以實現相容性
遷移至暖機:
curl -XPOST localhost:9200/_ultrawarm/migration/index2/_warm
遷移至熱:
curl -XPOST localhost:9200/_ultrawarm/migration/index2/_hot
檢查狀態:
curl -XGET localhost:9200/_ultrawarm/migration/index2/_status
安全組態
如果您在預先存在的 Amazon OpenSearch Service 網域上啟用多層儲存,則可能不會在網域上定義storage_tiering_manager角色。非系統管理員使用者必須映射至此角色,以便在使用精細存取控制的網域上管理暖索引。若要手動建立 storage_tiering_manager 角色,請執行以下步驟:
-
在 OpenSearch Dashboards 中,移至 Security (安全性),然後選擇 Permissions (許可)。
-
選擇 Create action group (建立動作群組) 並設定下列群組:
群組名稱 許可 storage_tiering_cluster indices:admin/_tier/all storage_tiering_index_read indices:admin/_tier/get、indices:admin/get storage_tiering_index_write indices:admin/_tier/hot_to_warm、indices:admin/_tier/warm_to_hot -
選擇 Roles (角色),然後選擇 Create role (建立角色)。
-
將角色命名為
storage_tiering_manager。 -
對於 Cluster permissions (叢集許可),選取
storage_tiering_cluster和cluster_monitor。 -
對於 Index (索引),輸入
*。 -
針對索引許可,選取
storage_tiering_index_readstorage_tiering_index_write和indices_monitor。 -
選擇建立。
-
建立角色之後,請將其對應至將管理多層索引的任何使用者或後端角色。
最佳實務
當您在 Amazon OpenSearch Service 網域中實作多層儲存時,請考慮下列最佳實務:
定期檢閱您的資料存取模式,以最佳化層配置
監控效能指標,以確保有效率的資源使用率
使用新的分層 APIs 來精細控制資料遷移
監控指標
多層儲存網域提供額外的指標來監控暖層效能。這些指標包括現有的 UltraWarm 指標和 OpenSearch Optimized Instances 架構特有的新指標:
新指標
| 指標名稱 | 節點層級統計資料 | 叢集層級統計資料 | 精細程度 |
|---|---|---|---|
| WarmIndexingLatency | 平均數 | 平均數 | 1 分鐘 |
| WarmIndexingRate | 平均數 | 平均值、最大值、總和 | 1 分鐘 |
| WarmThreadpoolIndexingQueue | 上限 | 總和、最大值、平均值 | 1 分鐘 |
| WarmThreadpoolIndexingRejected | 上限 | 總和 | 1 分鐘 |
| WarmThreadpoolIndexingThreads | 上限 | 總和,平均 | 1 分鐘 |