簡體   English   中英

在 AWS CodeDeploy 中使用藍/綠部署時,我們如何維護自動擴展組的狀態?

[英]How can we maintain state of autoscaling group while using Blue/Green Deployment in AWS CodeDeploy?

我們已經使用 Terraform 為一個項目設置了基礎設施,包括代碼部署、ALB 和自動縮放組。 到目前為止,我們正在進行就地部署。 但是現在我們正在嘗試切換到藍/綠部署。 由於 CodeDeploy 藍/綠部署在成功部署時替換了整個自動縮放組,因此 Terraform 狀態文件中自動縮放組的舊狀態將變得陳舊,並且不會反映 CodeDeploy 服務添加的新自動縮放組。 有什么已知的方法可以克服這個問題嗎?

根據您觸發 Code Deploy 部署的方式,您可以在部署腳本中將Terraform 導入作為部署后掛鈎運行,以更新 Terraform 狀態以指向新的自動縮放組。 您需要通過眾多客戶端庫之一或CLI以某種方式獲取新 ASG 的名稱

terraform import aws_autoscaling_group.some_asg_identifier name-of-your-replacement-asg

你可以使用

lifecycle {
  ignore_changes = [autoscaling_groups]
}

aws_codedeploy_deployment_group

您還可以設置autoscaling_groups[]aws_codedeploy_deployment_group因為新創建的自動縮放組將是一個不同的(由CodeDeploy創建)當CodeDeploy部署一個新的綠色環境。

因此,上面的代碼將忽略自動縮放組刪除/創建時發生的更改。 這是因為一旦實施藍綠部署,CodeDeploy 就會控制自動縮放組的創建。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM