관리 페이지가 Meterial Design으로 되어있어서 사용자 편의성이 매우 높은 구조인 줄 알았더니
은근히 되게 어렵다. MYSQL 인스턴스 만들어놓고 몇시간씩이나 방치해둘 수 밖에 없었고, 아마존의 AWS Amazon Web Service
보다는 편의성이 좋지만 그것과 별개로 나름 복잡하다. 프리티어 1년 300달러때문에 서비스를 접목시키기 수월한지 확인을 위해 써보는 거라서 결과적으로는 나중에 쓸지 안쓸지 확신이 서지 않는다.
제공하는 서비스가 워낙 많아서 그럴수밖에 없겠지만 ..
프리티어를 괜히 주는 게 아닌 것 같다. 이 기간은 서비스에 익숙해지는 기간도 포함되었던 것이다.
1. Google Cloud Platform 콘솔에서 접속하기
gcloud sql connect [
myinstance] --user=[
root]
괄호 안에 있는 문자만 본인의 인스턴스 네임, 유저 네임을 넣으면 접속할 수 있다.
이후에 비밀번호를 입력하라는 메시지가 뜨면 정상적으로 기입하면 된다.
2. 외부에서 접속하기
외부에서 접속하는게 참 힘들다.
방법은 크게 두가지가 있는데,
프록시 연결
IP 연결
프록시 연결이 필요한 이유는 허용된 IP가 아니면 접속하지 못하기 때문이다.
SQL 인스턴스를 클릭하여 인스턴스 세부정보 페이지에 접속하면
개요 연결 사용자 데이터베이스 백업 복제본 작업
이라는 탭들이 보이는데, 여기서 연결 탭을 클릭한다.
하단의 공개 IP란에 체크되어 있는것이 보인다. 이 체크박스 안에서 연결을 허용해야 한다.
우선 여기서 자신의 ip를 확인하고 공개 ip의 [네트워크 추가] 버튼을 누른 뒤 이 ip 주소를 추가해야 한다.
굳이 ip 보안이 따로 필요 없어서 모든 네트워크를 허용하고 싶다면 ip란에 0.0.0.0/0 을 기재하면 된다.
IP 연결은
유지보수 문제가 아니라면 대부분 2세대 인스턴스를 사용할 것이 분명한데,
2세대 인스턴스는 IPv4 용 ip 주소가 자동으로 할당된다.
연결하고 보니 속도가 디1지게 느리다. 체감상 2~5초나 되는 딜레이가 생기는 것 같다..;
딜레이가 1초여도 손절할까 말까인데 적게는 2초, 많게는 5초라니..
혹시나 CDN 관련 잘못인가 싶어서 확인해봤더니 데이터베이스 서버의 위치로 지정해놓은 asia-east 가 대만에 위치하고 있었다. 우리나라랑 제일 가까운 것은 asia-northest 영역으로 Tokyo 소재에 위치해 있는데
아무튼 이게 문제인가 싶어서 서버의 위치는 변경이 안되기 때문에 DB를 제거하고 다시 asia-northest 영역에 배치시켜 설치될때까지 기다린 뒤 테스트 해봤는데... 똑같다. 왠지 대만 영역이 더 빠른듯한 느낌까지 든다.
다른 근본적인 문제일텐데..
외부 접속 ip 문제일까 싶어 단순하게 skip-name-resolve 설정 추가 방법을 알아보고 있었는데, GCP mysql 에는 기본적으로 설정되어 있다고 한다..
일단 아무리 찾아도 my.cnf 파일을 편집하는 기능이 없길래 구글에 bind-address 설정 변경이 가능한지 의견을 보냈다.
결론적으로는 그냥 compute Engine으로 직접 mysql 서버 까는게 이득같다..