Back-end/Server & Cloud

[GCP/Cloud Logging] NestJs에서 winston을 사용해서 google cloud logging sink router 설정하기.

③ 개인정보처리자는 제1항 및 제2항에 의한 권한 부여, 변경 또는 말소에 대한 내역을 기록하고, 그 기록을 최소 3년간 보관하여야 한다. 제가 속해있는 SecOps팀에서는 admin project내에서의 권한관리를 어떻게 할 것인지, 그리고 권한관리를 효율적으로 하기 위해서 많은 노력을 기울이고 있습니다. 지금까지는 슬랙 쓰레드를 이용해서 권한 요청을 하고, 쓰레드를 이용해서 log를 남기곤 했었는데요. 이제는 개발적으로 확실하게 audit log를 관리해보고자 gcp cloud logging을 도입했고, 그 과정을 정리해보고자 합니다. 0. 왜 winston인가? 많은 Node.js logging module중(morgan, bunyan등등..) winston을 사용한 이유는 multiple tran..

2022.12.02 게시됨

Back-end/Server & Cloud

[GCP/docker] Appengine 배포환경에서 .env 분기하기(부제. env-cmd)

현재 진행 중인 프로젝트들은 GCP에서 AppEngine이라는 서비스를 이용해서 운영되고 있습니다. 거의 대부분은 GKE환경에서 배포가 되고 운영을 하고 있지만 저희 팀에서 진행 중인 프로젝트는 AppEngine을 사용하고 있죠. (AppEngine에 대해서는 다음 시간에 자세히 다뤄보기로 하고) 오늘은 AppEngine 환경에서 env 파일을 어떻게 사용하는지에 대해 알아보도록 하겠습니다. 0. 먼저 React에서 CRA란? 현재 프로젝트의 프론트앤드는 CRA(Create-React-App)를 통해서 설계가 되어있습니다. CRA는 리액트로 웹 애플리케이션을 만들기 위한 환경을 제공해주고 CRA 하나의 명령어만으로 리액트 개발환경을 쉽게 구축할 수 있다는 장점이 있죠. (자세한 내용은 여기 페이지에서 확..

2022.10.03 게시됨

Back-end/Server & Cloud

[Server] Bastion Host란? (부제. GCP에서 Bastion 띄우기)

일반적으로 개발을 하면서 Cloud DB에 접근할 때는 바로 DB host로 연결해서 사용할 수도 있지만 일반적으로 prod레벨에서는 보안을 위해 DB를 띄워놓은 인스턴스가 들어있는 VPC 안을 Proxy서버를 통해서 접근하게 됩니다. 자 그렇다면 여기서 VPC안에 들어갈 때 사용되는 Proxy서버는 어떤 역할을 할까요? 이번 시간에 Proxy 서버역할을 하는 Bastion host에 대해 알아보려고 합니다. 0. Bastion host란? 먼저 Bastion은 직역해보면 군사, 요새에서 성 외곽을 보호하기 위해 돌출된 부분을 의미합니다. 따라서 Bastion host는 적을 가장 효과적으로 방어할 수 있는 host 겠구나.라고 생각해볼 수 있겠는데요. 말 그대로 컴퓨터 네트워크에서 적을 방어하기 위해서..

2022.07.29 게시됨

Back-end/Server & Cloud

[Server] pub/sub 이란?

최근 회사에서 MSA로 마이그레이션을 진행하고 있습니다. 거의 대부분은 MSA로 프로젝트들이 설계되어 있죠. MSA에 대해서는 이 블로그에서 아주 간단명료하게 설명되어 있으니 모르시는 분들은 한 번 보고 오시는 걸 추천드립니다! 0. pub/sub을 알기 전, 메세지 큐(Message Queue) 란? MSA구조에서는 하나하나의 애플리케이션끼리 통신을 해야 하거나 한 API에서 다른 API로 데이터를 넘겨야 하는 순간들이 생기게 됩니다. 여기서 메세지 큐가 등장하는데요. 메세지 큐(Message Queue)는 프로세스 또는 프로그램 간에 데이터를 교환할 때 사용하는 통신 방법 중에 하나로, 메세지 지향 미들웨어(Message Oriented Middleware: MOM)를 구현한 시스템을 의미합니다. 메..

2022.06.09 게시됨