AWS CodeDeploy 개발자 도구 설정
1. 애플리케이션 생성

콘솔 홈에서 가장 먼저 할 것은 우측 상단의 지역을 서울로 변경하는 것이다. 지역을 서울로 변경한 후 서비스 ➜ 개발자 도구 ➜ CodeDeploy를 클릭하면 CodeDeploy 대시보드로 이동한다.

CodeDeploy 대시보드에서 애플리케이션 생성 버튼을 클릭하면 애플리케이션 세팅 화면으로 이동한다.

애플리케이션 생성 화면에서는 내가 만들 애플리케이션의 스펙을 결정할 수 있다. 애플리케이션 구성에서 애플리케이션의 이름과 컴퓨팅 플랫폼을 선택할 수 있다. 컴퓨팅 플랫폼의 경우 나는 EC2 인스턴스에서 사용할 예정이므로 EC2/온프레미스를 선택했다.
2. 배포 그룹 생성

애플리케이션을 만들었다면 이제 애플리케이션의 배포 그룹을 생성해야 한다. 애플리케이션에서 배포 그룹을 생성할 애플리케이션의 이름을 클릭하면 상세 정보 화면으로 이동할 수 있다.

애플리케이션 상세 정보 화면에서 배포 그룹 생성 버튼을 클릭하면 배포 그룹 세팅 화면으로 이동한다.

배포 그룹 세팅 화면에서는 내가 만들 배포 그룹의 스펙을 결정할 수 있다.
2.1. 애플리케이션

애플리케이션에서는 생성할 배포 그룹의 애플리케이션 정보를 확인할 수 있다.
2.2. 배포 그룹 이름

배포 그룹 이름에서는 배포 그룹의 이름을 지정할 수 있다.
2.3. 서비스 역할

서비스 역할에서는 해당 배포 그룹의 역할을 지정할 수 있다. 역할은 IAM에서 만들 수 있다. 나는 AWSCodeDeployRole 권한을 가진 IAM 역할을 지정했다.
2.4. 배포 유형

배포 유형에서는 애플리케이션의 배포 방법을 선택할 수 있다.
블루/그린 배포
블루/그린 배포는 배포 환경을 두 개로 분리해서 무중단 배포를 하는 기법을 가리킨다. 블루 환경은 현재의 프로덕션 환경이고 그린 환경은 스테이징 환경이다. 스테이징 환경은 논리 복제를 사용하여 현재 프로덕션 환경과 동기화된 상태로 유지된다. 변경 사항을 그린 환경에 적용하는 동안 블루 환경은 영향을 받지 않는다. 그린 환경이 배포 준비가 되면 환경을 전환해서 그린 환경을 새로운 프로덕션 환경으로 만들고 블루 환경을 스테이징 환경으로 만든다.
아직 내 프로젝트는 무중단 환경이 필요하지 않으므로 현재 위치를 선택했다.
2.5. 환경 구성

환경 구성에서는 배포 그룹에 추가할 환경을 선택할 수 있다. 온프레미스 인스턴스는 EC2 인스턴스가 아닌 다른 물리적 디바이스를 가리킨다. 나는 EC2 인스턴스에서 배포할 것이므로 Amazon EC2 인스턴스를 선택하고 태그를 추가했다.
2.6. AWS System Manager를 사용한 에이전트 구성

지금 당장 필요하지 않은 옵션이므로 안 함을 선택했다.
2.7. 배포 설정

배포 설정에서는 인스턴스 배포 정책을 결정할 수 있다.
CodeDeployDefault.AllAtOnce: 가급적 많은 수의 인스턴스에 애플리케이션 개정을 배포
하나 이상의 인스턴스에 개정이 배포되면 전체 배포 성공
CodeDeployDefault.HalfAtATime: 최대 절반의 인스턴스에 한 번에 배포
절반 이상의 인스턴스에 개정이 배포되면 전체 배포 성공
CodeDeployDefault.OneAtATime: 한 번에 한 인스턴스에 애플리케잇녀 개정을 배포
하나의 인스턴스에 개정이 배포되면 전체 배포 성공
나는 하나의 EC2 인스턴스에 배포할 것이므로 OneAtATime을 선택했다.

로드 밸런서에서는 트래픽을 관리할 로드 밸럭서를 선택할 수 있다. 내 프로젝트의 현재 단계에서는 필요하지 않으므로 비활성화를 선택했다.
2.8. 트리거

추가옵션인 트리거에서는 배포 그룹의 트리거를 지정할 수 있다. 나는 필요하지 않아 생략했다.
2.9. 경보

추가옵션인 경보에서는 배포 그룹의 알림을 지정할 수 있다. 나는 필요하지 않아 생략했다.
2.10. 롤백

추가옵션인 롤백에서는 배포 그룹의 롤백 정책을 설정할 수 있다. 나는 필요하지 않아 생략했다.
2.11. 배포 그룹 태그

추가옵션인 배포 그룹 태그에서는 배포 그룹의 태그을 설정할 수 있다. 나는 필요하지 않아 생략했다.
모든 세팅이 끝나고 배포 그룹 생성 버튼을 클릭하면 배포 그룹을 생성할 수 있다.
참고 자료
Last updated