AWS로 node.js 서버배포하기

Hazel_Song·2020년 10월 17일
0

DEPLOYMENT

목록 보기
2/4

AWS의 세계란 쉬운 듯 복잡한 듯하다...
분명 제대로 익힌 듯 하지만 막상 하려니 헷갈려서 이렇게 정리해보고자 한다.

  • 우선 내 local 컴퓨터에 서버를 만든다. 그리고 배포를 위해서 git에 해당 서버코드를 업로드 한다. 이때 git에 업로드 하는 방법은 평소 git 저장소에 저장하는 방법과 동일하다(add -> commit -> push)

  • aws ec2에 들어가서 인스턴스를 새로 만들자!
    (인스턴스 시작을 누르면 된다.)

  • 일반적으로는 우분투환경으로 서버를 만들게 된다.
    -> 과금되지 않기 위해 프리티어 기능이 되는 것으로 골라서 셋팅하자!

  • 위의 화면에서 검토및 시작을 누르면 뜨는 화면에서
    하단의 시작하기를 누르면 아래와 같이 키페어 생성 혹은 선택 창이 뜬다.
    -> 이 때 설치되는 pem 키를 통해서 AWS 서버에 접속하는 것이므로,
    관리를 잘 해야한다.
    -> 하단의 창에서 키를 생성하거나 만든 후에, 인스턴스 시작을 누른 후,
    팝업창이 닫히고 인스턴스 보기를 누르면, 초반에 인스턴스 시작을 눌렀던 화면이 뜨게된다.
    -> 방금 내가 만든 인스턴스에는 이름이 없으므로, 설정해주는 것이 좋다.

  • 그리고 키페어를 새로 만든 다음에, AWS EC2에 연결하기 위해서, 펨키를 통해 local에서 작업해주어야 하는 것이 있다.
    a. 바탕화면에 .ssh 폴더 만들고 키페어 이동하기
    -> 이때 mkdir .ssh/로 폴더를 만들고 (.ssh/해주는 이유는 해당 폴더가 숨겨지기 위해서다.)
    b. mv 명령어를 통해서 키페어를 옮기자!

  • 그리고 아래의 화면에서 작업-> 연결을 누른다

  • 그리고 아래와 같이 SSH 클라이언트탭으로 들어가면 아래와 같은 창이 뜬다
    a. 설명되어 있는 바와 같이 터미널에서 SSH폴더에 들어간다.
    b. 그리고 chmod "펨키명" 으로 펨키를 숨김처리 해준다.
    c. 그다음에 터미널 명령어에
    ssh -i ~/.ssh/"펨키명" ubuntu@public ipv4 주소
    입력하면 서버 컴퓨터로 접속하게 된다.

  • 서버컴퓨터에 접속하고 서버실행을 위해 해야할 일
    a. 서버 컴퓨터에 sudo apt update해서 필요한거 설치
    b. git clone으로 서버 레포주소를 서버컴퓨터에 설치
    c. npm install 해주고 서버 시작 확인하기

  • 퍼블릭하게 하려면 보안그룹에서 인바운드 탭 지정해줘야한다.
    a. 인스턴스들이 모여있는 화면에서 내가 보안설정을 해주려는 서버를 클릭하면 아래와 같이 하단 창이 보인다.

    b. 하단 창의 보안탭에서 보안 그룹 링크를 누르면 인바운드 규칙을 설정할 수 있는 창이 뜬다.
    c. 아래의 인바운드 규칙 예시를 참고로 하여, 보안 그룹 설정하면 된다!

프로젝트 진행을 위해 만든 인바운드 규칙 예시!

-> ipv4 퍼블릭 주소와 포트 번호 조합으로 서버 배포 가능!

내가 헷갈렸던 배포에 대한 개념
사람들이 들어오는 도메인은 S3에서 만든 버켓 주소로 들어오게 된다.
즉 클라이언트 주소로 사용자들과 소통한다.
그 주소를 도메인을 사게 되면 된다.

즉 사용자들은 클라이언트와 연동된 코드만 받는것이고, 실제 서버 코드는
통신을 위해 퍼블릭하게 배포해 두는 것이다.

profile
코드 한 줄로, 세상의 가치를 만들자🌟

0개의 댓글