✒️ 0. 들어가기 전
배포 상황을 고려해보자.
데이터베이스를 로컬 컴퓨터에 두면.... 안 좋다.
(아래 포스팅 참고..)
컴퓨터를 끄면 데이터베이스 접속이 안되기도 하고,
로컬 컴퓨터에 접속을 한다는 것은 해당 컴퓨터의 데이터베이스로 접속이 되도록
포트포워딩을 해야한다는 뜻이기도 한다.
따라서 데이터베이스도 EC2처럼 외부 컴퓨터를 빌려서 서버 구동하는 컴퓨터에 MySQL을 깔고 사용하는 것이 좋다고 했다.
(포스팅에서)
그러나... EC2에 데이터베이스를 설치해서 사용해도 좋으나...
RDS를 사용하게 될 경우 더 유연하게 데이터베이스를 사용할 수 있기에
RDS를 설정해서 사용해보자.
✒️ 1. RDS 설정에 앞서, 서브넷 추가 생성
이전 포스팅에서 만들었던 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을 눌러보자.
아래 사진처럼 뜨면 성공!!