티스토리 뷰
25/02/27
깃허브에 frontend 푸시하고 지금까지 배포에 전부 실패해버렸다~
지금까지 써본 건 railway, 클라우드타입, 그리고 잠시 스쳐지나간 Fly io...(아마 무료가 아니라고 해서 지나갔던 것 같다..)
railway는 이상하게 cors를 찾을 수 없다는 에러가 반복이 돼서 클라우드 타입으로 넘어갔으나, 클라우드 타입은 Mysql이 없고 MariaDB랑 연결을 해서 mysql host에 마리아디비 host name과 port를 적용해야 하는데...
이게 아무리 적용을 해도 에러메세지가 뜨더라.
⛔ Failed to Connect to MySQL at svc.sel4.cloudtype.app:32547 with user <MysqlUserName이름>
Access denied for user '<MysqlUserName이름>'@'10.178.0.124' (using password: YES)
저게 username이 root가 아니라 내가 생성한 계정명일 때는 안 되고, 새로 생성한 커넥션에서는 root로 username 적용해보니까 커넥션이 성공하더라.
나는 root 계정 말고 내가 만든 계정명에서 하고 싶은데.. 그게 되지 않아서
권한이 전부 적용이 되었는지, localhost로 한정이 되어있는지 확인해보았는데 권한은 모두 부여가 되어있었다. (localhost 한정이 아니라 * 였다)
그래서 권한 문제는 아닌 것 같다.
25/03/05
배포는 포기다! 여러 무료 배포 사이트를 찾아 시도해보았으나 배포에 오류가 난다.
어떤 게 잘 안 되었는지 플랫폼 별로 기억나는 대로 적어보겠다.
Railway
처음에 뭣도 모르고 백엔드+프론트 레포지토리를 연동했었다가 그렇게 배포를 하면 안 되는(?) 것을 알게 되어, 백/프론트 레포지토리를 따로 개설 후 push해서 다시 시도해보았다. 일단 backend server부터 배포를 했는데... 그걸 위해서 MySQL도 연동을 해야 하는데~
env에 적힌 DB 관련 데이터를 다 적어주었는데도 안 되더라. 모듈을 찾을 수 없다고... 이 플랫폼은 수미상관으로 뭔가를 찾을 수 없다는 인사와 함께 다른 플랫폼을 찾아 나섰다.
국내에서도 몇 안 되는 포스팅을 보유해서 Railway만의 MySQL env 설정이 이해가 안 가기도 했고, 첫 가입시 $5를 지급해주나, 이후 (public host??를 사용하면) 과금 청구가 될 수 있다는 문구를 보았어서 다른 플랫폼이 더 적합하겠다 생각이 들었다.
Koyeb
요기서 처음으로 백/프론트 레포지토리를 따로 배포해야 한다는 걸 알게 되었던 플랫폼이었다. 위에 Railway는 이번 프로젝트에서 가장 처음 접했던 배포 사이트여서 먼저 기재했지만 이 플랫폼을 통해 레포지토리의 분리가 필요하다는 것을 알게 되었다.
그래서 server(node, express)를 먼저 올리고 MySQL도 연동하려 했으나... 그.. 잘은 기억이 안 나는데 가장 처음에 나온 셋팅이 Post 어쩌고 관련된 SQL 플랫폼들 버전 선택하는 거라 MySQL은 지원을 안 하는구나ㅠㅠ 라고 이해를 해서 다른 플랫폼을 또 찾으러 갔다.
CloudType
우리나라 플랫폼이어서 참... 좋았는데 영상을 통해 그대로 MariaDB 프로젝트 개설 후 나의 MySQL name과 value 값을 전부 입력해주었으나 TCP 주소가 내 MySQL Workbench에서 커넥션이 안 되더라... 국내 플랫폼이라 더욱 울며 겨자먹듯이 시도해보았는데.. 휴
너무 속상해서 오류 캡쳐를 해놓았다.

위처럼 TCP 주소??를 워크벤치에 hostname과 port에 각각 기재하면 된다고 한다.
n번 시도해보았으나 아래 두 오류 사진처럼 뜨떠라. Username이 root일 경우에는 warning이 뜨긴 하지만 커넥션 자체는 되는 것 같아보였는데 이미 테이블이랑 이것저것 다 연동해 놓은 그 계정으로 연결을 시도하고 싶더라.
실패했던 오류창을 첨부해본다.


