안녕, 풀스택 공부하고 있는 프린이야.
* 현재 MySQL 서버 시스템 환경
1) MySQL 서버 위치: Google Cloud Platform의 가상머신 위에서 구동중. 가상머신은 '3.3.3.3'(예시)라는 외부 고정 IP를 지님.
2) MySQL user: 'rootuser'라는 user가 host '%'에서 접속 가능하게끔 설정됨.
3) 가상머신 netstat 상태 일부:
tcp 0 0 0.0.0.0:33060 0.0.0.0:* LISTEN 44824/mysqld
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 44824/mysql
4) Google Cloud Platform 방화벽 상태: 'allow-3306'이라는 규칙을 통해 tcp:3306 ingress 접속들은 허용됨.
* 접속 시도 환경
1) DBeaver Community 23.1.0을 통해 MySQL 접속시도 하려함
와 같이 설정하고 Test Connection을 하면,
connect timed out이라고 되네.. 아무리 구글링 해봐도 이유를 모르겠네. 방화벽도 잘 열어준거 같은데 왜 이럴까.
가상머신 상에서도
$ mysql -h 127.0.0.1 -u rootuser -p
로 접속하면 되거든? 근데 외부 IP 주소인
$ mysql -h 3.3.3.3 -u rootuser -p
로 접속하면 'ERROR 2003 (HY000): Can't connect to MySQL server on '34.23.241.25:3306' (110)'이라고 뜨네.
34.23.241.25:3306 - dc App
ㅋㅋㅋㅋ 저거 진짜 아이핀데 능지 이슈로 못 가렸다 상관 없을듯
외부접속 허용해놨제? - dc App
ㅇㅇ.. 허용할거 다 해놓은거 같은데 방화벽에서도.. 0.0.0.0:3306으로 Ingress열어뒀지
가상머신 내부 방화벽도 열었음?
가상머신 내부 os 방화벽
Ubuntu Minimal 버전 쓰고 있는데.. 여긴 기본 방화벽이라는 UFW가 설치가 아예 안되어 있더라?? 아예 가상머신 자체 방화벽은 없는 것처럼 보이는데
root 계정에서 ufw enable이라고 치면 'bash: ufw: command not found'이럼
vpc firewall에는 allow-3306 규칙 추가해서 vm 네트워크 태그에 달았ㄱ고??
네트워크 태그에는 안 달았어. 이걸 달아야 이 VM에 적용이 되는거야?
vpc 방화벽 규칙 생성할때 타겟 태그 설정할 수 있짆아 거기서 설정힌 태그를 vm에 달면 됨
알겠어 고마워. 이렇게 해야 규칙이 적용되나보네. 일단 다시 해볼게
근데 이 머신은 어짜피 VPC 방화벽 전체 규칙 다 가져와서 자기가 적용하긴 하는데..
그라고 db 연결하기전에 netcat으로 3306 통신이 되나부터 확인해봐. db 설정 문제일 수도 있으니까
어떻게 자동으로 모든 규칙을 다 가져와?
그래 맞다 하나 이상한게.. telnet으로 127.0.0.1 3306 으로 접속 확인해보면 잘 되는데, 저 외부아이피로 하면 마찬가지로 접속 안됐다고 그래
혹시 시간 괜찮으면 옵챗으로 한번만 도와줄 수 있어? 사례할게
아니 netcat으로 간단하게 에코서버 띄워놓고 외부에서 테스트를 해보란 말임
오키오키
'프갤러 질문...'이라고 검색해도 나와
핑프라서 괘씸하네 - dc App
아니야.. 지금 3시간째 삽질중이란 말야.. ㅠㅠ
.conf 였나 뭐였나 기억은 안 나는데 /etc/mysql 내에서 뭐 하나 주석 처리 해줬어?? 설정에서도 외부 접속 막는거 하나 있는데
AWS는 시큐리티 그룹이라 해서 그거 포트 열어줘야되는데 GCP도 비슷한거 있을거임