我嘗試對 Amazon Redshift 叢集使用 AWS CloudFormation 來執行彈性調整大小。但是,它改為執行傳統調整大小。
解決方案
**重要事項:**如果您使用 Amazon Redshift 主控台來調整叢集大小,則叢集並未在 AWS CloudFormation 範本中註冊。反而,請使用 AWS CloudFormation 範本來確保 numberofNodes 參數已更新。否則,儘管叢集符合大小調整要求,Amazon Redshift 也可能會執行傳統調整大小。自從上次調整大小以來節點計數沒有變更時,Amazon Redshift 即會以這種方式運作。
未符合下列任何要求時,Amazon Redshift 會執行傳統調整大小:
- 僅修改 numberofNodes 參數。
- 若為 dc2.large 或 ds2.xlarge 節點類型: 僅能將節點計數增加兩倍,或減少節點計數為原始叢集的一半。
- 若為 dc2.8xlarge 或 ds2.8xlarge 節點類型: 最多可以調整原始節點計數兩倍的大小,或將大小調整至原始節點計數的一半。例如,可以將 16 節點叢集大小調整為介於 8 到 32 節點之間的任何大小。
- 若為 ra3.16xlarge 或 ra3.4xlarge 節點類型: 最多可以調整原始節點計數四倍的大小,或將大小調整至原始節點計數的四分之一。例如,可以將 16 節點叢集大小調整為介於 4 到 64 節點之間的任何大小。
- 若為 ra3.xlplus 節點類型: 最多可以調整原始節點計數兩倍的大小,或將大小調整至原始節點計數的四分之一。例如,可以將 16 節點叢集大小調整為介於 4 到 32 節點之間的任何大小。
- 節點數不得超過片段數。片段數會在 Amazon Redshift 叢集啟動時確認。例如,如果啟動具有兩個 dc2.large 節點的叢集,則叢集會有四個片段。這表示使用彈性調整大小時,僅能將節點計數增加到四個節點。
如果 Amazon Redshift 叢集執行了傳統調整大小,請務必檢閱下列區域:
- 檢查 Amazon Redshift 主控台以確認叢集中的實際節點數。確認它是否與 AWS CloudFormation 範本中的 numberofNodes 參數相符。
- 使用 DescribeClusters API 從 AWS CloudTrail 擷取資訊,並確認根本原因分析。在 AWS CloudTrail 日誌中尋找 elasticResizeNumberOfNodeOptions 參數,以驗證您的 Amazon Redshift 叢集是否符合彈性調整大小的資格。當叢集片段不符合彈性調整大小要求時,參數不會列出更新節點計數的選項。
**注意事項:**在更新 Amazon Redshift 叢集的節點計數之前,請使用 DescribeNodeConfigurationOptions API。DescribeNodeConfigurationOptions API 可協助您確認彈性調整大小的適當節點組態,例如節點計數和類型。
相關資訊
如何調整 Amazon Redshift 叢集的大小?
在 Amazon Redshift 中管理叢集的概觀