[프로그래밍] AWS

[AWS] nest 배포

JHVan 2024. 6. 18. 18:04

가입하면 제일 먼저 Elastic Beanstalk 쓰거나 EC2 부터 생성한다. 

Elastic Beantalk 가 nest랑은 별로 안좋은게,

업로드 500mb 제한이 있어서 도커도 안올라가고, 필수파일 압축파일도 500메가 훌쩍 넘음

컨테이너 어쩌구로 한번 우회해서 올려야 하는데, 거기도 private 레포지토리는 500메가부터 비용청구됨.

 

EC2 생성은 UI가 상당히 업데이트돼서 어려울건 없고, 프리 플랜이라고 써져있는걸 선택해야 한다는걸 인지해야

하고, 키페어가 있어야 한다는것도 인지해야함(키페어는 계정에 저장되는듯 함. 드롭다운에 있음)

 

RDS 생성할때 EC2랑 엮어서 생성야 AZ까지 같은 곳에 생성됨.

(다른AZ에선 비용 발생함)

이때 보안그룹, vpc 자동 생성해주는데, RDS에 뭘 해도 퍼블릭 엑세스가 막힘. 아직도 인텔리제이랑 연결못함.

RDS는 템플릿에서 프리티어 선택하면 알아서 프리티어만 선택 가능

 

(EC2 안엮고 생성시 퍼블릭 엑세스 체크하고 보안그룹 열면 안막힘. 인텔리제이도 연결 잘)

둘이 엮어서 생성하면 따로 보안규칙 안 만들어도 ec2는 외부접속 잘되고, RDS는 EC2랑만 통신가능.

 

그다음 ec2 인스턴스 들어가서 연결 하고, 

curl -sL https://rpm.nodesource.com/setup_(버전).x | sudo -E bash -
sudo yum install -y nodejs

해서 노드 설치,

sudo yum install -y git

git 설치 후 git clone (repository 주소) -> 여기도 repositiry보안 설정에 따라 key 받고 어쩌고 해야함.

npm install, npm build 후 PM2를 설치해 관리한다.

sudo npm install -g pm2

참고:pm2 명령어

애플리케이션 시작: pm2 start <애플리케이션 파일>
애플리케이션 목록 보기: pm2 list
애플리케이션 재시작: pm2 restart <애플리케이션 이름 또는 ID>

애플리케이션 로그 보기: pm2 logs <애플리케이션 이름 또는 ID>

애플리케이션 중지: pm2 stop <애플리케이션 이름 또는 ID>

애플리케이션 삭제: pm2 delete <애플리케이션 이름 또는 ID>

PM2 설정 저장: pm2 save

PM2 재시작 후 부팅 설정 활성화: pm2 startup

 

환경변수 생성

프로젝트 루트 폴더에서 " nano .env " 치고 들어가서 생성 후 
Ctrl + X -> Y -> ENTER 

 

'[프로그래밍] AWS' 카테고리의 다른 글

[AWS] nest 배포 자동화  (0) 2024.06.18
[AWS] 도메인 등록  (0) 2024.06.18