✒️ 0. 들어가기 전
배포 상황을 고려해보자.
데이터베이스를 로컬 컴퓨터에 두면.... 안 좋다.
(아래 포스팅 참고..)
6. 배포 준비하기
다음은 글은 infrean의 "자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]" 강의의 학습 목적으로 작성된 것입니다. 강의의 디테일한 내용
jinhos-devlog.tistory.com
컴퓨터를 끄면 데이터베이스 접속이 안되기도 하고,
로컬 컴퓨터에 접속을 한다는 것은 해당 컴퓨터의 데이터베이스로 접속이 되도록
포트포워딩을 해야한다는 뜻이기도 한다.
따라서 데이터베이스도 EC2처럼 외부 컴퓨터를 빌려서 서버 구동하는 컴퓨터에 MySQL을 깔고 사용하는 것이 좋다고 했다.
(포스팅에서)
그러나... EC2에 데이터베이스를 설치해서 사용해도 좋으나...
RDS를 사용하게 될 경우 더 유연하게 데이터베이스를 사용할 수 있기에
RDS를 설정해서 사용해보자.
✒️ 1. RDS 설정에 앞서, 서브넷 추가 생성
2-2. VPC를 이용한 EC2 구축
1. VPC를 이용한 EC2 구축 1) VPC 만들기 1. (회원가입)로그인 후 -> 메인화면 -> 오른쪽 상단에 지역을 "아시아 태평양 (서울)"으로 변경한다. 2. VPC를 검색하여 VPC 서비스 페이지로 들어간다. 3. VPC 생성
jinhos-devlog.tistory.com
이전 포스팅에서 만들었던 VPC의 퍼블릭 서브넷에 RDS를 배치하도록 설정 해보자.
RDS를 VPC의 서브넷에 배치를 하기 위해서는 2개의 서브넷을 지정해줘야 한다.
(RDS는 만약을 대비해서 서브넷 2개를 요구한다.)

주의 사항 : 기존 서브넷과 다른 가용영역 사용!

이제 위의 서브넷을 퍼블릭 서브넷으로 만들기 위해
외부와 연결이 된 라우팅 테이블에 연결을 해준다.


이렇게 방금 만든 서브넷을 연결하면 된다.
✒️ 2. RDS 설정
RDS 로 이동한 후, 서브넷 그룹 클릭!



서브넷을 아래처럼 VPC를 선택 후 퍼블릭 서브넷 2개를 선택 (단, 서로 다른 2개의 가용영역으로…)

주의 사항 :


이제 DB 생성을 해보자!


엔진 옵션 > 엔진 유형 : MySQL 설정

템플릿 : 프리티어 설정

DB 인스턴스 식별자정보 : 원하는 이름 설정

마스터 사용자 이름 : 은 편한 것으로 설정(보통 root)

마스터 암호 : 암호 설정 잊어버리지 않도록 주의

스토리지 자동 조정 : 체크해제 (우린 대학생입니다. 돈을 아껴야 합니다..)

[연결]부분
VPC를 이전에 설정한 VPC로 선택 후 앞서 생성한 DB 서브넷 그룹을 선택하고,


마지막으로 퍼블릭 액세스를 "예"로 선택

보안 그룹은 VPC 설정 시 만들었던 보안 그룹을 넣어주자!
(인바운드 규칙으로 3306 포트 anywhere 포함이 꼭 되어야 함)

자동 백업 : 체크 해제

자 이제 생성을 하면?!

ERROR: DB 인스턴스 my-db 생성 요청이 실패했습니다.
위처럼 실패가 뜰 것이다.....
(만약 실패하지 않으셨다면, VPC를 기본 VPC로 하신 것…)
뭐라고 하는지 읽어보면 DNS관련 설정이 없다고 한다.
이를 해결하기 위해 VPC에서 DNS 설정을 활성화 해주고 RDS를 만들어야 한다 ㅜㅜ
(창 끄지말고 새로 창 열어서 해도 됩니다! -> 설정 마치고 다시 생성 누르면 생성돼요!)


위 사진처럼 DNS 호스트 이름 활성화를 해준 후,
다시 생성을 눌러보자! 😆
만들어지는데 약 5분 정도 소요된다~ (길다길어)

만약에, 좌측메뉴에 아래와 같이 빨간색이 떠 있으면

인증서 업데이트를 들어가서 해주면 된다~
이제 DB를 외부에서 접속해보자!
데이터베이스 원격 접속 tool로 가장 많이 쓰이는 DataGrip으로 해보겠다!
✒️ 3. RDS 원격 접속
먼저 생성한 Database의 상세 페이지로 가서 (이름 클릭)
아래 표시된 엔드포인트를 복사하자.

DataGrip에서 새로 연결을 만들어서

