데이터베이스 연결

seongmin·2022년 12월 5일
0

AWS

목록 보기
4/4
post-thumbnail

RDS 인스턴스 연결

  • RDS 인스턴스 생성
  1. AWS 메인 콘솔 창에서 RDS 메인 화면으로 이동

  1. 왼쪽의 데이터베이스를 클릭하여 이동한 후, 데이터베이스 생성을 클릭한다.

  1. 엔진 옵션을 선택한다.

  1. 템플릿 옵션을 선택한다.

  1. 식별자 이름, 마스터 사용자 이름, 마스터 암호를 기재한다.
    마스터 사용자 이름과 암호는 나중에 데이터베이스를 연결할 때 쓰이는 정보다.

  1. 인스턴스 구성을 선택한다.

  1. 연결 옵션에서 퍼블릭 액세스를 허용한다.

  1. 보안 그룹 같은 경우는 기본값인 'default' 보안 그룹을 선택한다. 다른 보안 그룹을 선택 시 로컬 환경 터미널에서 테스트가 불가능하다.

포트 번호는 노출을 방지하려는 목적으로 13306번으로 지정한다.

  1. 추가 구성란에 초기 데이터베이스 이름을 설정한 후, 데이터베이스를 생성한다.

  1. 사용 가능 으로 바뀌면 이제 사용이 가능해진다.


  • 데이터베이스 연결

DB 연결 시 필요한 정보 3가지

  1. DB 인스턴스 생성 시 기재한 마스터 이름, 마스터 비밀번호
  2. 포트 번호
  3. 생성한 DB 인스턴스의 엔드 포인트 주소

  1. 엔드 포인트 확인

DB 식별자를 클릭하여 엔드포인트를 확인한다.

  1. 터미널에서 MySQL 실행해서 연결한다.
mysql -u [마스터 이름] --host [엔드 포인트 주소] -P 13306(포트 번호) -p

여기서 요구하는 비밀번호는 마스터 비밀번호다.

  1. 테스트를 위해 show databases; 를 입력한다. 정상 출력되면 잘 연결된 상태다.

서버 환경 설정

  1. 서버 코드에 저장된 application.properties 파일에 환경 변수 설정하기
$ cd be-sprint-deployment/DeployServer/
$ nano src/main/resources/application.properties

  • spring.datasource.url 변수에서 {}부분에는 AWS RDS '엔드포인트 주소:포트'가 들어가야 한다.

  • spring.datasource.username 변수에는 AWS RDS Mysql 마스터 사용자 이름을 넣는다.

  • spring.datasource.password 변수에는 AWS RDS Mysql 마스터 암호를 넣는다.

  • config.domain 에는 AWS S3 Endpoint 주소를 넣는다. 해당 부분에는 꼭 앞에 http:// 가 포함되어야 한다.

    • CORS 설정을 위해 통신할 클라이언트의 도메인 입력이 필요하다.

application.properties 파일을 통한 환경 설정이 완료되면, 이전 빌드를 삭제하고, 다시 빌드를 진행한 이후에, 서버를 다시 실행한다.

$ ./gradlew clean // 빌드 삭제
$ ./gradlew build // 빌드 진행
  1. 서버 실행

java -jar build/libs/파일명-0.0.1-SNAPSHOT.jar 명령어를 입력하여 서버를 재실행한다.

이름과 비밀번호를 입력하여 로그인한다.

로그인에 성공했고, 데이터베이스가 연결되었음을 알 수 있다.

0개의 댓글