팀 프로젝트를 하다보면 데이터베이스를 함께 공유해야하는 순간이 온다.
처음에는 각자의 로컬에서 실행시켜서 확인할 수 있지만 배포를 하기위해서는 결국 외부접속이 가능한 데이터베이스가 필요하다.
대표적으로 AWS의 RDS를 많이 이용하지만 이번 포스팅에서는 GCP(Google Cloud Platform)에 있는 SQL을 이용해보려고 한다.
외부접속을 허용하기 위해서는 간단하다. 다음과 같은 단계를 거치면된다.
GCP 뿐만 아니라 RDS를 이용해도 과정은 똑같다.
글로 옮겨놓으면 간단하지만 처음 도전할때는 시간이 꽤 걸릴 수 있기 때문에 과정을 기록해놓으려한다.
SQL을 만들기 위해서는 프로젝트가 필요하기 때문에 GCP 사이트에 접속하여 우선 프로젝트를 하나 생성해준다.
위 사진의 오른쪽 상단에 보이는 NEW PROJECT
를 눌러 프로젝트를 생성한다.
생성하고 나면 왼쪽에 세 줄 아이콘을 눌러 SQL로 들어간다.
SQL을 들어가면 CREATE INSTANCE
라는 버튼이 있다. 그 버튼을 눌러 SQL을 생성하자.
어떤 데이터베이스를 선택하느냐에 따라 다르게 선택하면 된다. 본인은 MYSQL을 이용할 것이기 때문에 왼쪽에 있는 MySQL를 선택한다.
차례대로 인스턴스 정보를 입력하고 조금 기다리면 인스턴스가 생성된다.
<생성된 sql 인스턴스>
노란 박스에 생성된 sql의 public IP를 확인할 수 있다
현재까지의 과정을 거치고 나면 SQL은 생성됐으나 접속이 되지 않는다.
때문에 외부접속을 허용해줘야 하는데 간단하게 처리할 수 있다.
생성한 SQL 인스턴스에 들어가서 Connections에 들어가서 Public IP
로 체크해주고 Network 부분에 접근가능한 IP 주소를 추가해준다.
네트워크의 이름은 아무거나 적어주고 IP 주소 부분에는 모든 곳에서 접근 가능 하도록 0.0.0.0/0
을 적어 네트워크 정보를 추가해준다.
여기까지 완료하면 SQL에 바로 접속할 수 있을 것 같지만 GCP에서는 라이브러리를 하나 추가해줘야한다.
API Library로 들어가 위 사진과 같이 Cloud SQL Admin API
라는 이름의 라이브러리를 추가해준다.
그러고 아까 생성한 인스턴스의 public IP로 접속해보면 접속이 되는지 확인할 수 있다.
mysql -h [public ip] -u [사용자 이름] -p [사용자 비밀번호]
위와 같은 명령을 치면 접속이 가능하고 user 이름과 비밀번호는 sql에 들어가 user를 생성해주면 된다.
SQL 인스턴스로 들어가 Databases에서 데이터베이스를 추가해주어 SQL을 사용해주면된다!