22.08.22 - 22.09.01 정리

chichi·2023년 1월 10일
0

코딩 내용을 예쁘게 잘 정리하고 싶은데 쉽지가 않다. 묘하게 원하는 컨텐츠는 나오지 않는달까. 그래서 우선 생각나는대로 써놓는다. 생각나면 나중에 정리하겠지 뭐.

AWS 강의실 - YouTube

VPC

  1. 개발자가 나 하나뿐인 스타트업이라서, 어느새 AWS 세팅을 맡게 되었다. 처음에는 외주를 맡기려고 했다. 10만원 정도로 가격도 저렴하고, Devops 할 시간에 코드 더 짜는게 이득이라고 생각했기 때문이다. 그런데 시니어 분께서 그런걸 지금 맡아서 해놔야 런칭 이후 문제에 대응할 수 있기 때문에 직접 해 보라고 권유하셨다. 그래서 이것저것 찾아보다가 AWS 강의실 이라는 좋은 유튜브 채널을 찾게 되었다. 해당 강의에서 VPC 파트를 듣고 하나씩 해나갔다.
  2. 공부는 회사 계정으로 했다. 유튜브에서 말하는대로 VPC 를 10.0.0.0/16 으로 놓고, 서브넷도 퍼블릿, 프라이빗 하나씩 놓았다. 라우트 설정을 하고, IGW 세팅을 하고 NACL 세팅도 하고 퍼블릭에 IGW 연결도 했다. EC2를 두개 만드는데 하나는 퍼블릭, 하나는 프라이빗으로 하고 프라이빗은 퍼블릭 EC2에서만 연결되게 세팅했다.
  3. 분명 하라는대로 했는데, 퍼블릭 서브넷에 설치한 EC2 가 인터넷과 연결되지 않았다. 오만 짓을 다 하고, 그래도 안되고 하루가 지났다. 잠이 들 때 쯤 혹시 모르니 내일은 프로덕트가 돌고 있는 회사 계정이 아니라 아무것도 없는 나의 개인 계정으로 해봐야겠다는 생각이 들었다. 출근하고 바로 같은 작업을 개인 계정으로 했고, 잘 되었다. 도당체 무엇이 문제였을까 생각했다.
  4. 문제는 VPC를 만들 때 초기에 설정한 IPv4 의 값(?) 이 기존 프로젝트와 중복되었던 것 때문이 아닐까 한다. (추측) 그래서 라우터에서 뭔가 꼬였고, EC2 에서 외부 인터넷 연결이 안 된 것 같았다. 블로그 글에서도 찾기 어려운, 실전에서만 얻을 수 있는 배움이 아닐까 위로해본다. (이 문제 때문에 이틀 간 기분이 너무 안 좋았다.)

NestJS

  1. nodejs 는 express 빼면 주니어가 함부로 손대면 안되는 듯 하다. 이번 프로젝트를 진행하며 백엔드를 NestJS 로 하고 있는데 여러모로 그걸 느끼고 있다.

  2. 최근 NestJS 버전도 9버전으로 올라갔고, NodeJS 용 ORM 인 Typeorm 의 버전도 0.2 에서 0.3 으로 올라갔다. 그러면서 스펙이 많이 바뀌었는데, 문제는 써드파티 라이브러리에서 일어났다. 우선 0.3 버전을 지원하는 seed 라이브러리가 없다. 그리고 해당 버전을 지원하는 migration 라이브러리도 찾을 수 없었다. 시간이 지나면 버전업이 되겠지만, 나는 지금 당장 새로 올릴 private EC2 에 api 서버를 올리고 mysql DB도 올려야 해서 고민을 했다. 그러다 '서버 실행시키고 api 통신으로 시딩 해도 되잖아?' 라는 생각이 들었다.

  3. 그래서 오늘 아침에 seed 함수를 만들었다. 해당 함수는 role table 을 확인하고 없을 경우 admin, user 를 만든다. 그리고 superAdmin 을 확인하고 없으면 만들어준다. 이 때 사용할 아이디와 비밀번호는 env 에서 가져오기 때문에 github 공유 과정에서 노출될 일은 없게 했다.

  4. 무튼 이렇게 일부는 api 서버에서 만들고, 일부는 어드민에서 api를 활용해서 초반에 구축해야 할 데이터를 시딩하는데 성공했다. 이가 안되면 잇몸으로 하는 법을 또 하나 배워간다. (정석은 sql 을 배우거나 typeorm-migration 코드를 까서 보는 거지만 시간이 없으니 패스...)

기타

  1. React-Router-Dom 의 버전이 5에서 6으로 올라갔다. Document 보면서 바뀐 거 익히는 중이다. 어떤 부분은 5와 달라서 route 분리 과정에서 고생을 했다. <- 이거 해결과정 공유하면 조회수 좀 오를 듯 하다. 코드가 처음 antd 로 어드민 짤 때 보다는 훨씬 깔끔해져서 그건 만족스럽다. Devops 때문에라도 리눅스 aws docker 까지 공부할 게 많으니 차근히 배우며 정리 해 나가야겠다.
  • 해당 글은 블로그에 있던 글을 백업하며 가지고 온 글입니다. AWS 강의실 운영하시는 선생님이 제 글에 와서 댓글 남겨주셨어서... 혹시나 오해하실까봐 이건 각주 남겨놓습니다. AWS 강의실 최고!
profile
번역글 위주로 다루려 합니다. 오역 및 기타 사항은 해당 게시글에 댓글로 남겨주시면 답변드리겠습니다. 좋은 하루 되세요!

0개의 댓글