오늘 겪었던 경험은 진짜 의문이다..
오랜만에 학술정보관에서 게시글 삭제 API를 구성하고
node 서버를 가동시키고
postman으로 url 접근을 했다. (어제와 똑같은 동작을 했지만....)
node에서 할당한 라우터로 접근까지는 가능했던 것 같다..
UserController.js 에서 validation 처리한 코드는 실행됨.
console.log();
console을 찍어보면서, 어디서 에러가 발생하는지 알 수 있음.
DB에서 timeout 에러가 발생했다.
터미널에서 제공한 에러 코드는 다음과 같다.
Error: connect ETIMEDOUT
에러의 코드는 node.js 서버에서 DB 서버로 보낸 요청을 처리하는 시간이
timeout 설정된 시간을 초과해서 timedout 에러가 발생했다.
결국, DB에게 요청이 전달되지 않았다고 볼 수 있다.
아래의 블로그는 timeout의 원인을 나열한다.
timeout 에러 원인은 하나의 블로그에서 찾을 수 있다고 생각하면 안된다..... 에러는 방대하고 예측불가능하다..
우선 하나씩 해보면서 에러원인을 찾아야한다..
내가 겪은 타임아웃은 코드, 설정과 관련한 문제가 아니었다.
진짜 허무하게 ㅋㅋ... - 내가 배운 것에서 나아간 개념... , 말그대로 돌발상황
네트워크 문제였다.
학술정보관 학교 네트워크를 사용하면서 DB에 접근을 하니깐,
timeout 에러가 발생했다.
기숙사 네트워크, 카페 네트워크로 접근을 하면 timeout 에러가 발생하지 않았다.
그냥 기다려라,,, 네트워크 문제이다.. 아래의 블로그를 통해 알 수 있었다.
결국, 이번 에러는 EC2서버, RDS 설정, 서버 API 와 관련된 문제가 아닌,
서버를 가동한? 네트워크의 방화벽의 차이인 듯하다..
대학교 네트워크 : 방화벽이 까다롭게 설정됨.
기숙사, 카페 네트워크 : 방화벽이 원만하게 설정됨.
대학교 네트워크는 AWS RDS 포트를 방화벽에서 막아둔 것 같다..
근데.. 방화벽이 뭐지? - 방화벽 개념에 대해 몰라서 생긴 대참사?
외부 트래픽은 장치의 진입점(포트)을 통해서만 사설 네트워크에 도달하는 게 기본 네트워크 통신 구조이다.
즉, 방화벽은 기본 네트워크 통신구조에 따라 외부 트래픽의 진입점을 제어 관리하여 악성 트래픽을 차단한다.
자세하게 설명하면,
액세스 제어 목록이라고 하는 정의된 규칙 또는 일련의 규칙을 기반으로 데이터 패킷을 허용하거나 차단한다. 이러한 규칙은 IP 주소, 도메인 이름, 포트, 프로토콜, 프로그램 및/또는 키워드를 기반으로도 할 수 있다.
소프트웨어 방화벽 : 윈도우 방화벽 우분투 방화벽, 윈도우10 방화벽 등이 있다. - 개인 방화벽
하드웨어 방화벽 : 공유기와 유사한 물리적 기구이다. - 그룹체 방화벽
클라우드 기반 방화벽 : 대량의 트래픽을 검사에 적합하고, 소프트웨어 또는 하드웨어 방화벽을 사용하는 것보다 트래픽 부하를 관리하기가 훨씬 쉽다. - 기업체 방화벽
정리하면, 대학교 네트워크의 하드웨어 방화벽? 은 AWS RDS 진입점 (포트)를 막아둬서
node.js 서버에서 RDS 서버로 요청이 보내지지 않았다는 사실을 알 수 있다..
추가 에러 - 이건 vs code 자동완성이 벌인 에러인 듯 ..ㅋㅋ
'📚 스터디 > 데이터베이스' 카테고리의 다른 글
[데이터베이스] 데이베이스 설계도, ERD 설계 [3] (3) | 2023.09.30 |
---|---|
[데이터베이스] ERD 그게 뭔데? [2] (0) | 2023.09.24 |
[데이터베이스] 데이터 모델링의 시작, 개념적 데이터모델링 [1] (0) | 2023.09.17 |
[데이터베이스] 데이터 모델링을 시작하며 (0) | 2023.09.16 |
[DataBase] Datagrip의 license 만료 (0) | 2022.07.09 |