建立和管理 Amazon OpenSearch Service 網域 - Amazon OpenSearch Service

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

建立和管理 Amazon OpenSearch Service 網域

本章說明如何建立和管理 Amazon OpenSearch Service 網域。網域是 AWS佈建的相當於開放原始碼 OpenSearch 叢集。建立網域時,您可以指定其設定、執行個體類型、執行個體計數和儲存配置。如需開放原始碼叢集的詳細資訊,請參閱 OpenSearch 文件中的建立叢集

入門教學課程中的概要說明不同,本章會說明所有選項,並提供相關的參考資訊。您可以使用 OpenSearch 服務主控台、 (AWS CLI) AWS Command Line Interface 或 的指示來完成每個程序 AWS SDKs。

建立 OpenSearch 服務網域

本節說明如何使用 OpenSearch Service 主控台或使用 AWS CLI 搭配 create-domain命令來建立 OpenSearch Service 網域。

建立 OpenSearch 服務網域 (主控台)

使用下列程序,透過主控台建立 OpenSearch 服務網域。

建立 OpenSearch 服務網域 (主控台)
  1. 前往 https://aws.amazon.com 並選擇登入主控台

  2. 分析 下,選擇 Amazon OpenSearch Service

  3. 選擇 Create domain (建立網域)。

  4. Domain name (網域名稱) 中,輸入網域名稱。名稱必須符合下列條件:

    • 專屬於您的帳戶和 AWS 區域

    • 開頭為小寫字母

    • 包含 3 到 28 個之間字元數

    • 只能包含小寫字母 a-z、號碼 0-9 和連字號 (-)

  5. 針對網域建立方法,選擇標準建立

  6. 針對範本 ,選擇最符合您網域用途的選項:

    • 適用於需要高可用性和效能之工作負載的生產網域。這些網域使用多可用區域 (有或沒有待命) 和專用主節點,以提高可用性。

    • 開發/測試開發或測試。這些網域可以使用多可用區域 (有或沒有待命) 或單一可用區域。

      重要

      在接下來的頁面中,不同部署類型有不同的選項。這些步驟包含所有選項。

  7. 對於部署選項,選擇具有待命的網域以設定 3-AZ 網域,其中其中一個區域中的節點會保留為待命。此選項會強制執行許多最佳實務,例如指定的資料節點計數、主節點計數、執行個體類型、複本計數和軟體更新設定。

  8. 針對版本 ,選擇要OSS使用的 Elasticsearch OpenSearch 版本或舊版 Elasticsearch。建議您選擇最新版本的 OpenSearch。如需詳細資訊,請參閱支援的 OpenSearch 和 Elasticsearch 版本

    (選用) 如果您選擇網域的 OpenSearch 版本,請選取啟用相容性模式,將 OpenSearch版本報告為 7.10,這允許某些 Elasticsearch OSS用戶端和外掛程式在連線之前檢查版本,以繼續使用 服務。

  9. 對於 Instance type (執行個體類型),選擇資料節點的執行個體類型。如需詳細資訊,請參閱Amazon OpenSearch Service 中支援的執行個體類型

    注意

    並非所有可用區域皆支援所有執行個體類型。如果您選擇多可用區域,無論是否有待命,建議您選擇目前世代的執行個體類型,例如 R5 或 I3。

  10. 請在 Number of nodes (節點類型) 選擇資料節點數目。

    如需最大值,請參閱OpenSearch 服務網域和執行個體配額 。單一節點叢集適用於開發和測試,但不應將其用於生產工作負載。如需詳細的指導方針,請參閱 調整 Amazon OpenSearch Service 網域的大小在 Amazon OpenSearch 服務中配置異地同步備份域

    注意

    (選用)專用協調器節點支援所有 OpenSearch 版本和 6.8 至 7.10 ElasticSearch 版。專用協調器節點可用於已啟用專用叢集管理員的網域。若要啟用專用協調器節點,您將選取執行個體類型和計數。最佳實務是,您應該讓專用協調器節點的執行個體系列與資料節點 (Intel 型執行個體或 Graviton 型執行個體) 相同。

  11. 針對儲存類型 ,選取 Amazon EBS。此清單中可用的磁碟區類型取決於您選擇的執行個體類型。關於建立特大網域的說明資訊,請參閱 Amazon OpenSearch Service 中的 PB 規模

  12. 對於EBS儲存,請設定下列其他設定。根據您選擇的磁碟區類型,部分設定可能不會顯示。

    設定 描述
    EBS 磁碟區類型

    選擇一般用途 (SSD) - gp3一般用途 (SSD) - gp2,或上一代佈建 IOPS(SSD)磁性 (標準)。

    EBS 每個節點的儲存體大小

    輸入您要連接至每個資料節點的EBS磁碟區大小。

    EBS 磁碟區大小是每個節點。您可以透過將資料節點數量乘以EBS磁碟區大小來計算 OpenSearch 服務網域的叢集總大小。EBS 磁碟區的最小和最大大小取決於指定的EBS磁碟區類型及其連接的執行個體類型。若要進一步了解,請參閱EBS磁碟區大小限制

    已佈建 IOPS

    如果選擇了佈建磁碟IOPSSSD區類型,請輸入磁碟區可支援的每秒 I/O 操作數 (IOPS)。

  13. (選用) 如果您選取磁碟gp3區類型,請展開進階設定,並指定超出儲存價格的額外額外 IOPS(每個資料節點佈建的每 3 個 TiB 磁碟區大小最多 16,000 個) 和輸送量 (每個資料節點佈建的每 3 個 TiB 磁碟區大小最多 1,000 個 MiB/s)。如需詳細資訊,請參閱 Amazon OpenSearch Service 定價

  14. (選用) 若要啟用UltraWarm 儲存體 ,請選擇啟用 UltraWarm 資料節點 。每個執行個體類型都有可處理的儲存量上限。將該數量乘以總計可處理暖儲存的暖資料節點數。

  15. (選用) 若要啟用 cold storage (冷儲存),選擇 Enable cold storage (啟用冷儲存)。您必須啟用 UltraWarm 才能啟用冷儲存。

  16. 如果您將多可用區域與待命搭配使用,則會啟用三個專用主節點。選擇您想要的主節點類型。如果您選擇沒有待命網域的多可用區域,請選取啟用專用主節點,然後選擇您想要的主節點類型和數量。專用主節點可提高叢集穩定性,也是執行個體計數大於 10 的網域所需要的。我們建議生產網域應具備三個專用主節點。

    注意

    您可以為專用主節點及資料節點選擇不同的執行個體類型。例如,您可以針對資料節點選擇一般用途或儲存最佳化執行個體,而不是專用主節點的運算最佳化執行個體。

  17. (選用) 對於執行 OpenSearch 或 Elasticsearch 5.3 及更新版本的網域,快照組態無關。如需自動拍攝快照的詳細資訊,請參閱在 Amazon OpenSearch Service 中建立索引快照

  18. 如果您想要使用自訂端點,而不是標準的 https://search-mydomain-1a2a3a4a5a6a7a8a9a0a9a8a7a.us-east-1.es.amazonaws.com,請選擇 Enable custom endpoint (啟用自訂端點) 並提供名稱和憑證。如需詳細資訊,請參閱為 Amazon OpenSearch Service 建立自訂端點

  19. 網路 下,選擇VPC存取公有存取 。如果選擇 Public access (公開存取),請跳到下一步驟。如果您選擇VPC存取 ,請確定您符合先決條件 ,然後設定下列設定:

    設定 描述
    VPC

    選擇您要使用的虛擬私有雲端 (VPC) ID。VPC 和 網域必須位於相同的 中 AWS 區域,而且您必須選取租用設定為預設 VPC的 。 OpenSearch 服務尚未支援使用專用租用VPCs的 。

    子網

    選擇子網路。如果您啟用多可用區域,則必須選擇兩個或三個子網路。 OpenSearch 服務會將VPC端點和彈性網路介面放置在子網路中。

    您必須在子網路中保留足夠數量的 IP 地址給網路界面。如需詳細資訊,請參閱在VPC子網路 中保留 IP 地址

    安全群組

    選擇一或多個VPC安全群組,以允許您所需的應用程式到達連接埠 (80 或 443) 上的 OpenSearch 服務網域,以及網域公開的通訊協定 (HTTP 或 HTTPS)。如需詳細資訊,請參閱在 中啟動 Amazon OpenSearch Service 網域 VPC

    IAM 角色

    保留預設角色。 OpenSearch Service 使用此預先定義的角色 (也稱為服務連結角色 ) 來存取您的 VPC和 ,將VPC端點和網路介面放置在 的子網路中VPC。如需詳細資訊,請參閱VPC存取 的服務連結角色

    IP 地址類型

    選擇雙堆疊或IPv4作為您的 IP 地址類型。雙堆疊可讓您跨 IPv4和 IPv6 地址類型共用網域資源,並且是建議的選項。如果您將 IP 地址類型設定為雙堆疊,則稍後無法變更地址類型。

  20. 啟用或停用精細存取控制:

    • 如果您想要使用 IAM進行使用者管理,請選擇設為IAMARN主要使用者ARN,並為IAM角色指定 。

    • 如果您想要使用內部使用者資料庫,請選擇建立主要使用者,並指定使用者名稱和密碼。

    無論您選擇哪個選項,主要使用者可以存取叢集中的所有索引和所有 OpenSearch APIs。如需應選擇哪個選項的指導,請參閱 重要概念

    如果您停用精細存取控制,您仍然可以透過將網域放在 內VPC、套用限制性存取政策,或同時套用兩者來控制對網域的存取。您必須啟用 node-to-node靜態加密,才能使用精細存取控制。

    注意

    我們強烈建議啟用精細存取控制來保護網域中的資料。精細存取控制可提供叢集、索引、文件和欄位層級安全性。

  21. (選用) 如果您想要使用 OpenSearch 儀表板的SAML身分驗證,請選擇啟用身分SAML驗證並設定網域SAML的選項。如需說明,請參閱 SAML OpenSearch 儀表板的身分驗證

  22. (選用) 如果您想要使用 OpenSearch Dashboards 的 Amazon Cognito 身分驗證,請選擇啟用 Amazon Cognito 身分驗證 。然後選擇您要用於 OpenSearch 儀表板身分驗證的 Amazon Cognito 使用者集區和身分集區。如需建立這些資源的指導方針,請參閱 為儀表板設定 Amazon Cognito 份驗證 OpenSearch

  23. 針對存取政策 ,選擇存取政策或設定自己的其中一個。如果您選擇建立自訂政策,您可以自行設定,或從另一個網域中匯入。如需詳細資訊,請參閱Amazon OpenSearch Service 中的身分和存取管理

    注意

    如果您啟用VPC存取,則無法使用 IP 型政策。您反而可以使用安全群組來控制哪些 IP 地址可以存取網域。如需詳細資訊,請參閱關於VPC網域上的存取政策

  24. (選用) 若要要求網域的所有請求透過 到達HTTPS,請選取網域 HTTPS 的所有流量都需要。若要啟用 node-to-node加密,請選取 Node-to-node 加密 。如需詳細資訊,請參閱Node-to-node Amazon OpenSearch Service 的加密。若要啟用靜態資料加密,請選取啟用靜態資料加密 。如果您選擇具有待命部署的多可用區域選項,則會預先選取這些選項。

  25. (選用) 選取使用 AWS 擁有的金鑰,讓 OpenSearch Service 代表您建立 AWS KMS 加密金鑰 (或使用其已建立的金鑰)。否則,請選擇您自己的KMS金鑰。如需詳細資訊,請參閱Amazon OpenSearch Service 的靜態資料加密

  26. 針對離峰時段 ,選取開始時間以排程需要藍/綠部署的服務軟體更新和 Auto-Tune 最佳化。離峰更新有助於減少叢集專用主節點在高流量期間承受的壓力。

  27. 針對 Auto-Tune ,選擇是否允許 OpenSearch Service 建議網域的記憶體相關組態變更,以改善速度和穩定性。如需詳細資訊,請參閱適用於 Amazon OpenSearch Service 的 Auto-Tune

    (選用) 選取離峰時段以排程週期性時段,在此期間自動調整會更新網域。

  28. (選用) 選取自動軟體更新以啟用自動軟體更新。

  29. (選用) 新增標籤以描述您的網域,以便分類和篩選該資訊。如需詳細資訊,請參閱標記 Amazon OpenSearch Service 網域

  30. (選用) 展開並設定 Advanced cluster settings (進階叢集設定)。如需這些選項的摘要,請參閱進階叢集設定

  31. 選擇 Create (建立)。

建立 OpenSearch 服務網域 (AWS CLI)

您可以使用 ,而不是使用 主控台建立 OpenSearch 服務網域 AWS CLI。如需語法,請參閱AWS CLI命令參考 a 中的 Amazon OpenSearch Service。

命令範例

第一個範例示範下列 OpenSearch 服務網域組態:

  • 使用 1.2 OpenSearch 版建立名為 mylog OpenSearch 的服務網域

  • 在網域中填入兩個 r6g.large.search 執行個體類型的執行個體

  • 為每個資料節點使用 100 GiB 一般用途 (SSD) gp3EBS磁碟區進行儲存

  • 允許匿名存取,但只從一個 IP 地址:192.0.2.0/32

aws opensearch create-domain \ --domain-name mylogs \ --engine-version OpenSearch_1.2 \ --cluster-config InstanceType=r6g.large.search,InstanceCount=2 \ --ebs-options EBSEnabled=true,VolumeType=gp3,VolumeSize=100,Iops=3500,Throughput=125 \ --access-policies '{"Version": "2012-10-17", "Statement": [{"Action": "es:*", "Principal":"*","Effect": "Allow", "Condition": {"IpAddress":{"aws:SourceIp":["192.0.2.0/32"]}}}]}'

下一個範例示範下列 OpenSearch 服務網域組態:

  • 使用 Elasticsearch 7.10 版建立名為 mylogs OpenSearch 的服務網域

  • 在網域中填入六個 r6g.large.search 執行個體類型的執行個體

  • 為每個資料節點使用 100 GiB 一般用途 (SSD) gp2EBS磁碟區進行儲存

  • 將服務的存取權限制為單一使用者,並以使用者的 AWS 帳戶 ID 識別:555555555555

  • 跨三個可用區域分佈執行個體

