Github Action으로 Spring boot 배포하기(3)

김우진·2022년 9월 9일
0

EC2 배포용 IAM 역할 생성

  1. EC2에서 사용할 IAM 역할을 만들어 주어야 합니다.
    저희는 EC2에서 S3와 CodeDeploy를 사용할 것이므로 만들 역할에서 이들을 사용할 수 있는 권한을 주어야 합니다.

  2. Deploy를 하기 위해 IAM 역할을 만들어 줍니다. IAM 페이지에서 역할 tab에서 역할 만들기를 누릅니다.

  1. AWS 서비스와 사용 사례에서 EC2를 선택한다.

  2. 권한 정책에서 'AmazonS3FullAccess'와 AWSCodeDeployFullAccess'를 추가해줍니다.

  3. 역할의 이름과 설명을 작성하고 역할을 생성합니다.

CodeDeploy 역할 생성

  1. EC2 배포용 IAM 역할 생성과 동일하게 IAM 역할에서 역할 만들기를 누릅니다.

  2. AWS 서비스와 사용 사례에서 CodeDeploy를 선택합니다.

  3. 다른 부분은 그대로 두고 역할 이름만 작성해 준 뒤 생성해 줍니다.

  4. 아래처럼 IAM 역할에 CodeDeploy 역할이 생성되면 됩니다.

EC2 생성 후 IAM 역할 수정

EC2 생성부분은 해당 게시글을 참고하길 바랍니다.
EC2 생성하기

  1. IAM 역할을 변경하기 위해 생성된 인스턴스에서 오른쪽 버튼을 누른 후 보안->IAM 역할 수정을 누릅니다.

  1. 게시글 맨 처음에 EC2 배포용 IAM으로 IAM을 바꿔줍니다.

생성된 EC2에 CodeDeploy Agent 설치

Ubuntu Server 용 CodeDeploy Agent를 설치 방법에 대해 상세히 알고 싶다면 여기를 참고하길 바랍니다.

  1. EC2로 잘 접속했으면 /home/ubuntu 아래에 자신의 프로젝트 디렉토리를 하나 생성합니다.

❗️ 중요
안 만들어도 상관없지만 만든 경우 후에 만들 github의 appspec.yml에 files destination 경로를 같이 맞춰주어야 합니다.

  1. 저는 Ubuntu Server 16.04 이상 버전이므로 EC2 Server에 접속해서 아래와 같이 입력합니다.
sudo apt update
sudo apt install ruby-full
sudo apt install wget

cd /home/ubuntu
  1. 이후 아래의 명령을 입력합니다. 기본 명령어는 다음과 같고 bucket-name과 region-identifier를 자신에 맞게 변경하면 됩니다. 자신의 bucket-name이 아니므로 주의하시길 바랍니다.
wget https://{{bucket-name}}.s3.{{region-identifier}}.amazonaws.com/latest/install

한국 리전인 경우 아래와 같이 입력

wget https://aws-codedeploy-ap-northeast-2.s3.ap-northeast-2.amazonaws.com/latest/install
  1. 위와 같이 진행하였을 때 403, 404등 error 가 발생하지 않았다면 agent는 재대로 설치되었습니다. 이제 아래의 명령을 입력해 설정을 변경해줍니다.
chmod +x ./install
sudo ./install auto

설치 확인
sudo service codedeploy-agent status 를 입력하면 아래와 같이 떠야 정상입니다.

JDK 설치

  1. 자신의 프로젝트에 맞는 jdk를 설치해줍니다.
# jdk 설치
sudo apt-get install {{ 자신에게 맞는 jdk }} (e.x. openjdk-11-jdk)

# 설치 확인
java -version

이렇게 하면 EC2에서 할 일은 다 끝납니다. 다음으로는 이제 본격적인 CodeDeploy를 활용하여 github action에 연동하도록 하겠습니다.

0개의 댓글