

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

# 在 Amazon OpenSearch Service 中進行組態變更
<a name="managedomains-configuration-changes"></a>

Amazon OpenSearch Service 在更新網域時使用*藍/綠*部署程序。藍/綠部署會為網域更新建立閒置環境，以複製生產環境，並在這些更新完成後將使用者路由至新環境。在藍/綠部署中，藍色環境是目前的生產環境。綠色環境是閒置環境。

資料會從藍色環境遷移至綠色環境。當新環境準備就緒時，OpenSearch Service 會切換環境，將綠色環境提升為新的生產環境。切換不會遺失資料。此實務可將停機時間降至最低，並在新環境部署失敗時維護原始環境。

**Topics**
+ [通常會導致藍/綠部署的變更](#bg)
+ [通常不會導致藍/綠部署的變更](#nobg)
+ [藍/綠部署選項](#bg-deployment-options)
+ [判斷變更是否會導致藍/綠部署](#dryrun)
+ [追蹤組態變更](#initiating-tracking-configuration-changes)
+ [組態變更的階段](#managedomains-config-stages)
+ [藍/綠部署的效能影響](#performance-impact-bluegreen)
+ [組態變更的費用](#managedomains-config-charges)
+ [對驗證錯誤進行疑難排解](#validation)

## 通常會導致藍/綠部署的變更
<a name="bg"></a>

以下操作會造成藍/綠部署：
+ 變更執行個體類型
+ 啟用精細存取控制
+ 執行服務軟體更新
+ 啟用或停用專用主節點
+ 啟用或停用無待命的異地同步備份
+ 變更儲存類型、磁碟區類型或磁碟區大小
+ 選擇不同的 VPC 子網路
+ 新增或移除 VPC 安全群組
+ 新增或移除專用協調器節點
+ 啟用或停用 OpenSearch Dashboards 的 Amazon Cognito 身分驗證
+ 選擇不同的 Amazon Cognito 使用者集區或身分集區
+ 修改進階設定
+ 升級到新的 OpenSearch 版本 （在部分或全部升級期間，OpenSearch Dashboards 可能無法使用）
+ 啟用靜態資料加密或節點對節點加密
+ 啟用或停用 UltraWarm 或冷儲存
+ 停用自動調整並還原其變更
+ 將選用外掛程式與網域建立關聯，以及取消選用外掛程式與網域的關聯
+ 使用兩個專用主節點增加多可用區域網域的專用主節點計數
+ 減少 EBS 磁碟區大小
+ 如果您所做的上次變更正在進行或在 6 小時內發生，請變更 EBS 磁碟區大小、IOPS 或輸送量
+ 啟用將稽核日誌發佈至 CloudWatch。

對於具有待命網域的異地同步備份，您一次只能提出一個變更請求。如果變更已在進行中，則會拒絕新的請求。您可以使用 `DescribeDomainChangeProgress` API 檢查目前變更的狀態。

## 通常不會導致藍/綠部署的變更
<a name="nobg"></a>

在*大多數*情況下，以下操作不會造成藍/綠部署：
+ 修改存取政策
+ 修改自訂端點
+ 變更 Transport Layer Security (TLS) 政策
+ 變更自動快照時間
+ 啟用或停用** Require HTTPS (需要使用 HTTPS)**
+ 啟用自動調整，或停用且不還原其變更
+ 如果您的網域有專用主節點，請變更資料節點或 UltraWarm 節點計數 
+ 如果您的網域有專用主節點，請變更專用主執行個體類型或計數 （具有兩個專用主節點的多可用區域網域除外）
+ 啟用或停用將錯誤日誌或慢速日誌發佈至 CloudWatch
+ 停用將稽核日誌發佈至 CloudWatch
+ 增加 gp3 EBS 類型的磁碟區大小、IOPS 或輸送量。
**注意**  
在 2026 年 3 月 10 日之前，只有 gp3 最多 3 TiB 的磁碟區才支援就地磁碟區增加。在 2026 年 3 月 10 日，已移除此限制，允許就地磁碟區增加超過 3 TiB。不過，如果您的叢集在此限制移除前的磁碟區大小超過 3 TiB，則第一次磁碟區增加將需要藍/綠部署。該叢集的所有後續磁碟區增加將做為就地更新執行，且不需要藍/綠部署。
+ 新增或移除標籤

**注意**  
視您的服務軟體版本而定，有一些例外情況。如果您想要確定變更不會導致藍/綠部署，請在更新網域之前[執行試轉](#dryrun)，如果此選項可用。有些變更不提供試轉選項。通常建議您在尖峰流量時段之外變更叢集。

## 藍/綠部署選項
<a name="bg-deployment-options"></a>

選取部署策略，以控制當更新時沒有足夠的容量時，叢集如何處理部署。

1. **Full Swap 藍/綠** — 預設部署行為。預先需要完整的執行個體容量，確保在容量可用時部署最快。如果無法配置足夠的容量，則不會繼續部署。

1. **容量最佳化** — 建議用於具有 30 個以上資料節點的叢集。會先嘗試完全的藍/綠交換，如果容量不足， 會繼續批次部署。確保即使容量有限，部署也能完成。完成時間可能會增加，因為部署將分批完成。

------
#### [ Console ]

**對於編輯網域流程：**

1. 開啟位於 的 Amazon OpenSearch Service 主控台[https://console.aws.amazon.com/aos/home](https://console.aws.amazon.com/aos/home)。

1. 在導覽窗格**的網域**下，選擇網域名稱以開啟叢集組態。

1. 按一下**叢集組態**索引標籤右側的**編輯**按鈕。

1. 從**部署策略**選項中選擇網域更新所需的組態：

   1. **Full Swap 藍/綠** — 預設部署行為。預先需要完整的執行個體容量，確保在容量可用時部署最快。如果無法配置足夠的容量，則不會繼續部署。

   1. **容量最佳化** — 建議用於具有 30 個以上資料節點的叢集。會先嘗試完全的藍/綠交換，如果容量不足， 會繼續批次部署。確保即使容量有限，部署也能完成。完成時間可能會增加，因為部署將分批完成。

1. 選擇**儲存變更**。

**對於建立網域流程：**

1. 開啟位於 的 Amazon OpenSearch Service 主控台[https://console.aws.amazon.com/aos/home](https://console.aws.amazon.com/aos/home)。

1. 在左側導覽窗格中選擇 **Domains** (網域)。

1. 按一下**建立網域**按鈕。

1. 選取網域的所有必要組態。

1. 從**部署策略**選項中選擇網域更新所需的組態：

   1. **Full Swap 藍/綠** — 預設部署行為。預先需要完整的執行個體容量，確保在容量可用時部署最快。如果無法配置足夠的容量，則不會繼續部署。

   1. **容量最佳化** — 建議用於具有 30 個以上資料節點的叢集。會先嘗試完全的藍/綠交換，如果容量不足， 會繼續批次部署。確保即使容量有限，部署也能完成。完成時間可能會增加，因為部署將分批完成。

1. 按一下右側的**網域摘要**面板上的**建立**按鈕。

------
#### [ API ]

您可以使用 [UpdateDomainConfig](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_UpdateDomainConfig.html) API 設定部署策略。

**容量最佳化選項**

```
POST https://es.{{us-east-1}}.amazonaws.com/2021-01-01/opensearch/domain/{{my-domain}}/config
{
   "DeploymentStrategyOptions": {
    "DeploymentStrategy": "CapacityOptimized"
   }
}
```

**預設選項**

```
POST https://es.{{us-east-1}}.amazonaws.com/2021-01-01/opensearch/domain/{{my-domain}}/config
{
   "DeploymentStrategyOptions": {
    "DeploymentStrategy": "Default"
   }
}
```

------

## 判斷變更是否會導致藍/綠部署
<a name="dryrun"></a>

您可以測試某些類型的計劃組態變更，以判斷它們是否會導致藍/綠部署，而不必遞交這些變更。在您啟動組態變更前，請使用主控台或 API 執行驗證檢查，以確保網域符合更新資格。

------
#### [ Console ]

**驗證組態變更**

1. 在 [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/) 瀏覽至 Amazon OpenSearch Service 主控台。

1. 在左側導覽窗格中選擇 **Domains** (網域)。

1. 選取您要進行組態變更的網域。這會開啟網域詳細資訊頁面。選取 **Actions** (動作) 下拉式功能表，然後選擇 **Edit cluster configuration** (編輯叢集組態)。

1. 變更網域，例如變更執行個體類型或節點數量。

1. 在**乾執行分析**下，選擇**執行**。試轉會驗證您的組態變更是否發生錯誤，並判斷是否需要藍/綠部署。

1. 試轉完成時，結果會出現在頁面底部，以及試轉 ID。分析指出組態變更是否需要藍/綠部署。

   每次試轉都會覆寫先前的試轉。若要保留每次執行的詳細資訊，請儲存其試轉 ID。乾執行可使用 90 天，或直到您進行組態更新為止。

1. 若要繼續進行組態更新，請選擇 **Save changes** (儲存變更)。否則，請選擇 **Cancel** (取消)。任一選項都會帶您返回 **Cluster configuration** (叢集組態) 標籤。在此標籤上，您可以選擇 **Dry run details** (試轉詳細資訊) 以查看最新試轉的詳細資訊。此頁面也包含試轉前的組態與試轉組態之間的並排比較。

------
#### [ API ]

您也可以透過組態 API 執行試轉驗證。若要使用 API 測試變更，請將 `DryRun` 設定為 `true`，以及將 `DryRunMode` 設定為 `Verbose`。詳細資訊模式除了判斷變更是否會啟動藍/綠部署之外，還會執行驗證檢查。例如，此 [UpdateDomainConfig](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_UpdateDomainConfig.html) 請求會測試啟用 UltraWarm 所產生的部署類型：

```
POST https://es.{{us-east-1}}.amazonaws.com/2021-01-01/opensearch/domain/{{my-domain}}/config
{
   "ClusterConfig": {
    "WarmCount": 3,
    "WarmEnabled": true,
    "WarmType": "ultrawarm1.large.search"
   },
   "DryRun": true,
   "DryRunMode": "Verbose"
}
```

請求會執行驗證檢查並傳回變更將造成之部署類型，但實際上不會執行更新：

```
{
   "ClusterConfig": {
     ...
    },
   "DryRunResults": {
      "DeploymentType": "Blue/Green",
      "Message": "This change will require a blue/green deployment."
    }
}
```

可能的部署類型包括：
+ `Blue/Green`：變更將導致藍/綠部署。
+ `DynamicUpdate`：變更不會導致藍/綠部署。
+ `Undetermined`：網域仍處於處理狀態，因此無法判斷部署類型。
+ `None`：無設定變更。

如果驗證失敗，其會傳回[驗證失敗](#validation)的清單。

```
{
   "ClusterConfig":{
      "..."
   },
   "DryRunProgressStatus":{
      "CreationDate":"2023-01-12T01:14:33.847Z",
      "DryRunId":"db00ca39-48b2-4774-bbd3-252cf094d205",
      "DryRunStatus":"failed",
      "UpdateDate":"2023-01-12T01:14:33.847Z",
      "ValidationFailures":[
         {
            "Code":"Cluster.Index.WriteBlock",
            "Message":"Cluster has index write blocks."
         }
      ]
   }
}
```

如果狀態仍處於 `pending`，您可以在 UpdateDomainConfig 回應中，在後續 [DescribeDryRunProgress](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_DescribeDryRunProgress.html) 呼叫中使用試轉 ID 來檢查驗證的狀態。

```
GET https://es.{{us-east-1}}.amazonaws.com/2021-01-01/opensearch/domain/{{my-domain}}/dryRun?dryRunId={{my-dry-run-id}}
{
    "DryRunConfig": null,
    "DryRunProgressStatus": {
        "CreationDate": "2023-01-12T01:14:42.998Z",
        "DryRunId": "db00ca39-48b2-4774-bbd3-252cf094d205",
        "DryRunStatus": "succeeded",
        "UpdateDate": "2023-01-12T01:14:49.334Z",
        "ValidationFailures": null
    },
    "DryRunResults": {
        "DeploymentType": "Blue/Green",
        "Message": "This change will require a blue/green deployment."
    }
}
```

若要在不進行驗證檢查的情況下執行試轉分析，請在使用組態 API 時將 `DryRunMode` 設定為 `Basic`。

------
#### [ Python ]

下列 Python 程式碼使用 [UpdateDomainConfig](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_UpdateDomainConfig.html) API 執行試轉驗證檢查，如果檢查成功， 會呼叫相同的 API 而不進行試轉以開始更新。如果檢查失敗，指令碼會列印錯誤並停止。

```
import time
import boto3

client = boto3.client('opensearch')

response = client.UpdateDomainConfig(
    ClusterConfig={
        'WarmCount': 3,
        'WarmEnabled': True,
        'WarmCount': 123,
    },
    DomainName='test-domain',
    DryRun=True,
    DryRunMode='Verbose'
)

dry_run_id = response.DryRunProgressStatus.DryRunId

retry_count = 0

while True:

    if retry_count == 5:
        print('An error occured')
        break

    dry_run_progress_response = client.DescribeDryRunProgress('test-domain', dry_run_id)
    dry_run_status = dry_run_progress_response.DryRunProgressStatus.DryRunStatus

    if dry_run_status == 'succeeded':
        client.UpdateDomainConfig(
            ClusterConfig={
            'WarmCount': 3,
            'WarmEnabled': True,
            'WarmCount': 123,
        })
        break

    elif dry_run_status == 'failed':
        validation_failures_list = dry_run_progress_response.DryRunProgressStatus.ValidationFailures
        for item in validation_failures_list:
            print(f"Code: {item['Code']}, Message: {item['Message']}")
        break

    retry_count += 1
    time.sleep(30)
```

------

## 追蹤組態變更
<a name="initiating-tracking-configuration-changes"></a>

您可以一次請求一個組態變更，或在單一請求中將多個變更分組。使用主控台中的**網域處理狀態**和**組態變更狀態**欄位來追蹤組態變更。請求其他變更`Active`之前，請等待網域狀態變成 。

網域可以有下列**處理狀態**：
+ `Active` – 沒有正在進行的組態變更。您可以提交新的組態變更請求。
+ `Creating` – 正在建立網域。
+ `Modifying` – 組態變更正在進行中，例如新增資料節點、EBS、gp3、IOPS 佈建或設定 KMS 金鑰。
+ `Upgrading engine version` – 引擎版本升級正在進行中。
+ `Updating service software` – 服務軟體更新正在進行中。
+ `Deleting` – 正在刪除網域。
+ `Isolated` – 網域已暫停。

網域可以有下列**組態變更狀態**：
+ `Pending` – 已提交組態變更請求。
+ `Initializing` – 服務正在初始化組態變更。
+ `Validating` – 服務正在驗證請求的變更和資源。
+ `Awaiting user inputs` – 服務預期組態變更會繼續，例如執行個體類型變更。您可以編輯組態變更。
+ `Applying changes` – 服務正在套用請求的組態變更。
+ `Cancelled` – 組態變更已取消。選擇**取消**復原所有變更。
+ `Completed` – 請求的組態變更已成功完成。
+ `Validation failed` – 請求的組態變更無法完成。未套用任何組態變更。
**注意**  
驗證失敗可能是網域中存在的紅色索引、所選執行個體類型無法使用或磁碟空間不足的結果。如需驗證錯誤的清單，請參閱 [對驗證錯誤進行疑難排解](#validation)。在驗證失敗事件期間，您可以取消、重試或編輯組態變更。

當組態變更完成時，網域狀態會變更回 `Active`。

您可以檢閱叢集運作狀態和 Amazon CloudWatch 指標，並查看叢集中的節點數量會在網域更新發生時暫時增加，通常是加倍。在下圖中，您可以看到在組態變更期間節點數量從 11 加倍到 22，而在更新完成時恢復回 11。

![網域組態變更期間節點數從 11 加倍到 22。](http://docs.aws.amazon.com/zh_tw/opensearch-service/latest/developerguide/images/NodesDoubled.png)


此暫時增加可能形成叢集[專用主節點](managedomains-dedicatedmasternodes.md)的負擔，突然可能會有許多節點需要管理。搜尋和索引延遲也可能因此而增加，因為 OpenSearch Service 會將資料從舊叢集複製到新叢集。在叢集務必維持足夠的容量，以處理與這些藍/綠部署相關的負荷。

**重要**  
組態變更和服務維護期間，您*不*需要支付任何額外費用。您也只需要針對您為叢集請求的節點數付費。如需詳細規格，請參閱[組態變更的費用](#managedomains-config-charges)。

為防止專用主節點超載，您可以[利用 Amazon CloudWatch 指標監控使用量](managedomains-cloudwatchmetrics.md)。如需建議的最大值，請參閱[Amazon OpenSearch Service 的建議 CloudWatch 警示](cloudwatch-alarms.md)。

## 組態變更的階段
<a name="managedomains-config-stages"></a>

在您啟動組態變更後，OpenSearch Service 會執行一系列步驟來更新您的網域。您可以在 主控台的組態變更**狀態下檢視組態變更**的進度。更新會經歷的確切步驟依您正在執行的變更類型而定。您也可使用 [DescribeDomainChangeProgress](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_DescribeDomainChangeProgress.html) API 操作來監控組態變更。

以下是更新在組派變更過程中可能會經歷的階段：


| 階段名稱 | Description | 
| --- | --- | 
| 驗證 | 驗證網域是否有資格進行更新，並在必要時顯示[驗證問題](#validation)。 | 
| 建立新環境 | 完成必要的先決條件並建立所需資源，以開始進行藍/綠部署。 | 
| 佈建新節點 | 在新環境中建立一組新的執行個體。 | 
| 新節點上的流量路由 | 將流量重新引導至新建立的資料節點。 | 
| 舊節點上的流量路由 | 停用舊資料節點上的流量。 | 
| 準備要移除的節點 | 準備移除節點。僅在您縮減網域時 (例如，從 8 個節點減少至 6 個節點)，系統才會執行此步驟。 | 
| 將碎片複製到新節點 | 將碎片從舊節點移動至新節點。 | 
| 終止節點 | 在移除碎片後，終止和刪除舊節點。 | 
| 刪除舊資源 | 刪除與舊環境 (例如負載平衡器) 相關聯的資源。 | 
| 動態更新 | 已在更新無需藍/綠部署且可動態套用更新時顯示。 | 
| 套用專用主要相關變更 | 在專用主執行個體類型或計數變更時顯示。 | 
| 套用磁碟區相關的變更 | 在磁碟區大小、類型、IOPS 和輸送量變更時顯示。 | 

## 藍/綠部署的效能影響
<a name="performance-impact-bluegreen"></a>

在藍/綠部署期間，您的 Amazon OpenSearch Service 叢集可用於傳入的搜尋和索引請求。不過，您可能會遇到下列效能問題：
+ 由於叢集要管理的節點越多，領導節點的使用量暫時增加。
+ 隨著 OpenSearch Service 將資料從舊節點複製到新節點，增加搜尋和索引延遲。
+ 隨著叢集負載在藍/綠部署期間增加，對傳入請求的拒絕增加。
+ 為了避免延遲問題和請求拒絕，您應該在叢集運作狀態良好且網路流量低時執行藍/綠部署。

## 組態變更的費用
<a name="managedomains-config-charges"></a>

如果變更網域的組態，OpenSearch Service 會建立新的叢集，如 [在 Amazon OpenSearch Service 中進行組態變更](#managedomains-configuration-changes) 中所述。在將舊的遷移到新的期間，您需要支付以下費用：
+ 如果您變更執行個體類型，會收取兩個叢集第一個小時的費用。在第一個小時後，則只會收取新叢集的費用。EBS 磁碟區不會收取兩次費用，因為它們是叢集的一部分，因此它們的計費會按執行個體計費。

  ** 範例：**您將組態從三個 `m3.xlarge` 執行個體變更為四個 `m4.large` 執行個體。對於第一個小時，您會被收取兩個叢集 (3 \* `m3.xlarge` \+ 4 \* `m4.large`) 的費用。在第一個小時後，則只會收取新叢集 (4 \* `m4.large`) 的費用。
+ 如果您不變更執行個體類型，您只會被收取最大叢集第一個小時的費用。在第一個小時後，則只會收取新叢集的費用。

  ** 範例：**您將組態從六個 `m3.xlarge` 執行個體變更為三個 `m3.xlarge` 執行個體。對於第一個小時，您會被收取最大叢集 (6 \* `m3.xlarge`) 的費用。在第一個小時後，則只會收取新叢集 (3 \* `m3.xlarge`) 的費用。

## 對驗證錯誤進行疑難排解
<a name="validation"></a>

當您啟動組態變更或者執行 OpenSearch 或 Elasticsearch 版本升級時，OpenSearch Service 首先會執行一系列驗證檢查，以確保您的網域有資格進行更新。如果其中任何一項檢查失敗，您會在主控台中收到通知，其中包含您必須在更新網域之前解決的特定問題。

如果網域保持無法使用狀態超過 60 天，OpenSearch Service 會隔離您的網域。我們會傳送通知提醒給您，以解決這些問題。如果您未在此時間範圍內修正問題，OpenSearch Service 會刪除您的網域及其資料。

下表列出 OpenSearch Service 可能出現的網域問題，以及解決這些問題的步驟。


| 問題 | 錯誤碼 | 疑難排解步驟 | 
| --- | --- | --- | 
| 找不到安全群組 | SecurityGroupNotFound | 與您的 OpenSearch Service 網域相關聯的安全群組不存在。若要解決此問題，請使用指定的名稱[建立安全群組](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#creating-security-groups)。 | 
| 找不到子網 | SubnetNotFound | 與您的 OpenSearch Service 網域相關聯的子網不存在。若要解決此問題，在您的 VPC 中[建立子網](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-subnets.html#create-subnets)。 | 
| 未設定服務連結角色 | SLRNotConfigured | 未設定 OpenSearch Service 的[服務連結角色](slr.md)。服務連結角色由 OpenSearch Service 預先定義，並包含服務代表您呼叫其他 AWS 服務所需的所有許可。如果角色不存在，則可能需要[手動建立](slr-aos.md#create-slr)。 | 
| IP 地址不足 | InsufficientFreeIPsForSubnets | 一個或多個 VPC 子網沒有足夠的 IP 地址來更新您的網域。若要計算您需要多少 IP 地址，請參閱 [在 VPC 子網路中保留 IP 地址](vpc.md#reserving-ip-vpc-endpoints)。 | 
| Cognito 使用者集區不存在 | CognitoUserPoolNotFound | OpenSearch Service 找不到 Amazon Cognito 使用者集區。確認您已建立一個且具有正確的 ID。若要尋找 ID，您可以使用 Amazon Cognito 主控台或以下 AWS CLI 命令：<pre>aws cognito-idp list-user-pools --max-results 60 --region {{us-east-1}}</pre> | 
| Cognito 身分集區不存在 | CognitoIdentityPoolNotFound | OpenSearch Service 找不到 Cognito 身分集區。確認您已建立一個且具有正確的 ID。若要尋找 ID，您可以使用 Amazon Cognito 主控台或以下 AWS CLI 命令：<pre>aws cognito-identity list-identity-pools --max-results 60 --region {{us-east-1}}</pre> | 
| 找不到使用者集區的 Cognito 網域 | CognitoDomainNotFound | 使用者集區沒有網域名稱。您可以使用 Amazon Cognito 主控台或下列 AWS CLI 命令來設定：<pre>aws cognito-idp create-user-pool-domain --domain {{my-domain}} --user-pool-id {{id}}</pre> | 
| 未設定 Cognito 角色 | CognitoRoleNotConfigured | 未設定 IAM 角色，該角色可授予 OpenSearch Service 許可以設定 Amazon Cognito 使用者集區和身分集區，並使用它們進行身分驗證。使用適當的許可集合和信任關係來設定角色。您可以使用 主控台，為您建立預設 [CognitoAccessForAmazonOpenSearch](cognito-auth.md#cognito-auth-role) 角色，也可以使用 AWS CLI 或 AWS SDK 手動設定角色。 | 
| 無法描述使用者集區 | UserPoolNotDescribable | 指定的 Amazon Cognito 角色沒有許可，無法描述與您的網域相關聯之使用者集區。請確定角色許可政策允許 cognito-identity:DescribeUserPool 動作。請參閱 [關於 CognitoAccessForAmazonOpenSearch 角色](cognito-auth.md#cognito-auth-role) 了解完整的許可政策。 | 
| 無法描述身分集區 | IdentityPoolNotDescribable | 指定的 Amazon Cognito 角色沒有許可，無法描述與您的網域相關聯之身分集區。請確定角色許可政策允許 cognito-identity:DescribeIdentityPool 動作。請參閱 [關於 CognitoAccessForAmazonOpenSearch 角色](cognito-auth.md#cognito-auth-role) 了解完整的許可政策。 | 
| 無法描述使用者集區和身分集區 | CognitoPoolsNotDescribable | 指定的 Amazon Cognito 角色沒有許可，無法描述與您的網域相關聯之使用者集區和身分集區。請確定角色許可政策允許 cognito-identity:DescribeIdentityPool 和 cognito-identity:DescribeUserPool 動作。請參閱 [關於 CognitoAccessForAmazonOpenSearch 角色](cognito-auth.md#cognito-auth-role) 了解完整的許可政策。 | 
| 未啟用 KMS 金鑰 | KMSKeyNotEnabled | 用於加密網域的 AWS Key Management Service (AWS KMS) 金鑰已停用。立即[重新啟用金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys)。 | 
| 自訂憑證未處於 ISSUED (已發行) 狀態 | InvalidCertificate | 如果您的網域使用自訂端點，您可以透過在 AWS Certificate Manager (ACM) 中產生 SSL 憑證或匯入您自己的憑證來保護它。憑證狀態必須為 **Issued** (已發佈)。如果您收到此錯誤，在 ACM 主控台中[檢查憑證的狀態](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-describe.html)。如果狀態為 Expired (已過期)、Failed (失敗)、Inactive (非作用中) 或者 Pending validation (待定驗證)，請參閱 ACM [疑難排解文件](https://docs.aws.amazon.com/acm/latest/userguide/troubleshooting.html)以解決該問題。 | 
| 沒有足夠的容量來啟動選擇的執行個體類型 | InsufficientInstanceCapacity | 請求的執行個體類型容量不可用。例如，您可能已經請求五個 `i3.16xlarge.search` 節點，但 OpenSearch Service 沒有足夠的 `i3.16xlarge.search` 主機可用，因此無法滿足請求。檢查 OpenSearch Service 中[支援的執行個體類型](supported-instance-types.md)並選擇不同的執行個體類型。 | 
| 叢集中的紅色索引 | RedCluster | 叢集中的一個或多個索引具有紅色狀態，這導致整體紅色叢集狀態。若要進行疑難排解並修正此問題，請參閱 [紅色叢集狀態](handling-errors.md#handling-errors-red-cluster-status)。 | 
| 對記憶體斷路器的請求太多 | TooManyRequests | 您的網域有太多的搜尋請求和寫入請求，因此 OpenSearch Service 無法更新其組態。您可以減少請求數量，將執行個體垂直擴展到 64 GiB 的 RAM，或者透過新增執行個體進行水平擴展。 | 
| 新組態無法存放資料 (磁碟空間不足) | InsufficientStorageCapacity | 設定的儲存空間大小無法存放您網域上的所有資料。若要解決此問題，請[選擇更大的磁碟區](limits.md#ebsresource)、[刪除未使用的索引](https://opensearch.org/docs/latest/opensearch/rest-api/index-apis/delete-index/)或增加叢集中的節點數目，以立即釋放磁碟空間。 | 
| 固定到特定節點的碎片 | ShardMovementBlocked | 網域中的一個或多個索引會連接至特定節點，且無法重新指派。這很可能是因為您已設定碎片分配篩選，這可讓您指定允許哪些節點託管特定索引的碎片。<br />若要解決此問題，請從所有受影響的索引中移除碎片分配篩選條件：<pre>PUT my-index/_settings<br />{  <br />  "settings": {    <br />    "index.routing.allocation.require._name": null  <br />  }<br />}</pre> | 
| 新組態無法存放所有碎片 (碎片計數) | TooManyShards | 您網域上的碎片計數太高，這會導致 OpenSearch Service 無法將它們移至新的組態。若要解決此問題，請新增與目前叢集節點相同的組態類型的節點，以便水平擴展您的網域。請注意，[EBS 磁碟區大小上限](limits.md#ebsresource)取決於節點的執行個體類型。若要避免將來發生此問題，請參閱 [選擇碎片數](bp-sharding.md) 並定義適用於您的使用案例的碎片策略。 | 
| 與您的網域相關聯的子網路不支援 IPv4 地址 | `ResultCodeIPv4BlockNotExists` | 若要解決此問題，請根據網域的已設定 IP 地址類型[，建立子網路或更新 VPC 中的現有子網路](https://docs.aws.amazon.com//vpc/latest/userguide/configure-subnets.html#subnet-IP-address-range)。如果您的網域使用**僅限 IPv4 ** 的地址類型，請使用IPv4-only的子網路。如果您的網域使用**雙堆疊模式**，請使用雙堆疊子網路。 | 
| 與您的網域相關聯的子網路不支援 IPv6 地址 | `ResultCodeIPv6BlockNotExists` | 若要解決此問題，請根據網域的已設定 IP 地址類型[，建立子網路或更新 VPC 中的現有子網路](https://docs.aws.amazon.com//vpc/latest/userguide/configure-subnets.html#subnet-IP-address-range)。如果您的網域使用**僅限 IPv4 ** 的地址類型，請使用IPv4-only的子網路。如果您的網域使用**雙堆疊模式**，請使用雙堆疊子網路。 | 