[英]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.