aws opensearch create-domain \ --domain-name mylogs \ --engine-version Elasticsearch_7.10 \ --cluster-config InstanceType=r6g.large.search,InstanceCount=6,ZoneAwarenessEnabled=true,ZoneAwarenessConfig={AvailabilityZoneCount=3} \ --ebs-options EBSEnabled=true,VolumeType=gp2,VolumeSize=100 \ --access-policies '{"Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::555555555555:root" }, "Action":"es:*", "Resource": "arn:aws:es:us-east-1:555555555555:domain/mylogs/*" } ] }'

下一個範例示範下列 OpenSearch 服務網域組態:

  • 使用 1.0 OpenSearch 版建立名為 mylog OpenSearch 的服務網域

  • 在網域中填入十個 r6g.xlarge.search 執行個體類型的執行個體

  • 在網域填入三個 r6g.large.search 執行個體類型的執行個體,以做為專用主節點

  • 使用 100 GiB 佈建磁碟IOPSEBS區進行儲存,IOPS為每個資料節點設定基準效能為 1000

  • 限制對單一使用者的存取,以及對單一子資源的存取, _search API

aws opensearch create-domain \ --domain-name mylogs \ --engine-version OpenSearch_1.0 \ --cluster-config InstanceType=r6g.xlarge.search,InstanceCount=10,DedicatedMasterEnabled=true,DedicatedMasterType=r6g.large.search,DedicatedMasterCount=3 \ --ebs-options EBSEnabled=true,VolumeType=io1,VolumeSize=100,Iops=1000 \ --access-policies '{"Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::555555555555:root" }, "Action": "es:*", "Resource": "arn:aws:es:us-east-1:555555555555:domain/mylogs/_search" } ] }'
注意

