All Articles

AWS EC2 생성, 연결, 배포

SSH 생성 방법
  1. ssh-keygen
  2. ssh-keygen에서 파일명 설정 => 파일명.ssh
  3. cat ~/.ssh/id_rsa.pub
  4. github가서 계정 settings에서 SSH and GPG keys에서 New SSH key 버튼 클릭
  5. title 입력과 3번 명령어 실행하면 나오는 코드를 입력.
pem key 생성 방법

EC2 설정에서 가장 마지막에 pem key를 기존것으로 설정 및 생성할 수 있는데 기존 pem key가 있다면 기존것을 사용,
없다면 새로운 pem key 생성.

AWS 서버 접속 방법

ssh -i khsi6237.pem ubuntu@EC2 IP4주소(52.78.202.90)(pem키가 있는 디렉토리에서 명령어 사용할때)
ssh -i ~/pem키가 있는 디렉토리/khsi6237.pem ubuntu@EC2 IP4주소(52.78.202.90)(pem키가 없는 디렉토리에서 명령어 사용할때)
위 명령어 실행시 permision error가 발생하면 chmod -R 400 파일명.pem을 실행하고 다시 위 명령어 실행.

인스턴스 종료 방법

작업에서 인스턴스 설정에서 종료 방지 기능 변경 작업에서 인스턴스 상태에서 종료 디스크 제거는 볼륨에서.

AWS EC2 설정
  1. AWS에서 인스턴스 시작.
  2. 우분투 18.04 선택
  3. 프리티어 사용 가능한 항목 선택
  4. 인스턴스 개수 1 / 네트워크 기본값 2a / 퍼블릭 IP 자동 할당 서브넷 사용 설정(활성화) 종료방식 중지 / 종료 방지 기능 활성화 체크 /
  5. 스토리지 8기가 / 종료 시 삭제 체크
  6. 키와 값 설정하기no
  7. 보안 그룹 구성에서 기존 보안 그룹 선택에서 launch-wizard-1 선택
AWS 서버에서 노드환경 구성 및 프로젝트 실행 방법
  1. AWS 서버에 접속
  2. curl -sL https://deb.nodesource.com/setup_10.x | sudo bash - >> sudo apt-get update >> sudo apt-get install nodejs
  3. git clone하기
  4. sudo npm install -g yarn or npm install
  5. 프로젝트 디렉토리 들어가기
  6. sudo yarn
  7. sudo yarn add express
  8. vi server.js
    i누르고(insert 모드 진입) 아래 코드 입력

    const express = require("express");
    const path = require("path");
    const env = process.env.ENV;
    const app = express();
    app.get("/ping", function(req, res) {
     res.send("pong");
    });
    app.use("/", express.static(path.join(__dirname, "build")));
    app.get("/*", function(req, res) {
     res.set({
       "Cache-Control": "no-cache, no-store, must-revalidate",
       Pragma: "no-cache",
       Date: new Date(),
     });
     res.sendFile(path.join(__dirname, "build", "index.html"));
    });
    app.listen(80, () => {
     console.log("listening: " + env);
    });

esc키 누른 후 :wq 엔터

  1. sudo yarn build
  2. node server.js
  3. nohup node server.js & or EC2 IP4주소

위 10번 11번 중 선택해서 서버 실행.

aws에서 3000포트 사용 확인 명령어
netstat -anp | grep :3000
netstat -lntp
ps -ef | grep node

포트 종료 명령어
sudo kill -9 포트넘

전역에 설치한 모듈 확인법
npm list -g —depth=0