데이터베이스를 로컬 컴퓨터(서버 개발자가 작업하는 컴퓨터)에 두는 것은 좋지 않다.
컴퓨터를 끄면 데이터베이스 접속이 안되기도 하고, 로컬 컴퓨터에 접속을 한다는 것은 해당 컴퓨터의 데이터베이스로 접속이 되도록 포트포워딩을 해야한다는 소리다.
따라서 데이터베이스도 EC2처럼 외부 컴퓨터를 빌려서 사용하는 것이 좋다.
EC2에 데이터베이스를 설치해서 사용해도 좋으나, RDS를 사용하게 될 경우 더 유연하게 데이터베이스를 사용할 수 있기에 RDS를 설정해서 사용해보자.
서브넷 추가 생성
[AWS] 프리티어 VPC를 이용한 EC2 구축(VPC, 보안그룹, EC2 생성, 탄력적 IP 설정)
VPC를 이용한 EC2 환경 구축 AWS에 로그인 후(교육용 계정 아님) VPC를 검색한다. VPC 생성에 들어와서 VPC등 말고 VPC만을 선택하고 아래 사진처럼 설정한다. AWS는 이름을 지을 때 띄어쓰기 대신 -(하이
sangcheon02.tistory.com
전에 만들었던 club-project-vpc의 퍼블릭 서브넷에 RDS를 배치하도록 설정해보자.
RDS를 VPC의 서브넷에 배치를 하기 위해서는 2개의 서브넷을 지정해줘야 한다.
RDS는 만약을 대비해서 서브넷 2개를 요구한다.
이제 위의 서브넷을 퍼블릭 서브넷으로 만들기 위해, 외부와 연결된 라우팅 테이블에 연결해준다.
RDS 설정
새로 만들 DB를 원하는 VPC의 퍼블릭 서브넷에 배치하기 위한 DB 서브넷을 생성하자.
RDS 좌측 메뉴에서 서브넷 그룹으로 이동하여, DB 서브넷 그룹 생성을 눌러준다.
아래처럼 VPC를 선택 후 퍼블릭 서브넷 2개를 선택(단, 서로 다른 2개의 가용영역으로)
그래서 필자는 sub 서브넷을 만들 때 가용영역을 2a, 2c로 선택해줬다.
이제 DB 생성을 해보자.
RDS에서 데이터베이스 메뉴로 가 위의 사진처럼 데이터베이스 생성을 눌러준다.
데이터베이스 버전은 따로 설정하지 않아도 된다. 표준 생성과 프리티어를 선택해주고, DB이름을 정해주자.
마스터 사용자 이름은 편한 것으로 해주고, 마스터 암호도 편한 것으로 해주자.
무료 프리티어를 사용하는 입장에서 돈을 아껴야 하기 때문에 스토리지 자동 조정은 체크 해제해주자.
VPC를 club-project-vpc(독자의 VPC) 선택 후 앞서 생성한 DB 서브넷 그룹을 선택해준다.
마지막으로 퍼블릭 액세스를 '예' 해준다.
보안 그룹은 VPC 설정 시 만들었던 보안 그룹을 넣어주자.
(인바운드 규칙으로 3306 포트 anywhere 포함이 꼭 되어야 함)
자동 백업은 체크 해제해주자.
이제 생성을 누르고, 5분정도 기다리면 아래 사진처럼 데이터베이스가 정상적으로 생성된 것을 확인할 수 있다.
만약 아래 사진처럼 오류가 뜨며 실패하면 설정한 VPC에 DNS관련 설정이 없는 것이다.
아래 방법처럼 DNS 설정을 활성화 해주자.
이제는 다시 데이터베이스를 생성하면 잘 생성될 것이다.
생성 후 데이터베이스 상세 조회 페이지에서 인증서 만료 날짜에 위험 표시가 아래 그림처럼 떠있다면 왼쪽 메뉴에 있는 인증서 업데이트에 들어가서 업데이트를 해주자.
RDS 원격 접속 (DataGrip)
데이터베이스 원격 접속 tool은 mysql work bench를 사용할 수 도 있고, 다양한 tool이 있는데 필자는 개인적으로 DataGrip을 사용한다.
DataGrip을 설치 후, 새로운 프로젝트를 하나 생성해준다.
그리고, 왼쪽에서 +를 눌러 MySQL을 선택해준다.
아래 사진처럼 Host에 엔드포인트, User와 Password에 RDS 생성 시 기입했던 정보를 넣어준다.
이후 Test Connection을 눌러 아래 사진처럼 성공하면 확인을 눌러 데이터베이스를 연결을 완료해준다.