如果您嘗試建立 OpenSearch Service 網域,且具有相同名稱的網域已存在, CLI不會報告錯誤。相反地,它會傳回現有網域的詳細資訊。

建立 OpenSearch 服務網域 (AWS SDKs)

(Android AWS SDKs和 iOS 除外SDKs) 支援 Amazon OpenSearch Service API參考 中定義的所有動作,包括 CreateDomain。如需程式碼範例,請參閱 使用AWS與亞馬遜互動的 SDKOpenSearch服務。如需安裝和使用 的詳細資訊 AWS SDKs,請參閱AWS 軟體開發套件

建立 OpenSearch 服務網域 (AWS CloudFormation)

OpenSearch 服務與 整合 AWS CloudFormation,這項服務可協助您建立和設定 AWS 資源的模型,以便減少建立和管理資源和基礎設施的時間。您可以建立範本來描述您要建立的 OpenSearch 網域,並為您 CloudFormation 佈建和設定網域。如需詳細資訊,包括 OpenSearch 網域 JSON和 YAML 範本的範例,請參閱 AWS CloudFormation 使用者指南 中的 Amazon OpenSearch Service 資源類型參考

設定存取政策

Amazon OpenSearch Service 提供多種方法來設定對 OpenSearch Service 網域的存取。如需詳細資訊,請參閱 Amazon OpenSearch Service 中的身分和存取管理Amazon OpenSearch 服務中的精細訪問控制

