CI/ CD (2)

박진은·2023년 1월 15일
0

CICD whit actions

목록 보기
2/3

RDS 연결

RDS

  • RDS 는 스프링 클라우드 서비스에서 제공하는 데이터 베이스이다.

필자는 저번 포스트에서 생성한 ec2 인스턴스에서 가동될 데이터 베이스를 생성하기 위해서 rds를 생생했다.
rds를 생성할때 중요한 점은 다음과 같다.

  • 편의성을 위한 로컬 환경과 동일한 DBMS 선택

  • 퍼블릭 접속 허용(for the test with local application)

  • 인바운드 규칙으로 ec2의 보안 그룹 아이디 설정

  • 유형을 MYSQL/Aurora 로 선택하고 사용자 지정으로 EC2 보안 그룹의 ID 를 추가하고 저장합니다.

마지막 과정을 적용하지 않는다면 다른 ec2 인스턴스에서 접근이 불가능해서 runtime 오류가 밸생할 수 있다는 점을 주의해야한다.

이후 로컬 환경에서 동일하게 동일하고 application.yml 파일을 적용하면 되는데 profil을 적용해서 러닝입을 관리하기 보다는 gitgnore 을 설정하고 yml을 직접적으로 git에 커밋하는 방법을 추천한다. 굳이 이런식으로 진행하는 이유는 intellj ultimate(필자가 사용하고 있음) 에는 yml, properties 의 profile 을 다르게 설정해서 build를 진행할 수 있지만 enterpries version을 사용하는 분이면 이 과정에 꽤나 복잡한 과정을 거쳐야 하기 때문에 이 과정을 생략 가능하다는 장점이 있기 때문이다.

profile 이란 컴파일에 필요한 정적요소를 명시하는 파일을 말하는데 yml 파일의 경우에는
application-{profile-name}.yml 이렇게 명명해야 intellj 에서 사용하는 profile을 변경하는 기능을 사용할 수 있다. 하지만 꼭 위에서 편의성을 위해서 필자가 위에서 언급한 부분을 사용하길 바란다.

spring:
  datasource:
    url: jdbc:mysql://{rds.endpoint-name}:3306
    username: admin
    password: *********

  jpa:
    database: mysql
    database-platform: org.hibernate.dialect.MySQL8Dialect

    hibernate:
      ddl-auto: update
    show-sql: true

    properties:
      hibernate:
        format_sql: true
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher

application yml 의 설정 예시이다 위에서 볼 수 있듯 rds 주소 끝에 꼭 3306 port를 명시해주어야한다. 왜냐하면 위에서 인바운드 규칙에서 3306 well known port 를 사용했기 때문이다.

RDS parameter 설정하기

RDS 는 다음 세가지 설정을 필수로 해줘야 합니다.

  • Time Zone
  • Character Set
  • Max Connection

필자는 파라미터 위에서 언급한 파라 미터들을 전부 utf8bmt 로 설정했다.

  • 변경사항을 설정하고 나서는 반드시 변경사항 즉시적용을 선택해서 바로 test를 적용하길 바란다. 왜냐하면 database를 변경사항을 적용하는 동기적으로 진행하면 꽤나 오랜 시간이 걸린다.
profile
코딩

0개의 댓글