코딩 개발

코딩 개발

PM2를 활용한 프로세스 백그라운드 실행

PM2 (Process Manager 2) 간단히 말해 PM2는 애플리케이션 무중단 운영 및 다양한 시스템 관리 업무를 가능하게 해주는 Node.js 프로세스 매니저입니다. PM2로 프로세스 백그라운드로 실행 프로세스를 백그라운드로 실행해야 하는 이유 서버를 배포한다는 것은 간단히 말해 24시간 동안 쉬지 않고 서버를 가동하는 것입니다. 하지만 어떠한 이유로 서버가 켜져 있는 터미널이 종료된다면 서버 프로세스가 같이 종료되는 문제가 생기게 됩니다. 만약 현재 AWS EC2 인스턴스에 배포하는 상황이라면, 우리는 배포를 위해 EC2 인스턴스에 SSH 접속하여 서버를 켜고 SSH 세션에서 exit 하지 않고 계속 접속을 유지해야 합니다. 만약 exit 하게 되면 배포한 서버 또한 종료됩니다. 게다가 SSH ..

코딩 개발

SSH를 이용한 EC2 Instance 접속

SSH 쉘(Shell)은 명령어를 입력하여 컴퓨터를 제어하는 방식입니다. 따라서 SSH(Secure Shell)이란 명령어를 입력하여 보다 안전하게 원격 서버를 제어하고 통신하기 위한 프로토콜 혹은 이러한 프로토콜을 사용하는 프로그램들을 의미합니다. SSH가 사용되는 대표적인 예시는 아래와 같습니다. 데이터 전송 소스 코드를 Github과 같은 원격 저장소에 push 하기 Linux 명령어 중 하나인 scp 명령어를 통해 네트워크로 연결되어 있는 호스트들끼리 파일 주고 받기 원격 제어 EC2와 같은 원격 서버를 제어하기 위해 해당 서버로 접속하기 SSH를 이용하여 실행중인 EC2 Instance에 접속하기 EC2에 접근하는 Key Pair의 보안 방식은 Public Key 암호화 기법을 사용합니다. 이는..

코딩 개발

[AWS] Security Groups & Ports

Securirty Groups 보안 그룹은 AWS에서 가장 기본이 되는 네트워크 보안 기술입니다. 보안 그룹을 사용하여 EC2 Instance로 들어오거나(Inbound) 나가는(Outbound) 트래픽들을 직접 설정하여 제어할 수 있습니다. 이렇듯 보안 그룹은 서비스의 보안과 관련된 아주 중요한 기능이므로 EC2를 활용하여 인프라를 구축하는 경우 올바르게 사용할 줄 알아야 합니다. 보안 그룹 규칙(Security Groups Rules) 보안 그룹을 생성할 때에는 필요한 규칙들을 추가해줘야 합니다. 이러한 규칙들은 아래와 같이 다양한 옵션으로 트래픽을 제어할 수 있습니다. 포트(Port) 인증된 IP 범위 - IPv4 and IPv6 인스턴스 밖에서 안으로 들어오는 Inbound Network 인스턴스..

코딩 개발

[AWS] EC2

EC2 Amazon Elastic Compute Cloud 의 약자입니다. 사전적으로는 아마존 신축적인 산출 클라우드..... 이게 뭘까요? AWS(Amazon Web Services)에서는 기본적으로 EC2 라는 서비스를 통해서 확장 가능한 compute를 사용자에게 제공해 줍니다. AWS의 가장 대표적인 IaaS(Infrastructure as a Service)인 EC2를 통해서 사용자는 본인에게 필요한 사양을 쉽게 고르고 가상 서버를 지칭하는EC2 인스턴스를 생성해서 원하는 시간만큼 사용할 수 있습니다. 간단히 말해 AWS에게 컴퓨터를 대여하는 것입니다. Amazon EC2는 운영 서버에 필요한 대부분의 OS(Ubuntu, CentOS, Window 등)를 지원하고, 사용 목적에 맞는 수십 가지 ..

코딩 개발

Mysql transaction

Transaction 사전적 의미로는 거래, 매매, 처리 라는 뜻이 있는데 아마... 여기서는 처리로 사용되겠죠? 트랜젝션이란 데이터베이스에서 여러 명령이 묶인 작업의 한 단위를 의미합니다. 트랜젝션으로 명령들을 묶고 그 명령들이 한번에 데이터베이스에 적용되게끔 하는 기능이죠. 동료에게서 transaction이 사용되는 재미난 예시를 들었는데요. 은행에서 송금을 보내는 과정을 예시로 들어줬습니다. 송금을 할 때 갑자기 서버가 터지게 되면 돈이 공중분해 될 수도 있지 않겠습니까? 그렇게 되면 돈을 잃어버리게 되는 것이지요. 그래서 이 트랜젝션 기능을 이용하여 서버가 터지게 되면 기존에 저장되어있는 save 포인트로 roll back 하게 되는 사례가 있다고 합니다. 이제 본격 mysql로 들어가보면 mys..

코딩 개발

TypeORM 개념... 다시 잡기

typeORM이 제대로 뭔지 모르고 넘어서가 transaction이나 query runner를 하기 어려워졌기 때문에 다시 공부해 보려고 합니다. 스노우볼에 강하게 맞은 기분입니다. ORM Object-relational mapping - 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해줍니다. 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용합니다. 객체 모델과 관계형 모델 간에 불일치가 존재하기 때문에 ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결합니다. express와 관계형 데이터베이스를 조합할 때 자주 사용되는 ORM으로 sequelize와 typeorm 이 있는데 typeorm을 사용하는 이유는 모델의 정의를 제대로 하..

호소세
'코딩 개발' 카테고리의 글 목록 (30 Page)