AWS/TroubleShooting

AutoScaling 중 Scale-out 발생 시 구 버전 이미지(CI/CD) 배포

jih0ssang 2024. 7. 2. 15:26

참고 사이트

https://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/integrations-aws-auto-scaling.html

 

배포 중 이벤트 확장

 

 

Amazon EC2 Autoscaling Group 와 CodeDeploy가 연동된 상황이다.

CodeDeploy 배포가 진행되는 동안 Auto Scaling Scale-out 이벤트가 발생되면 해당 인스턴스는 최신 개정판이 아닌, 애플리케이션의 이전 개정판을 받는다.

해당 인스턴스를 최신 상태로 만들기 위해 CodeDeploy는 자동으로 후속 배포를 시작하여 오래된 인스턴스를 업데이트해야 한다.

 

오래된 인스턴스에 대한 자동 업데이트 

1. CodeDeploy API

2. AWS CLI

방식은 총 2가지가 있다.

 

 

 

해결 방법

참고 사이트

https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-groups-configure-advanced-options.html#auto-updates-outdated-instances

 

 

# AWS API를 통해 자동 업데이트 구성  (AWS CodeDeploy API 참조)
UpdateDeploymentGroup
CreateDeploymentGroup
outdatedInstancesStrategy
위의 요청 파라미터를 포함



# AWS CLI를 통해 자동 업데이트 구성
aws deploy update-deployment-group arguments --outdated-instances-strategy UPDATE|IGNORE
aws deploy create-deployment-group arguments --outdated-instances-strategy UPDATE|IGNORE
...여기서 는 arguments배포에 필요한 인수로 바뀌고, UPDATE|IGNORE는 자동 업데이트를 활성화하거나 UPDATE 또는 비활성화하는 IGNORE으로 바뀝니다 .


aws deploy update-deployment-group --application-name "MyApp" --current-deployment-group-name "MyDG" --region us-east-1 --outdated-instances-strategy IGNORE
이러한 AWS CLI 명령에 대한 자세한 내용은 AWS CLI 명령 참조를 참조하세요 .

 

 

* Auto Scaling Scale out 인스턴스 확인했더니 자동 업데이트 되어있음. 위의 상황은 필요시 수행 바람