Amazon OpenSearch Service 的多層儲存 - Amazon OpenSearch Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

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 儲存架構,請參閱 UltrawarmCold 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 角色,請執行以下步驟:

  1. 在 OpenSearch Dashboards 中,移至 Security (安全性),然後選擇 Permissions (許可)。

  2. 選擇 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
  3. 選擇 Roles (角色),然後選擇 Create role (建立角色)。

  4. 將角色命名為 storage_tiering_manager

  5. 對於 Cluster permissions (叢集許可),選取 storage_tiering_clustercluster_monitor

  6. 對於 Index (索引),輸入 *

  7. 針對索引許可,選取 storage_tiering_index_readstorage_tiering_index_writeindices_monitor

  8. 選擇建立

  9. 建立角色之後,請將其對應至將管理多層索引的任何使用者或後端角色。

最佳實務

當您在 Amazon OpenSearch Service 網域中實作多層儲存時,請考慮下列最佳實務:

  • 定期檢閱您的資料存取模式,以最佳化層配置

  • 監控效能指標,以確保有效率的資源使用率

  • 使用新的分層 APIs 來精細控制資料遷移

監控指標

多層儲存網域提供額外的指標來監控暖層效能。這些指標包括現有的 UltraWarm 指標和 OpenSearch Optimized Instances 架構特有的新指標:

新指標

指標名稱 節點層級統計資料 叢集層級統計資料 精細程度
WarmIndexingLatency 平均數 平均數 1 分鐘
WarmIndexingRate 平均數 平均值、最大值、總和 1 分鐘
WarmThreadpoolIndexingQueue 上限 總和、最大值、平均值 1 分鐘
WarmThreadpoolIndexingRejected 上限 總和 1 分鐘
WarmThreadpoolIndexingThreads 上限 總和,平均 1 分鐘