[AWS] EC2에 애플리케이션 배포하기

희원·2022년 1월 11일
0

이번에는 간단한 Node.js 애플리케이션을 만들어 배포하는 작업을 해 보겠습니다.

Windows 10에서 EC2 인스턴스 접속하기

  • 하단의 인스턴스 요약에서 퍼블릭 IPv4 주소를 복사한다. (계속해서 쓰이니 메모장에 복사해놓자.)

  • SSH 활성화 여부를 확인하고, 폴더 권한을 부여해야 한다.

  • 위의 작업을 완료했으면 터미널(ex. cmd, Windows PowerShell)을 실행한다.

  • keyPair 파일이 있는 경로로 이동하여 아래의 명령어를 입력한다.
    ( ! 경로에 한글이 포함되어 있으면 오류가 발생한다.)

    ssh -i [키페어 이름].pem ec2-user@[퍼블릭 IPv4 주소]
  • yes를 입력하면 다음과 같이 접속이 완료된 것을 확인할 수 있다.


인스턴스에 Node.js 설치

Node Version Manager에서 여러 버전의 Node.js를 설치할 수 있다.

  • nvm 설치
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
  • Node.js LTS 버전 설치
nvm install --[버전이름]
nvm use --[버전이름]


Node.js 애플리케이션 만들기

  • 'app' 폴더 생성 후 이동

    mkdir app
    cd app

  • express 패키지 설치

    npm i -S express

  • Node.js 앱 작성
    vi index.js

    위와 같이 파일 작성을 완료했다면,

    Esc -> Shift + :(콜론) -> wq(저장하고 닫기) 입력 후 Enter를 쳐서 빠져나온다.


Node.js 앱 실행하기

1) 터미널에서 실행

  • 기존 터미널에서 index.js 파일을 로드한다.

    node index.js


  • 새로운 터미널을 실행하여 EC2 인스턴스에 접속한 뒤, (본문 3-1)

    아래의 명령어를 입력하여 index.js 파일을 GET 요청한다.

    curl localhost:3000
  • 다음과 같이 작성한 내용이 출력되는 것을 확인할 수 있다.


port 연결 오류
curl 명령을 실행했을 때, port 연결 오류가 발생하는 경우

error message:
curl: (7) Failed to connect to localhost port 3000: Connection refused

해결 방법: 기존 터미널에서 js 파일을 다시 로드해 본다.

2) Chrome 브라우저에서 실행

외부 브라우저에서 실행할 수 있도록 3000번 port를 오픈해주어야 한다.

  • 보안 탭의 보안 그룹 링크를 클릭한다.

  • 인바운드 규칙 편집을 클릭한다.

  • 다음과 같이 규칙을 추가하고 저장한다.

  • [퍼블릭 IPv4 주소]:3000 페이지를 로드하면 index.js 파일이 잘 실행되는 것을 볼 수 있다.


참고자료

profile
모든 시작은 사소함으로부터

0개의 댓글