1. 설치 개요
회사에서 CI/CD 환경을 Develop해야 하는 프로젝트가 생겼다.
기존엔 단순히 Jenkins를 통해서 EC2 인스턴스에 배포를 하였으나
운영 서비스의 가용성을 높이기 위해
AWS CodeDeploy를 통해 Auto Scaling을 이용한 Blue/Green배포를 구성하기로 결정했다.
열심히 CodeDeploy를 구성하여 테스트 중 배포가 실패하였는데
자세한 로그를 확인하기 위해서는 CodeDeploy Agent 설치가 필요했기에
설치하는 과정을 블로그로 남겨보고자 한다.
2. 설치 방법
OS는 Rocky Linux 9.5를 사용하고 있기 때문에
해당 OS 환경 기준으로 설명하겠다.
Agent 설치 전에 아래 패키지를 사전에 설치해줘야 한다.
sudo yum update
sudo yum install -y ruby
sudo yum install -y wget
wget을 활용하여 에이전트 설치 관리자를 다운로드 받는다.
wget https://bucket-name.s3.region-identifier.amazonaws.com/latest/install
여기에서 "bucket-name"과 "region-identifier"의 경우 리전 별 리소스 이름을 참고해야 하므로
나의 경우 서울리전을 이용하기 때문에 아래와 같이 명령어를 실행하면 된다.
wget https://aws-codedeploy-ap-northeast-2.s3.ap-northeast-2.amazonaws.com/latest/install
CodeDeploy 리소스 키트 참조 - AWS CodeDeploy
이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.
docs.aws.amazon.com
다운로드 받은 install 파일 실행을 위해 권한을 변경해주고 설치를 진행한다.
chmod +x ./install
sudo ./install auto # auto 옵션을 사용하면 최신버전의 agent를 설치할 수 있다.
아래 명령어로 서비스 실행 상태를 확인한다.
sudo systemctl start codedeploy-agent # 서비스 실행
sudo systemctl status codedeploy-agent # 서비스 실행상태 확인
3. 추가 오류 해결
CodeDeploy Agent가 OS 부팅 후에도 자동시작 될 수 있도록"sudo systemctl enable codedeploy-agent" 명령어를 실행하였으나 아래와 같은 에러가 나오면서등록이 되지 않았다.
$ sudo systemctl enable codedeploy-agent
Synchronizing state of codedeploy-agent.service with SysV service script with /usr/lib/systemd/systemd-sysv-install. Executing: /usr/lib/systemd/systemd-sysv-install enable codedeploy-agent
Failed to execute /usr/lib/systemd/systemd-sysv-install: No such file or directory
이는 RHEL9에서 /usr/lib/systemd/systemd-sysv-install 이 제거되었기 때문에 발생하는 오류이다.
이 경우 chkconfig 추가 패키지를 설치하면 문제가 해결된다.
sudo yum install -y chkconfig
위 패키지 설치 후 systemctl enable 명령어가 정상적으로 적용된 걸 확인할 수 있다.