← 글 목록

notes

EC2 인스턴스 생성

AWS EC2 인스턴스 생성·AMI·네트워크와 접속 설정 기본 메모.


1. EC2 인스턴스 생성

1. 인스턴스 생성

  • 검색 → EC2 검색 → EC2 클릭 → 인스턴스 클릭

  • 인스턴스 시작 클릭

  • 아래의 사진들을 참고하여 정보를 기입(또는 선택)합니다.

생성된 키 페어를 통해 EC2 인스턴스에 접속이 가능합니다. (잘 저장해두도록 합니다.)

2. 보안서버 설정

  • 해당 인스턴스 ID 클릭 → 보안 클릭 → 보안 그룹 클릭

  • 인바운드 규칙 클릭 → 인바운드 규칙 편집 클릭

  • 규칙 추가 클릭 → 사진을 참고하여 정보 기입 → 규칙 저장 클릭

  • 아웃바운드 규칙 클릭 → 아웃바운드 규칙 편집 클릭

  • 규칙 추가 클릭 → 사진을 참고하여 정보 기입 → 규칙 저장 클릭

3. 인스턴스 접속

  • EC2 대시보드 클릭 → 인스턴스(실행 중) 클릭 → 해당 인스턴스 ID 클릭

  • 퍼블릭 IPv4 주소 복사
  • 터미널 실행 → 다운로드한 키 페어가 존재하는 경로에서 다음 명령어를 입력합니다.
  • 키 페어의 권한을 설정하는 명령어입니다.
  • 최초 한 번만 입력해주면 되는 명령어입니다.
chmod 400 instance.pem

[참고] downloads 폴더에서는 위의 명령어가 정상적으로 동작하지 않을 수 있습니다.

이 경우에는, 키 페어를 다른 폴더에 위치시키면 됩니다.

  • 다음 코드를 터미널에 입력합니다.
ssh ubuntu@{{퍼블릭 IPv4 주소}} -i ./{{키 페어}}
# ssh ubuntu@3.36.131.4 -i ./instance.pem

yes
  • 아래와 같은 화면이 나온 경우, 정상적으로 인스턴스에 연결된 것입니다.

4. 개발환경 세팅

  • 다음 코드를 터미널에 입력합니다.
sudo apt-get update -y && sudo apt-get upgrade -y

  • 아래와 같은 화면이 뜨는 경우, Enter 키를 누릅니다.

  • 다음 코드를 터미널에 입력합니다. (Node.js 설치)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
  • 다음 코드를 터미널에 입력합니다.
source ~/.bashrc
  • 다음 코드를 터미널에 입력합니다. (nvm을 통해 Node.js LTS 버전 설치)
nvm install --lts

  • 다음 코드를 터미널에 입력합니다. (Node.js LTS를 기본버전으로 설정)
nvm use --lts

  • 다음 코드를 터미널에 입력합니다. (npm을 최신 버전으로 설치)
npm i -g npm@latest

  • 다음 코드를 터미널에 입력합니다. (무중단 배포를 위해 pm2 설치)
npm i -g pm2

  • 다음 코드를 터미널에 입력합니다. (yarn 설치)
npm i -g yarn

  • 다음 코드를 터미널에 입력합니다. (@nestjs/cli 설치)
npm i -g @nestjs/cli

5. 프로젝트 실행

  • 다음 코드를 터미널에 입력합니다.
nest new hello-world

[참고] 프로젝트가 이미 존재하는 경우, git clone ~ 명령어를 사용하면 됩니다. (단, 프로젝트 권한을 갖기 위해서는 GitHub 사이트에서 SSH 키 설정이 필요합니다.)

  • 다음 코드를 터미널에 입력합니다.
cd hello-world
yarn
yarn build

pm2 --name hello-world start yarn -- start

  • 웹 브라우저에서 {{퍼블릭 IPv4 주소}}:3000 으로 접속합니다.
  • Hello World!가 뜨는 경우, 정상적으로 연결된 것입니다.

5. GitHub repository에서 프로젝트 전체를 복사해오기

  • GitHub 사이트에서 SSH 키 설정이 필요합니다. (다음 가이드를 참고하세요.)

  • 원격 저장소에서 복사할 프로젝트의 SSH를 복사합니다.

  • 터미널에 다음 코드를 입력합니다. (원격저장소에서 프로젝트 전체를 복사해오기)
git clone {{원격저장소의 SSH}}
# git clone git@github.com:kviruslab-dev/backend-template.git

  • 터미널에 다음 코드를 입력합니다. (프로젝트 실행하기)
cd {{프로젝트 이름}}
# cd backend-template

yarn
yarn start

  • 웹 브라우저에서 {{퍼블릭 IPv4 주소}}:{{백엔드 포트}}로 접속합니다.

[참고] EC2 보안서버에서 인바운드, 아웃바운드에 백엔드 포트 규칙이 등록되어 있어야 정상적으로 연결됩니다.