728x90
CodePipeline을 구축하다가 유용해서 기록.
Code Deploy
Amazon EC2 인스턴스, 온프레미스 인스턴스, 서버리스 Lambda, Amazon ECS 서비스로 애플리케이션 배포를 자동화하는 배포 서비스.
- 다양한 애플리케이션 콘텐츠를 거의 무제한으로 배포할 수 있게 해준다.
- 코드
- 서버리스 AWS Lambda 함수
- 웹 및 구성 파일
- Executables
- 패키지스크립트
- 멀티미디어 파일
배포 구성
배포 중 CodeDeploy에서 사용하는 배포 규칙, 배포 성공/실패 조건 세트.
AWS Lambda
Canary
- 트래픽이 2 증분씩 이동.
Linear
- 트래픽이 동일한 증분으로 이동.
All-at-once
- 모든 트래픽이 업데이트된 Lambda 함수 버전으로 한번에 이동.
Amazon ECS
Canary
- 트래픽이 2 증분씩 이동.
Linear
- 트래픽이 동일한 증분으로 이동.
All-at-once
- 모든 트래픽이 업데이트된 Amazon ECS 작업 세트로 모두 한 번에 이동.
배포 그룹
개별 인스턴스 세트. 배포 그룹에는 개별적으로 태그가 지정된 인스턴스나 Amazon EC2 Auto Scaling 그룹의 Amazon EC2 인스턴스가 포함된다.
배포 유형
배포 그룹의 인스턴스에서 최신 애플리케이션 개정을 사용 가능하게 만드는 방법이다.
실행 중 배포
- 배포 그룹의 각 인스턴스에 있는 애플리케이션이 중지되고 최신 애플리케이션 개정 버전이 설치된다.
- 애플리케이션의 새 버전이 시작된다.
- 로드 밸런서를 사용하면 배포가 진행될 때 각 인스턴스를 등록 취소한 후 배포가 완료된 후 서비스로 복원할 수 있다.
블루/그린 배포
EC2/온프레미스 컴퓨팅 플랫폼
- 다음 단계를 사용하여 배포 그룹의 인스턴스가 인스턴스의 다른 세트로 대체된다.
- 인스턴스는 대체 환경을 위해 프로비저닝
- 대체 인스턴스에 최신 애플리케이션 개정 설치
- 애플리케이션 테스트, 시스템 검증같은 활동에 선택적 대기 시간 발생
- 대체 환경의 인스턴스가 Elastic Load Balancing 로드 밸런서에 등록, 트래픽 라우팅
- 원래 환경의 인스턴스는 등록이 취소되고 종료되거나 다른 용도로 계속 실행될 수 있다.
- 블루/그린 배포는 Amazon EC2 인스턴스에서만 작동한다.
Amazon ECS 컴퓨팅 플랫폼
- 기존 버전을 포함하는 작업 세트에서 동일한 서비스의 대체 작업 세트로 트래픽이 이동한다.
- 배포 구성을 통해 선형 또는 canary로 트래픽 이동을 설정할 수 있다.
- 지정된 로드밸런서 리스너의 포트와 프로토콜이 프로덕션 트래픽을 다시 라우팅하는 데 사용된다.
- 배포 중 유효성 확인 테스트를 실행하면서 테스트 리스너를 사용하여 트래픽을 대체 작업 세트에 공급할 수 있다.