本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 CloudFormation 管理 ECS 藍/綠部署時的考量事項
使用 CloudFormation 透過 CodeDeploy 來執行 ECS 藍/綠部署的程序與僅使用 CodeDeploy 的標準 ECS 部署不同。如需詳細了解這些差異,請參閱《AWS CodeDeploy 使用者指南》中的透過 CodeDeploy 和 CloudFormation 進行 Amazon ECS 藍/綠部署之間的差異。
使用 CloudFormation 管理藍/綠部署時,請注意特定限制和考量事項:
-
只有特定資源的更新才會啟動綠色部署。如需更多詳細資訊,請參閱 啟動綠色部署的資源更新。
-
無法在相同堆疊更新中包含觸發藍/綠部署的資源更新以及對其他資源的更新。如需更多詳細資訊,請參閱 啟動綠色部署的資源更新。
-
您只能指定單一 ECS 服務作為部署目標。
-
CodeDeploy 無法在綠色部署期間更新其值被 CloudFormation 模糊化的參數,這會導致錯誤和堆疊更新失敗。其中包含:
-
使用
NoEcho屬性定義的參數。 -
使用動態參照從外部服務擷取其值的參數。如需動態參考的詳細資訊,請參閱 使用動態參考取得存放在其他服務中的值。
-
-
若要取消仍在進行中的綠色部署,請取消 CloudFormation 中的堆疊更新,而不是 CodeDeploy 或 ECS。如需更多詳細資訊,請參閱 取消堆疊更新。更新完成之後,您便無法將其取消。不過,您可以使用任何之前的設定重新更新堆疊。
-
對於定義 ECS 藍/綠部署的範本,目前不支援下列 CloudFormation 功能:
-
宣告輸出或使用 Fn::ImportValue,從其他堆疊中匯入值。
-
匯入資源。如需有關匯入資源的詳細資訊,請參閱 將 AWS 資源匯入 CloudFormation 堆疊。
-
在包含巢狀堆疊資源的範本中使用
AWS::CodeDeploy::BlueGreen勾點。如需巢狀堆疊的詳細資訊,請參閱運用巢狀堆疊,將範本分割成可重複使用的部分。 -
在巢狀堆疊中使用
AWS::CodeDeploy::BlueGreen勾點。
-