ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [개발지식] AWS EC2 배포하기 (mongoDB)
    개발지식 2022. 3. 15. 14:53

    EC2 서버 구매하기

    SSH (Secure Shell Protocol)

    다른 컴퓨터에 접속할 때 쓰는 프로그램으로, 다른 것들 보다 보안이 상대적으로 뛰어나다.

    접속할 컴퓨터가 22번 포트가 열려있어야 접속이 가능하다. AWS EC2의 경우에는 이미 22번 포트가 열려있다.

     

    AWS EC2 접속하기 (Mac OS 기준 - Mac은 ssh가 있어서, 명령어로 바로 접근이 가능하다.)

    1. 터미널 실행

     

    2. AWS EC2 서버 구매 시 받은 Keypair의 접근 권한을 바꿔주기

    sudo chmod 400 받은 키페어를 끌어다 놓기

    3. SSH로 접속하기

    ssh -i 받은 키페어 끌어다놓기 ubuntu@AWS에 적힌 내 아이피

    4. EC2에 Node.js 설치하기

    curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
    sudo apt-get install -y nodejs

    설치 후 node -v와 npm -v를 통해서 현재 EC2에 설치된 Node.js의 버전을 확인할 수 있다.

     

    5. EC2에 MongoDB 설치하기

    wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
    
    echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
    
    sudo apt-get update
    
    sudo apt-get install -y mongodb-org

    6. mongoDB 실행하기

    sudo service mongod start

    실행 후 아무 반응이 없으면, 잘 실행된 것이다. 리눅스는 보통 잘 되면 아무것도 안나온다.

     

    7. mongoDB 접속 계정 생성하기

    mongoDB를 외부에서 열어주기 전에, 접속에 필요한 아이디와 비밀번호를 세팅한다. (미설정 시 누구나 DB정보를 볼 수 있다.)

    mongo

    좌측에 '>'표시가 나오면 mongoDB에 접속 성공한 것이다.

    # admin으로 계정 바꾸기
    use admin;
    
    # 계정 생성하기
    db.createUser({user: "test", pwd: "test", roles:["root"]});

    test, test 자리에 아이디와 비밀번호를 영어로 적으면 된다.

    # 나오기
    exit
    
    # MongoDB 재시작
    sudo service mongod restart

    8. mongoDB를 외부에서 열어주기

    mongoDB는 디폴트로 내부에서만 접속을 허용하고 있다. 이 작업은 외부에서 접근이 가능하도록 잠금을 풀어주는 것이다.

    sudo vi /etc/mongod.conf

    sudo: 관리자(SuperUser) 권한으로 다음을 실행하고, 관리자 권한으로 /etc 폴더 아래 mongod.conf 파일을 Vim으로 실행하라는 뜻

    i

    'i'로 입력 모드를 전을 해주고, 'network interfaces'의 'bindIP'를 0.0.0.0으로 변경해준다.

    그리고 'security'에서 'authorization: enabled'라고 변경을 해준다.

    # 내용 저장하고 에디터 종료하기. esc 누르고 다음 입력.
    :wq
    
    # 재시작
    sudo service mongod restart

    9. filezilla 프로그램을 이용하여 프로젝트 인스턴스에 업로드 하기.

    1. 프로젝트를 파일질라에 업로드를 한다.
    2. 파일질라를 실행시킨다.
    3. 호스트에 EC2 인스턴트 public IP를 입력하고, port에는 22를 입력 후 로그온 유형은 키 파일로 선택해서 AWS에서 내려받은 키파일을 통해서 접속 정보를 입력한다.
    4. 그 후 프로젝트 파일을 FTP 서버로 끌어다 놓는다.
    5. 작업 완료 후 터미널로 돌아와서 ls -al 명령어를 입력하면 프로젝트가 확인이 된다.
    6. 해당 프로젝트르 cd [프로젝트 이름]을 통해서 들어간다.
    7. 그 다음 npm install을 이용해서 module을 설치해준다.
    8. (node_modules가 들어 있어도, 옮기는 과정에서 누락됐을 경우를 대비해서 다시 재설치를 해주는 과정이다.)
    9. pm2 설치
    sudo -s
    npm install -g pm2

    위 두 명령어를 차례대로 입력해서 EC2 인스턴스 관리자 권한을 취득 후 pm2를 전역으로 설치해준다.

    pm2 start app.js

    pm2를 설치 후 실행을 시켜주면 서버가 실행이 된다.

     

Designed by Tistory.