Host에 엔드포인트를 넣고,
User와 Password에 RDS 생성 시 기입했던 정보를 기입하자.
그리고 Test Connection을 눌러보자.
아래 사진처럼 뜨면 성공!!
✒️ 0. 들어가기 전
배포 상황을 고려해보자.
데이터베이스를 로컬 컴퓨터에 두면.... 안 좋다.
(아래 포스팅 참고..)
6. 배포 준비하기
다음은 글은 infrean의 "자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]" 강의의 학습 목적으로 작성된 것입니다. 강의의 디테일한 내용
jinhos-devlog.tistory.com
컴퓨터를 끄면 데이터베이스 접속이 안되기도 하고,
로컬 컴퓨터에 접속을 한다는 것은 해당 컴퓨터의 데이터베이스로 접속이 되도록
포트포워딩을 해야한다는 뜻이기도 한다.
따라서 데이터베이스도 EC2처럼 외부 컴퓨터를 빌려서 서버 구동하는 컴퓨터에 MySQL을 깔고 사용하는 것이 좋다고 했다.
(포스팅에서)
그러나... EC2에 데이터베이스를 설치해서 사용해도 좋으나...
RDS를 사용하게 될 경우 더 유연하게 데이터베이스를 사용할 수 있기에
RDS를 설정해서 사용해보자.
✒️ 1. RDS 설정에 앞서, 서브넷 추가 생성
2-2. VPC를 이용한 EC2 구축
1. VPC를 이용한 EC2 구축 1) VPC 만들기 1. (회원가입)로그인 후 -> 메인화면 -> 오른쪽 상단에 지역을 "아시아 태평양 (서울)"으로 변경한다. 2. VPC를 검색하여 VPC 서비스 페이지로 들어간다. 3. VPC 생성
jinhos-devlog.tistory.com
이전 포스팅에서 만들었던 VPC의 퍼블릭 서브넷에 RDS를 배치하도록 설정 해보자.
RDS를 VPC의 서브넷에 배치를 하기 위해서는 2개의 서브넷을 지정해줘야 한다.
(RDS는 만약을 대비해서 서브넷 2개를 요구한다.)

주의 사항 : 기존 서브넷과 다른 가용영역 사용!

이제 위의 서브넷을 퍼블릭 서브넷으로 만들기 위해
외부와 연결이 된 라우팅 테이블에 연결을 해준다.


이렇게 방금 만든 서브넷을 연결하면 된다.
✒️ 2. RDS 설정
RDS 로 이동한 후, 서브넷 그룹 클릭!



서브넷을 아래처럼 VPC를 선택 후 퍼블릭 서브넷 2개를 선택 (단, 서로 다른 2개의 가용영역으로…)

주의 사항 :


이제 DB 생성을 해보자!


엔진 옵션 > 엔진 유형 : MySQL 설정

템플릿 : 프리티어 설정

DB 인스턴스 식별자정보 : 원하는 이름 설정

마스터 사용자 이름 : 은 편한 것으로 설정(보통 root)

마스터 암호 : 암호 설정 잊어버리지 않도록 주의

스토리지 자동 조정 : 체크해제 (우린 대학생입니다. 돈을 아껴야 합니다..)

[연결]부분
VPC를 이전에 설정한 VPC로 선택 후 앞서 생성한 DB 서브넷 그룹을 선택하고,


마지막으로 퍼블릭 액세스를 "예"로 선택

보안 그룹은 VPC 설정 시 만들었던 보안 그룹을 넣어주자!
(인바운드 규칙으로 3306 포트 anywhere 포함이 꼭 되어야 함)

자동 백업 : 체크 해제

자 이제 생성을 하면?!

ERROR: DB 인스턴스 my-db 생성 요청이 실패했습니다.
위처럼 실패가 뜰 것이다.....
(만약 실패하지 않으셨다면, VPC를 기본 VPC로 하신 것…)
뭐라고 하는지 읽어보면 DNS관련 설정이 없다고 한다.
이를 해결하기 위해 VPC에서 DNS 설정을 활성화 해주고 RDS를 만들어야 한다 ㅜㅜ
(창 끄지말고 새로 창 열어서 해도 됩니다! -> 설정 마치고 다시 생성 누르면 생성돼요!)


위 사진처럼 DNS 호스트 이름 활성화를 해준 후,
다시 생성을 눌러보자! 😆
만들어지는데 약 5분 정도 소요된다~ (길다길어)

만약에, 좌측메뉴에 아래와 같이 빨간색이 떠 있으면

인증서 업데이트를 들어가서 해주면 된다~
이제 DB를 외부에서 접속해보자!
데이터베이스 원격 접속 tool로 가장 많이 쓰이는 DataGrip으로 해보겠다!
✒️ 3. RDS 원격 접속
먼저 생성한 Database의 상세 페이지로 가서 (이름 클릭)
아래 표시된 엔드포인트를 복사하자.

DataGrip에서 새로 연결을 만들어서

Host에 엔드포인트를 넣고,
User와 Password에 RDS 생성 시 기입했던 정보를 기입하자.
그리고 Test Connection을 눌러보자.
아래 사진처럼 뜨면 성공!!