본문 바로가기

프로젝트

IntelliJ 랑 AWS RDS 연동하는법

spring:
  profiles:
    group:
      "local": "localDB, devPort, secret, web-mvc"
      "dev": "devDB, devPort, secret, web-mvc"
      "prod": "prodDB, prodPort, secret, web-mvc"

---

spring:
  config:
    activate:
      on-profile: "localDB"

  datasource:
    url: ${DATASOURCE_URL_LOCAL} # 로컬 DB URL
    username: ${DATASOURCE_USERNAME} # 로컬 DB 사용자 이름
    password: ${DATASOURCE_PASSWORD} # 로컬 DB 비밀번호
    driver-class-name: com.mysql.cj.jdbc.Driver
    dbcp2:
      validation-query: select 1
  sql:
    init:
      platform: mysql

---

spring:
  config:
    activate:
      on-profile: "devDB"

  datasource:
    url: ${DATASOURCE_URL_DEV} # 개발 DB URL
    username: ${DATASOURCE_USERNAME} # 개발 DB 사용자 이름
    password: ${DATASOURCE_PASSWORD} # 개발 DB 비밀번호
    driver-class-name: com.mysql.cj.jdbc.Driver
    dbcp2:
      validation-query: select 1
  sql:
    init:
      platform: mysql

---

spring:
  config:
    activate:
      on-profile: "prodDB"

  datasource:
    url: ${DATASOURCE_URL_PROD} # 프로덕션 DB URL
    username: ${DATASOURCE_USERNAME} # 프로덕션 DB 사용자 이름
    password: ${DATASOURCE_PASSWORD} # 프로덕션 DB 비밀번호
    driver-class-name: com.mysql.cj.jdbc.Driver
    dbcp2:
      validation-query: select 1
  sql:
    init:
      platform: mysql

---

spring:
  config:
    activate:
      on-profile: "devPort"

server:
  port: 9000

---

spring:
  config:
    activate:
      on-profile: "prodPort"

server:
  port: 9001

---

spring:
  config:
    activate:
      on-profile: "secret"

secret:
  jwt-secret-key: ${JWT_SECRET_KEY}
  jwt-expired-in: ${JWT_EXPIRED_IN}

---

spring:
  config:
    activate:
      on-profile: "web-mvc"

  mvc:
    throw-exception-if-no-handler-found: true

  web:
    resources:
      add-mappings: false

  messages:
    basename: errors

현재 application.yml 파일이고 정보 누출을 막기위해 환경변수 설정을 해둔 상태이다

로컬 디비가 아니라 AWS RDS에 연결할거라서 먼저 필요한 정보는 DB URL, 사용자 이름, 비밀번호가 필요하다!

인텔리제이를 열고 우측 상단에 드롭바(?)를 누르면 사진같이 뜨는데 Edit Configurations에 들어간다

들어오면 다음과 같은 화면이 뜰거고, spring application을 만들어준다! 이름은 임의로MealPlanBServerApplication이라고 했고, Build and Run 도 사진에서 보이는 것과 동일하게 설정해주면 된다

다음으로 환경 변수를 설정해야하는데

사진처럼 작성해주면 된다!

aws database url 주소를 각각 DATASOURCE_URL_DEV/LOCAL/PROD 에 넣어준다

password 에는 말그대로 aws password 를 넣어주고, database의 username 도 aws 에 적혀있는 그대로 넣어주면 된다

JWT 도 사용하고있어서 환경변수 설정이 되어있는데 이 부분은 생략하고 넣어주어도 문제없이 돌아간다

다만 application.yml 파일을 그대로 사용할거라면 사진과 동일하게 넣어주어야 돌아간다!

JWT_SECRET_KEY 는 만들어서 넣어주면 된다

그다음에 메인파일 실행시켜보면

사진처럼 잘 돌아가는것을 확인할 수 있다! 그러면 데베 연결 끝!