創建和管理 Amazon OpenSearch 服務域 - Amazon OpenSearch 服務

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

創建和管理 Amazon OpenSearch 服務域

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

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

建立 OpenSearch 服務網域

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

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

使用下列程序來使用主控台建立 OpenSearch Service 網域。

若要建立 OpenSearch 服務網域 (主控台)
  1. 前往 https://aws.amazon.com 並選擇 Sign In to the Console (登入主控台)

  2. 分析下,選擇 Amazon OpenSearch 服務

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

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

    • 唯一的您的帳戶和 AWS 區域

    • 開頭為小寫字母

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

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

  5. 對於網域建立方法,請選擇 [標準建立]。

  6. 在「範本」中,請選擇最符合您網域用途的選項:

    • 適用於需要高可用性和效能之工作負載的生產網域。這些網域使用異地同步備份 (有無備用) 和專用主節點,以提高可用性。

    • 用於開發或測試的開發/測試。這些網域可以使用異地同步備份 (有無備用) 或單一可用區域。

      重要

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

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

  8. 針對「版本」,請選擇要使用的版本 OpenSearch 或舊版彈性搜尋 OSS。我們建議您選擇的最新版本 OpenSearch。如需詳細資訊,請參閱 彈性搜尋的 OpenSearch 支援版本

    (選擇性) 如果您選擇網域的 OpenSearch 版本,請選取「啟用相容性模式」,將其版本 OpenSearch報告為 7.10,這樣可讓特定 Elasticsearch OSS 用戶端和外掛程式在連線前檢查版本,以繼續使用服務。

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

    注意

    並非所有可用區域皆支援所有執行個體類型。如果您選擇異地同步備份 (含或不含待命),建議您選擇目前一代的執行個體類型,例如 R5 或 I3。

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

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

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

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

    設定 描述
    EBS volume type (EBS 磁碟區類型)

    選擇 General Purpose (SSD) - gp3 (一般用途 (SSD) - gp3) 和 General Purpose (SSD) - gp2 (一般用途 (SSD) - gp2),或者上一代 Provisioned IOPS (SSD) (佈建 IOPS (SSD)) 和 Magnetic (磁帶) (標準)。

    EBS storage size per node (每個節點的 EBS 儲存空間大小)

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

    EBS 磁碟區大小是依照節點。您可以計算 OpenSearch 服務網域的叢集總大小,方法是將資料節點數目乘以 EBS 磁碟區大小。EBS 磁碟區的大小上限取決於兩個指定的 EBS 磁碟區類型,以及其所連接的執行個體類型。如需進一步了解,請參閱 EBS 磁碟區大小限制

    佈建 IOPS

    如果您已選取佈建 IOPS SSD 磁碟區類型,請輸入磁碟區支援的每秒 I/O 操作數 (IOPS)。

  13. (選擇性) 如果您選取gp3磁碟區類型,請展開 [進階設定] 並指定額外的 IOPS (每個資料節點佈建 3 TiB 磁碟區大小最多 16,000 個) 和輸送量 (每個資料節點佈建的每 3 TiB 磁碟區大小最多可達 1,000 MIB/ 秒),但需額外付費。如需詳細資訊,請參閱 Amazon OpenSearch 服務定價

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

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

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

    注意

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

  17. (選擇性) 對於執行中的網域 OpenSearch 或彈性搜尋 5.3 及更新版本,快照組態無關緊要。如需自動拍攝快照的詳細資訊,請參閱在 Amazon OpenSearch 服務中創建索引快照

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

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

    設定 描述
    VPC

    選擇您想使用的虛擬私有雲端 (VPC) ID。VPC 和網域必須在相同的位置 AWS 區域,而且您必須選取租用設定為 [預設] 的 VPC。 OpenSearch 服務尚不支援使用專用租用的 VPC。

    子網

    選擇子網路。如果啟用異地同步備份,則必須選擇兩個或三個子網路。 OpenSearch 服務會在子網路中放置 VPC 端點和彈性網路介面

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

    安全群組

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

    IAM 角色

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

    IP 位址類型

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

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

    • 如果您希望使用 IAM 進行使用者管理,請選擇 Set IAM ARN as master user (將 IAM ARN 設為主要使用者),並指定 IAM 角色的 ARN。

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

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

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

    注意

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

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

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

  23. 對於存取原則,請選擇存取原則或設定您自己的原則。如果您選擇建立自訂政策,您可以自行設定,或從另一個網域中匯入。如需詳細資訊,請參閱 Amazon OpenSearch 服務中的 Identity and Access Management

    注意

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

  24. (選用) 若要求對網域發出的所有請求都透過 HTTPS 到達,請選取 Require HTTPS for all traffic to the domain (通往網域的所有流量都需要 HTTPS)。若要啟用 node-to-node 加密,請選取 N ode-to-node 加密。如需詳細資訊,請參閱 Amazon OpenSearch 服務的 N ode-to-node 加密。若要啟用靜態資料的加密,請選取啟用靜態資料加密。如果您選擇異地同步備份 (含待命部署) 選項,則會預先選取這些選項。

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

  26. 對於離峰時段,請選取開始時間以排程需要藍/綠部署的服務軟體更新和自動調整最佳化。離峰更新有助於將叢集專用主節點在高流量期間的壓力降至最低。

  27. 對於「自動調整」,請選擇是否允許「 OpenSearch 服務」對您的網域建議記憶體相關組態變更,以提高速度和穩定性。如需詳細資訊,請參閱 自動調整亞馬遜 OpenSearch 服務

    (選擇性) 選取離峰時段以排定週期性時段,在此期間自動微調更新網域。

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

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

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

  31. 選擇建立

建立 OpenSearch 服務網域 (AWS CLI)

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

命令範例

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

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

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

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

  • 允許匿名存取,但只從一個 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 服務域配置:

  • 使用彈性搜索 7.10 版創建一個名為 mylog 的 OpenSearch 服務域

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

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

  • 將服務的存取限制在單一使用者 AWS 帳戶 身分識別:55555555555555

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

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 佈建 IOPS EBS 磁碟區進行儲存,為每個資料節點設定 1000 個 IOPS 基準效能

  • 限制存取單一使用者和單一附屬來源;_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 服務網域且已存在具有相同名稱的網域,則 CLI 不會報告錯誤。相反地,它會傳回現有網域的詳細資訊。

建立 OpenSearch 服務網域 (AWS SDK)

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

建立 OpenSearch 服務網域 (AWS CloudFormation)

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

設定存取政策

Amazon OpenSearch 服務提供數種方式來設定對 OpenSearch 服務網域的存取。如需詳細資訊,請參閱 Amazon OpenSearch 服務中的 Identity and Access ManagementAmazon OpenSearch 服務中的精細訪問控制

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

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

  2. 分析下,選擇 Amazon OpenSearch 服務

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

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

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

  6. 選擇儲存變更

進階叢集設定

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

請求主體中的索引

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

欄位資料快取分配

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

注意

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

最大子句計數

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