主控台提供預先設定存取政策,讓您可以為您網域的特定需求自訂。您也可以從其他 OpenSearch Service 網域匯入存取政策。如需有關這些存取政策如何與VPC存取互動的資訊,請參閱 關於VPC網域上的存取政策

設定存取政策 (主控台)
  1. 前往 https://aws.amazon.com,然後選擇登入主控台

  2. 分析 下,選擇 Amazon OpenSearch Service

  3. 在導覽窗格中,在 My domains (我的網域) 下,選擇您想要更新的網域。

  4. 選擇 Actions (動作) 和 Edit security configuration (編輯安全組態)。

  5. 編輯存取政策 JSON,或匯入預先設定的選項。

  6. 選擇 Save changes (儲存變更)。

進階叢集設定

使用進階選項來設定下列項目:

請求主體中的索引

指定HTTP請求內文中是否允許明確參考索引。將此屬性設為 false 以避免使用者繞開附屬資源的存取控制權。根據預設,此值為 true。如需詳細資訊,請參閱進階選項和API考量事項

欄位資料快取分配

指定分配給欄位資料的 Java 堆積空間的百分比。根據預設,此設定為JVM堆積的 20%。

注意

許多客戶查詢輪換每日索引。我們建議您開始基準測試,將大多數這些使用案例的JVM堆積indices.fielddata.cache.size設定為 40%。對於非常大的索引,您可能需要大型的欄位資料快取。

最大子句計數

指定 Lucene 布林查詢中允許的最大子句數量。預設值為 1,024。超過所允許的子句數量的查詢會導致 TooManyClauses 錯誤。如需詳細資訊,請參閱 Lucene 文件