친구들이랑 같이 하는 프로젝트에서
배포: Vercel
DB: 카페24(MariaDB)
를 사용하고 있는데,
포스트맨에서 API 테스트를 하는 중에 지속적으로
아래와 같이 데이터베이스 접근 권한에 대한 에러가 발생했다.

카페24에서 MySQL 외부 IP 접근 설정에서 IP를 추가 하면 DB접근을 할 수 있지만, 시간이 지나면 또 다른 IP로 변경이되면서 동일한 에러가 발생한다.


그래서 고정 IP를 할 수 있는 방법이 있는지 찾아보니 Vercel Secure Compute에 내용으로는 Vercel 기업 고객이 되면 고정 IP를 지원해준다고 나와있었다.

결과적으로 Vercel 기업 고객이 되면 해결은 될 수 있지만(확신하진 않음), 유료이기에 다른 방향으로 생각해야 한다.
카페24에서 DB 접근에서 모든 IP 허용하는 방법을 찾아보거나, AWS 클라우드 DB를 이용하거나 해야 할 거 같다.
카페 24에서 모든 MySQL 외부 IP 접근이 안 되기 때문에,
다른 대체 방법으로
1. Oracle CloudeATP 이용
평생 무료로 DB를 사용할 수 있는 장점으로 Oracle Cloude사용을 고려하게 되었다.
DB생성을 해서 BDeaver에서 DB연결 까지는 했지만, Next.js에서 오라클 DB에 연결을 했을 때,
Error: NJS-500: connection to the Oracle Database was broken
NJS-501: connection to host x.x.x.x port yyyy terminated unexpectedly. (CONNECTION_ID=...)
read ETIMEDOUT
데이터베이스에 대한 연결이 끊어졌다는 에러를 맞이했다.
다른 분이 올린 글에서
최근 답변에서 내부적으로 문제를 해결하기 위해 노력하고 있다는 답변을 보았고, 내가 해결할 수 없는 문제일 수 있을 거 같다는 생각을 해
다른 대체 방향으로 진행하기로 결심했다.
2. AWS RDS(mySql) 프리티어 생성하기
AWS 프리티어를 사용해서 750시간 동안 무료로 사용할 수 있어서 AWS RDS를 도입했다.
AWS RDS(mySql) 프리티어 생성하기이 블로그를 참고해서 진행하였고, BDeaver 연결과 API 통신 또한 문제 없이 할 수 있었다.
https://vercel.com/docs/security/secure-compute
https://vercel.com/docs/security/secure-compute#add-a-project-to-your-private-network
https://github.com/orgs/vercel/discussions/3981
https://github.com/usefixie/fixie-vercel-example-app
https://usefixie.com/vercel-static-ip
https://velog.io/@shawnhansh/AWS-RDSmySql-%ED%94%84%EB%A6%AC%ED%8B%B0%EC%96%B4-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0