跳至內容

如何對使用 CloudFormation for ElastiCache 時,收到的「400 錯誤代碼」錯誤進行疑難排解?

2 分的閱讀內容
0

我想對在使用 AWS CloudFormation for Amazon ElastiCache 時收到的「400 錯誤代碼」錯誤進行疑難排解。

簡短描述

當您直接或使用 CloudFormation 堆疊開始 AWS API 請求時,AWS 會執行初始語法檢查。這些檢查會確認請求已完成,且具有所有的必要參數。如果檢查失敗,您會收到錯誤訊息。

以下是當您向 ElastiCache 傳送 API 請求時,可能出現的 400 錯誤代碼錯誤及其原因:

  • 當請求因 API 請求限流而遭到拒絕時,您會收到限流錯誤。
  • 當 AWS 沒有足夠的可用容量來完成您的請求時,您會收到 InsufficientCacheClusterCapacity 錯誤。
  • 您會收到 SubnetInUse 錯誤,是因為您嘗試移除的子網路仍與一些執行個體相關聯。
  • 當您使用無效、不受支援或無法在請求中使用的參數值時,您會收到 InvalidParameterValue
  • 當您的要求的參數組合不正確或缺少參數時,您會收到 InvalidParameterCombination

若要解決 400 錯誤代碼錯誤,請確定您收到的特定 ElastiCache 呼叫 API 錯誤,然後採取適當的措施。

**注意:**如需可能出現的錯誤及其描述的清單,請參閱常見錯誤

解決方法

限流

如果您收到下列錯誤訊息:

「超出請求率 (服務: AmazonElastiCache;狀態代碼: 400;錯誤代碼: 限流;請求 ID:###)」

AWS 帳戶層級 API 呼叫配額並非針對特定服務。您無法增加或修改特定 API 呼叫的配額。API 呼叫也不能超過允許的最大 API 請求速率,即使是來自應用程式、命令列介面 (CLI) 或 AWS 管理主控台的呼叫也是如此。

若要解決此錯誤,請執行下列動作:

  • 使用具有抖動的指數退避來重試您的呼叫。
  • 請將您的 API 呼叫平均分散在一段時間內,避免在短時間內進行多次 API 呼叫。

InsufficientCacheClusterCapacity

如果您收到下列錯誤訊息:

「Cache.### (VPC) 目前在可用區 ### 中不受支援。請重試啟動,並且不要指定可用區或目標:###。(Service: AmazonElastiCache;狀態代碼: 400;錯誤代碼: InsufficientCacheClusterCapacity;請求 ID:###)」

若要解決此錯誤,請執行下列動作:

  • 由於容量經常變化,請等待幾分鐘,然後重新提交您的請求。
  • 使用另一種快取節點類型,然後重新提交您的請求。
  • 使用另一個子網路和可用區域,然後重新提交您的請求。

如需詳細資訊,請參閱錯誤訊息: InsufficientCacheClusterCapacity

SubnetInUse

如果您收到下列錯誤訊息:

「子網路 ID subnet-### 正在使用中 (服務: AmazonElastiCache;狀態代碼: 400;錯誤代碼: SubnetInUse;請求 ID:###)」

若要解決此錯誤,請從子網路移除所有相關資源,然後重新提交您的請求。如需更多資訊,請參閱範例

InvalidParameterValue

檢查請求呼叫的每個參數。如果參數值無效、不支援或無法在請求中使用,那麼您會收到下列其中一個錯誤訊息。

「提供的 AuthToken 無效。(Service: AmazonElastiCache;狀態代碼: 400;錯誤代碼: InvalidParameterValue";請求 ID:###)」

若要解決前述錯誤,請確認您在使用 ElastiCache for Redis 的 AUTH 功能時,auth-token 設定符合相關限制條件。如需詳細資訊,請參閱使用 Valkey 和 Redis OSS AUTH 命令進行驗證

「快照時段和維護時段不能重疊。(Service: AmazonElastiCache;狀態代碼: 400;錯誤代碼: InvalidParameterValue;請求 ID:###)」

若要解決先前的錯誤,請將快照時段和維護時段分隔為不同的時間段。您無法同時設定快照時段和維護時段。

「每個節點群組的複本數量必須介於 0 和 5 之間。(Service: AmazonElastiCache;狀態代碼: 400;錯誤代碼: InvalidParameterValue;請求 ID:###)」

若要解決上述錯誤,請最多只新增 5 個複本節點。ElastiCache for Redis 每個碎片支援一個主節點和零到五個複本節點。如需詳細資訊,請參閱了解 Valkey 和 Redis OSS 複寫

InvalidParameterCombination

如果請求呼叫的參數組合不正確或缺少參數,那麼您可能會收到下列其中一個錯誤訊息。

「找不到 redis 的 5.0.0 版本 (服務: AmazonElastiCache;狀態代碼: 400;錯誤代碼: InvalidParameterCombination;請求 ID:###)」

此錯誤表示您請求呼叫的 Redis 版本不受支援。如需詳細資訊,請參閱支援的 Redis OSS 版本支援的 Memcached 版本

「無法將 redis 從 6.0.5 還原為 5.0.6。(Service: AmazonElastiCache;狀態代碼: 400;錯誤代碼: InvalidParameterCombination;請求 ID:###)」

若要解決上述錯誤,請確定您的 Redis 引擎版本為目前引擎版本或更新版本。當您使用備份建立新 Redis 叢集時,ElastiCache for Redis 不支援降級的 Redis 引擎版本。此外,ElastiCache for Redis 並不會降級執行中 Redis 叢集的 Redis 引擎版本。如需詳細資訊,請參閱Valkey、Memcached、Redis OSS 自行設計快取比較

「使用自動容錯移轉時,複本群組中必須至少有 2 個快取叢集。(Service: AmazonElastiCache;狀態代碼: 400;錯誤代碼: InvalidParameterCombination;請求 ID:###)」

若要解決上述錯誤,請在至少有一個可用讀取複本的 Redis 叢集中,開啟自動容錯移轉選項。確認您的 Redis 複寫群組具有多個複本節點,然後重新提交您的請求。如需詳細資訊,請參閱使用帶有 Valkey 和 Redis OSS 的多可用區域,將 ElastiCache 中的停機時間降至最低

相關資訊

ElastiCache 的配額

持續的連線問題

安裝或更新至最新版本的 AWS CLI

AWS 官方已更新 10 個月前