카테고리 없음

AWS CodeDeploy

주정용 2021. 11. 21. 10:51
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/온프레미스 컴퓨팅 플랫폼

  • 다음 단계를 사용하여 배포 그룹의 인스턴스가 인스턴스의 다른 세트로 대체된다.
    1. 인스턴스는 대체 환경을 위해 프로비저닝
    2. 대체 인스턴스에 최신 애플리케이션 개정 설치
    3. 애플리케이션 테스트, 시스템 검증같은 활동에 선택적 대기 시간 발생
    4. 대체 환경의 인스턴스가 Elastic Load Balancing 로드 밸런서에 등록, 트래픽 라우팅
  • 원래 환경의 인스턴스는 등록이 취소되고 종료되거나 다른 용도로 계속 실행될 수 있다.
  • 블루/그린 배포는 Amazon EC2 인스턴스에서만 작동한다.

Amazon ECS 컴퓨팅 플랫폼

  • 기존 버전을 포함하는 작업 세트에서 동일한 서비스의 대체 작업 세트로 트래픽이 이동한다.
  • 배포 구성을 통해 선형 또는 canary로 트래픽 이동을 설정할 수 있다.
  • 지정된 로드밸런서 리스너의 포트와 프로토콜이 프로덕션 트래픽을 다시 라우팅하는 데 사용된다.
  • 배포 중 유효성 확인 테스트를 실행하면서 테스트 리스너를 사용하여 트래픽을 대체 작업 세트에 공급할 수 있다.

출처