[AWS] Elastic Beanstalk + Elastic Cache + GithubActions + SpringBoot CI/CD 배포하기 (2)

lkdcode·2023년 12월 20일
0

AWS 배포하기

목록 보기
2/5
post-thumbnail

Spring Boot 를 AWS 로 배포해보자.
PRJ : Spring Boot (java17)
배포 : Elastic Beanstalk
DB : RDS (MySQL) Elastic Cache Redis
CI/CD : GithubAcations

이전 포스팅에서 Elastic Beanstalk 환경을 구성하고 샘플 애플리케이션 페이지 접속까지 성공적으로 마쳤다.
이제 데이터 베이스를 설정해보자.

💡 RDS

1

Elastic Beanstalk -> 환경 -> 구성 에서 네트워킹 및 데이터베이스 에 구성된 옵션이 없다.
편집 을 클릭해준다.

2

스크롤을 조금 아래로 내려서 위와 같이(혹은 프로젝트 환경과 같이) 세팅을 해준다.

  • 데이터베이스 활성화 를 시킨다.
  • 엔진, 엔진 버전, 인스턴스 클래스 를 설정한다.
  • db.t2.micro 는 프리티어다.
  • 사용자 이름, 암호 는 추후 프로젝트와 디비를 연결할 때 사용한다.

다른 설정은 해주지 않았다.

3

위와 같이 설정 후 적용

4

설정이 완료되는데까지 시간이 꽤 걸린다.

5

다시 Elastic Beanstalk -> 환경 -> 구성 -> 네트워킹 및 데이터베이스 -> 편집 으로 들어가면 엔드포인트가 생긴 것을 확인할 수 있다.
엔드포인트가 위보다 길다면 설정이 더 빨리 끝났다는 것이다.
끝에 ~com:3306 으로 되어있을텐데,: 을 기준으로 앞이 host, 뒤가 port 다.

엔드포인트 링크를 클릭해 이동한다.

6

DB 인스턴스 (1/40) 클릭

7

연결 및 보안에서 엔드포인트를 확인할 수 있다.

  • ~xxx.northeast-2.rds.amazonaws.comhost
  • 포트port 가 된다. (3306)

8

다시 Elastic Beanstalk -> 환경 -> 구성 으로 이동 후
스크롤을 내리면 업데이트, 모니터링 및 로깅 이 있다.
편집 클릭

9

위와 같이 환경 속성 을 설정해준다.

  • RDS_HOSTNAME : 위의 엔드포인트 (~xxx.rds.amazonaws.com 까지)
  • RDS_PORT : 3306 (엔드포인트 맨 뒤에 숫자 4개 3306)
  • RDS_USERNAME : 연결할 아이디 작성
  • RDS_PASSWORD : 연결할 패스워드 작성
  • RDS_DB_NAME : ebdb (ebdb 고정)

오탈자를 잘 확인하자, 다 작성했다면 적용 클릭

10

데이터 베이스로 이동하자.
RDS -> 데이터 베이스 -> DB 식별자 에서 아까 생성한 DB를 클릭

11

보안을 설정해줘야한다. VPC 보안 그룹 아래 그룹 링크 클릭

12

보안 그룹에서 Security group ID 탭을 클릭하면 인바운드 규칙을 설정할 수 있다.
인바운드 규칙 편집 클릭

13

기존의 설정은 지우고, 유형을 MYSQL/Aurora 소스 Anywhere-IPv4 로 설정한다.
규칙을 저장했다면 연결을 해보자.

스프링 부트에 의존성 추가

# build.gradle
	implementation 'mysql:mysql-connector-java:8.0.27'

💡 DBeaver Connection

14

데이터 베이스 도구로 DBeaver 를 사용하지만 다른 툴도 상관없다.
데이터 베이스를 MySQL 로 설정하고 다음

15

엔드포인트와 유저 정보를 입력해준다.
아까 설정한 환경 속성과 같은 값이다.

  • Server Host : ~xxx.rds.amazonaws.com 까지 (RDS_HOSTNAME)
  • Port : 3306 (RDS_PORT)
  • Database : ebdb (RDS_DB_NAME)
  • Username : RDS_USERNAME
  • Password : RDS_PASSWORD

위와 같이 작성해준다.
Test Connection ... 클릭

17

연결에 성공했다.

💡 IntelliJ Connection

18

플러그인 Database Navigator 를 설치한다.

19

DB Browser 가 생길텐데 MySQL 디비를 새로 추가해주자.
이후 연결은 똑같다.

20

엔드포인트와 유저 정보를 입력해준다.
아까 설정한 환경 속성과 같은 값이다.

  • Server Host : ~xxx.rds.amazonaws.com 까지 (RDS_HOSTNAME)
  • Port : 3306 (RDS_PORT)
  • Database : ebdb (RDS_DB_NAME)
  • Username : RDS_USERNAME
  • Password : RDS_PASSWORD

위와 같이 작성해준다.
Test Connection 클릭

21

연결 성공!!

23

기존 application.yml 을 설정해준다.
주석된 부분이 기존 설정.
${RDS....} 을 통해 Elastic Beanstalk 에 설정한 환경 속성 값을 읽어온다.

profile
되면 한다

0개의 댓글