개발11 NCP로 난생 처음 서버 배포하기-2 서론이 글은 Naver Cloud Platform(NCP)에서 웹 서비스 서버를 구성하는 과정과 경험을 정리한 글입니다. 첫번째 글 에서는 VPC 생성부터 방화벽 구성과 서버 인스턴스 생성까지의 과정을 다루었습니다. 이번 글에서는 서버 구성 과정 중, 도메인을 로드밸런서에 연결하고 SSL 인증서를 발급해 HTTPS 통신을 할 수 있도록 설정하는 방법에 대해 정리할 것이다. 사전 지식 HTTPS - 도메인과 SSL 인증서1편에서 서버 인스턴스를 퍼블릭 서브넷에 배치했기때문에 인스턴스의 퍼블릭 IP를 통해 직접 접근할 수도 있다. 퍼블릭 IP로 서버에 접속하면 되는데 도메인은 왜 필요할까? 퍼블릭 IP를 직접 노출하는 것은 보안상 위험하고 퍼블릭 IP만으로는 HTTPS(보안 접속) 설정이 불가능하다. 따.. 2025. 3. 30. NCP로 난생 처음 서버 배포하기-1 서론같이 일하는 동료분께서 너무 좋은 아이디어를 가져와주셔서, 비사이드에서 진행하는 온라인 해커톤 포텐데이에 참가하며 사이드프로젝트를 진행하고있다. 회사에서 근무하며 자동배포 시스템이 이미 잘 되어있는 프로젝트에 참여하여 작업한 결과물을 배포한 적은 있지만, 부끄럽게도 직접 서버를 구성하고 서비스를 배포해본 경험이 아직 없었다.포텐데이에 참여하면 네이버 플라우드 플랫폼(Naver Cloud Platform, NCP)의 크레딧을 받을 수 있는데, 이 크레딧을 활용하여 NCP에서 서버를 구성하고 서비스를 배포하는 경험을 정리해보려고 한다.첫번째 글에서는 네트워크를 구성하고, 보안 설정을 하고, 네트워크에 서버를 배치시키는 과정에 대해 정리할 것이다. 사전 지식1. VPC (Virtual Private C.. 2025. 3. 16. [NestJS] Prisma Transaction 들어가며오늘은 NestJS + Prisma 조합의 애플리케이션에서 데이터베이스 트랜잭션(Transaction)을 구현하는 방법을 알아보겠습니다. 데이터베이스 트랜잭션은 DBMS에서 사용되는 더 이상 쪼갤 수 없는 작업의 최소 단위입니다.예를 들어 주문-결제 로직이 상품 수량 업데이트 → 유저 정보 업데이트 → PG API 호출 → 결제 상태 업데이트 이렇게 작성되어있는데, PG API 호출 단계에서 예외가 발생해 종료되었다고 했을 때 아무런 처리가 되어있지 않다면 데이터 일관성이 깨지게됩니다. (상품, 유저 테이블은 결제 완료 처리가 반영되었는데 결제 테이블은 반영되지 않음)이런 경우 상품, 유저, 결제 테이블 업데이트를 하나의 트랜잭션으로 묶어서 처리할 수 있습니다. 이 글에서는 nestjs-cls/t.. 2025. 3. 2. [NestJS] 로컬에서 스크립트 실행하기 (feat. nestjs-command) 들어가며 백엔드 개발을 하다보면 데이터베이스 스키마가 변경되어 마이그레이션을 수행하거나, 데이터를 수동으로 조작해야 하는 경우가 종종 발생합니다. 이러한 작업을 수행할 때 데이터베이스에 직접 SQL 쿼리(Raw Query)를 실행할 수도 있고, 프로젝트의 코드베이스를 활용해 스크립트를 작성하고 실행하는 방법도 있습니다.Raw Query 방식은 실수가 발생할 위험이 있고, 반복적으로 수행해야하는 작업인 경우 DB 스키마나 비즈니스 로직이 변경될 때마다 별도로 반영해야하는 불편함이 있습니다. 그래서 저는 ORM과 기존의 비즈니스 로직을 활용할 수 있는 스크립트 방식을 더 선호합니다.NestJS는 의존성 주입(Dependency Injection, DI) 방식으로 동작하기 때문에, Service나 Reposi.. 2025. 2. 16. 이전 1 2 3 다음