3. 은 사진이 없어서 글로 적으면 Cannot Connect to Database Server
⛔ Cannot Connect to Database Server
Your connection attempt failed for user 'MySQL유저네임' to the MySQL server at svc.sel4.cloudtype.app:클라우드타입포트번호:
Access denied for user ' MySQL유저네임 '@'뭔진모르겠지만무슨번호' (using password: YES)
Please:
1 Check that MySQL is running on address svc.sel4.cloudtype.app
2 Check that MySQL is reachable on port 클라우드타입포트번호 (note: 3306 is the default, but this can be changed)
3 Check the user MySQL유저네임 has rights to connect to svc.sel4.cloudtype.app from your address (MySQL rights define what clients can connect to the server and from which machines)
al c aba. work latab <<???
4 Make sure you are both providing a password if needed and using the correct password for svc. sel4.cloudtype.app
connecting from the host address you're connecting from
클라우드 타입 해결을 위한 시도
- mysql 계정 권한 확인 (위에서도 말했지만 * 여서 권한 추가할 게 없었다)
- mysql 계정 비번 바꿔서 접속해보기
- 3306 포트 번호 Listening 확인
- my,ini 파일 확인
- 클라우드타입에서 프로젝트 다시 만들기(서버 따로 db따로)
- 내부, 외부 host로 연결해보기 (?? 무슨 개념인지 이해가 잘 가지는 않는다)
나의 나름대로는 정말 열심히 찾아본 것 같은데, 며칠동안 시도해보아도 안 되는 거 보면 아직 나의 배경지식으로는 배포까지는 어렵나보다.
지금은 할 수 있는 다른 것들에 더 주목을 해야할 것 같다. (드래그가 가능한 뒤로가기 버튼이라던가 현 프로젝트에 대한 정리...)
마치며
생각보다 2025년을 시점으로는 무료 db? server? 배포 사이트가 많이 사라진 것 같았다.
정말 유명한 배포 사이트 몇 몇 군데도 25년 시점 전으로 새 계정을 만들어도 무료 배포 지원을 마친 데가 꽤 있었다.
가장 경험과 정리가 많은 유명한 배포 사이트 AWS를 이용하지 않다보니 서버와 DB 배포가 처음인 나에게는 맨땅의 헤딩이 좀 더 있었던 것 같다. 아무래도 AWS EC2가 가장 압도적인 것 같고 그를 제외한 플랫폼을 찾다보니 유튜브, 구글 등에서 무료로 지원해준다고 했었던 플랫폼들도 꽤나 유료화된 사이트도 있었어서 어려움을 겪었다. 아니면 MySQL을 지원을 안 해줘서 서버리스?? 상태로 함수를 통해서 뭔가를 해야 하는.. 지금의 나로써는 아직 부족한 지식을 가진 상태에서 진행하기에는 물리적인 시간과 우선순위와 비교했을 때 무리가 있어보였다.
무엇보다 배포에 시간을 많이 투자를 해야할 것 같은데 지금 내게는 배포만큼 아직 구현이 필요하거나 정리해야 할 것들이 많아서 일단은 배포를 잠시 쉬어가기로 한 것이지, 아예 손을 놓고 포기하겠다! 라는 다짐을 한 것은 아니다.
아쉬운 것은 사실이다. 하지만 내가 개발한 것을 내 주변 사람들에게도 꼭 보여주고 싶다. 이 마음가짐은 기억하고 있으려고..
AWS
이번 프로젝트에서 AWS를 이용하지 않은 이유는 세 가지다.
- root 계정을 만들 때 제대로 마무리되지 않은 상태로 종결됐다.
- 그 상태의 root 계정을 로그인하면 패스키 관련 문제로 로그인이 되지 않는다.
- 계정을 만들고 1년? 정도 무료 기간을 부여한다고 들었는데, 써보지도 못하고 요금 청구가 되는 것이 신경 쓰인다.
1. 첫 루트 계정을 만들 당시 개인 인증이 잘 되지 않았다. 그래서 다음 단계로 넘어갈 수가 없었는데 영문도 모르게 나의 해당 이메일 계정이 root 계정으로 등록이 되기는 했다.
2. 그런데 등록이 되었어도 패스키 등 2차 인증에 대한 선택을 하지 못했기 때문에 패스키 등록도 할 수가 없었고, 때문에 root 계정에서 등록된 패스키가 없어서 로그인이 되지 않았다.
3. 첫 계정 만들 때에도 인증 절차가 되지 않았는데 새 계정을 만든다고 인증 절차가 잘 될 것이라 생각이 들지 않았다.
정말 정말 반나절을 해도 인증이 안 되었거든.ㅠ ㅠ
AWS에서 패스키나 계정 관련해서 문의 메일을 보냈는데 해결을 할 수 있는 답변을 받지는 못했어서 AWS에서 더 이상 새 계정을 만드는 것은 위험 부담이 있을 것 같아 배포 플랫폼에서 제외를 했다. 계정 만들 당시 카드 번호를 작성하기 때문에 우려가 된다.
계정을 제대로 만들지도 못했는데 카드 등록하는 게 사용도 못해보고 요금 청구가 될 게 무섭기도 하더라.ㅠ
이러한 이유를 겪고 다른 플랫폼에서 node+express, Mysql을 배포할 수 있다면 하는 방향으로 선택지를 잡았다.
리액트는 netlify에서 하면 될 것 같았고 말이다.
나는 내가 마음 먹으면 개발에 한 해서는 어떻게든 이루어냈었었는데, 그 마음이 처음으로 꺾여본 것 같다.
진짜 안 되더라 ㅎㅎ 정말 속상하고 분하기도 하지만 안 되는 것을 어떡하나.. 나의 부족한 지식을 또 깨닫는다.
하지만 이와 같은 비슷한 감정을 나는 VOCA 프로젝트의 엔드포인트와 axios에서 느꼈다. 그걸 바탕으로 지금 디저트 레시피 프로젝트를 만들고 있고, 이전 보카 프로젝트에서 배포했을 때 나의 DB data가 안 나온 이유를 지금 이렇게 또 알고 있으니까 조만간 배포도 꼭 할 수 있을 것이라 기대한다.
나야, 아자아자 화이팅^^
포기이기보다는 지금 할 수 있는 것을 하다보면 배포에 대해서 잘 하게 되겠지라 빌어본다.
출처
클라우드타입 관련 참고 가이드
- 클라우드타입 이용가이드, cloudtype, https://help.cloudtype.io/guide
- FAQ, cloudtype, https://help.cloudtype.io/guide/faq
- 외부 어플리케이션이나 DB 툴에서 클라우드타입에 구성된 DB에 연결할 수 있나요?, cloudtype, https://help.cloudtype.io/b7e2f1e0-3d6e-40c9-826f-51438a873799
- MariaDB, cloudtype, https://help.cloudtype.io/guide/mariadb
- MariaDB, cloudtype, https://docs.cloudtype.io/guide/databases/mariadb#my-sql-workbench
- Feedback, cloudtype, https://feedback.cloudtype.io/en
- 서비스 간 통신, cloudtype, https://docs.cloudtype.io/guide/references/connect-host
* Feedback은 클라우드타입 관련 질문 사항을 올릴 수 있는 게시판 같은 플랫폼인 것 같다
'리액트로 웹 개발 A to Z' 카테고리의 다른 글
| [Railway 배포] Backend, MySQL 배포하기 : MySQL Workbench 연결 (0) | 2025.04.11 |
|---|---|
| 프로젝트 전체 백업하기 : vscode cmd에서! + 3월 중간 점검 (0) | 2025.04.10 |
| 서브모듈 frontend 폴더 푸시 시도하다 황천길 다녀온 사연 (✅서브모듈을 해제하는 방법 택) (0) | 2025.02.26 |
| bfg-report 사용 후 깃허브에 재업로드 되는 문제 (0) | 2025.02.20 |
| 리액트에서 중요한 것 : 상태관리, 비동기적, 렌더링 (0) | 2025.02.19 |