본문 바로가기
클라우드 및 인프라/AWS

[AWS] [2] codepipeline으로 Github+ CodeBuild + CodeDeploy 생성하기, AWS CI/CD 구축하기

by 작은소행성 2022. 6. 15.

[2] codedeploy 생성하기 

 

EC2 에 CodeDeploy -agent 설치

 

aws-cli 를 설치

sudo yum install -y aws-cli

home 으로 이동해서 cli 설정을 진행한다. 

cd /home/ec2-user
sudo aws configure

  • Access Key, Secret Access Key : aws 로그인 정보
  • region name : ap-northeast-2
  • output format : json

 

codedeploy-agent 설치

 

codedeploy-agent에 필요한 ruby와 codedeploy-agent를 설치해준다.

codedeploy-agent는 CodeDeploy 앱이 배포 명령을 내리는 것을 수신하고 작업을 수행하는 역할을 하는 프로그램인듯하다. 이 친구가 없으면 CodeDeploy 가 EC2와 작업을 하지 못한다.

sudo yum update
sudo yum install -y ruby
wget https://aws-codedeploy-ap-northeast-2.s3.ap-northeast-2.amazonaws.com/latest/install
chmod +x ./install
sudo ./install auto

codedeploy-agent를 실행시켜주고 Active한 상태인지 확인해본다.

sudo service codedeploy-agent start && sudo service codedeploy-agent status

 

 

재부팅시 자동으로 code deploy agent가 실행될 수 있도록 아래 스크립트를 작성한다. 

sudo vi /etc/init.d/codedeploy-startup.sh
#!/bin/bash 
echo 'Starting codedeploy-agent' 
sudo service codedeploy-agent restart
sudo chmod +x /etc/init.d/codedeploy-startup.sh

chmod 전
chmod 후

 

 

IAM 권한 연결하기

 

IAM > Role > 역할 생성 에서 CodeDeploy > Next 

 

 

EC2 와 Codedeploy를 사용하기 위해 아래 3가지 권한을 추가해준다. 

  • AmazonEC2RoleforAWSCodeDeploy
  • AWSCodeDeployFullAccess
  • AWSCodeDeployRole

 

 

 

CodeDeploy 생성

배포 그룹 이름과 서비스를 선택하고 

배포 유형에서 블루/그린을 선택한다. 

환경 구성은 Amazon EC2 Auto Scaling 그룹 자동 복사를 선택하고 미리 생성해둔 auto scaling 을 선택해준다.

배포 설정은 아래와 같이 생성한다.

원본 인스턴스를 바로 종료하고 싶으면 0분을 선택하면 된다. 

 

로드 밸런서도 미리 만들어둔 로드 밸런서를 선택해준다.

 

 

 

반응형