【AWS】EC2로 Express 어플리케이션을 이동한다

소개



취미로 AWS를 만져 보려고 생각 그 때 조사한 것을 한 번에 정리해 두려고 생각합니다

환경



AWS 측




종류
버전


Linux/UNIX
Amazon Linux 2 AMI

Git
2.23.3

nvm
0.37.2

Node
14.15.5


  • nvm (Node Version Manager) Node의 버전을 간편하게 변경할 수있는 것

  • 지역




    종류
    버전


    Windows
    Pro

    Tera Term
    4.97


    인스턴스 만들기



    이번에는 Amazon Linux 2를 선택합니다.

    기본값으로 "확인 및 만들기"로

    확인에 가면 보안을 강화해 주시면 나오므로 セキュリティグループの編集를 선택하여 변경합니다.

    SSH로 액세스할 수 있는 IP를 집에서만 설정합니다.
    소스 풀다운에서 マイIP를 선택하고 確認と作成를 선택합니다.


    보안 그룹에 방금 설정한 IP가 표시되면 괜찮습니다.
    그대로 시작하여 인스턴스 시작


    EC2에 연결



    인스턴스 목록에서 방금 만든 것을 선택합니다.
    인스턴스 상태가 実行中이면 자세한 パブリックIpv4アドレス에 대상 주소가 표시됩니다.

    Tera Term(등)에 방금 전의 IP 주소를 넣어 접속해 아래와 같이 표시되면 접속 성공입니다
    
           __|  __|_  )
           _|  (     /   Amazon Linux 2 AMI
          ___|\___|___|
    
    https://aws.amazon.com/amazon-linux-2/
    [ec2-user@ip-XXX-XXX-XXX-XXX ~]$
    

    시간대 변경



    시간대가 초기 설정이라면 UTC가 되어 있으므로 일본 시간으로 변경해야 합니다.

    시계 파일 변경


    $ sudo vim /etc/sysconfig/clock
    
    ZONE="UTC"
    UTC=true
    ↓
    ZONE="Japan"
    UTC=true
    

    i를 눌러 인서트 모드로 하고 UTC 부분을 Japan로 변경
    완료되면 Esc를 누르고 :wq로 저장하고 종료

    심볼릭 링크


    $ sudo ln -sf /usr/share/zoneinfo/Japan /etc/localtime
    

    지금까지 완료되면 시스템을 재부팅하십시오.
    재부팅 후 아래와 같이 되면 완료
    $ date
    Thu Feb 11 15:30:00 JST 2021
    

    Git 설치



    nvm을 설치하기 위해 설치
    $ sudo yum install git
    

    nvm 설치


    $ cd ~/
    $ git clone https://github.com/nvm-sh/nvm.git .nvm
    $ cd ~/.nvm
    $ git checkout v0.37.2
    $ . ./nvm.sh
    

    .bash_profile 편집
    $ cd ~/
    $ sudo vim .bash_profile
    

    .bash_profile ··· 로그인시 한 번 실행되는 파일
    아래와 같이 #nvm 이상 추가
    # .bash_profile
    
    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi
    
    # User specific environment and startup programs
    
    PATH=$PATH:$HOME/.local/bin:$HOME/bin
    
    export PATH
    
    # nvm ここから下記を追加
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
    [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
    

    추가하고 저장하고 종료하면 아래 명령으로 설치할 Node의 버전 목록을 표시합니다.
    $ nvm ls-remote
            v0.1.14
            v0.1.15
            v0.1.16
            ~~~~~~~
           v14.15.3   (LTS: Fermium)
           v14.15.4   (LTS: Fermium)
    ->     v14.15.5   (Latest LTS: Fermium)
            v15.0.0
            v15.0.1
    

    현재 v14.15.5가 LTS이므로 14.15.5 설치
    nvm install 14.15.5
    

    설치가 완료되면 확인
    $ node -v
    v14.15.5
    

    Express Generator 설치



    Express 애플리케이션의 병아리를 쉽게 생성할 수 있습니다.
    $ npm install -g express-generator
    

    설치가 완료되면 아래 명령으로 앱 만들기
    $ express -e app_name(アプリ名)
    $ cd app_name(アプリ名)
    $ npm install
    

    필요한 패키지 설치가 끝나면 다음 명령으로 시작
    $ npm start
    > app_name(アプリ名)@0.0.0 start /home/ec2-user/app_name(アプリ名)
    > node ./bin/www
    

    인바운드 규칙 변경



    현재 SSH 포트(22)만 비어 있기 때문에 Node 어플리케이션에서 사용하고 있는 포트(3000)를 허가할 필요가 있습니다
    인스턴스 목록의 보안에서 보안 그룹을 선택하여 3000개의 TCP를 추가합니다.


    액세스



    인스턴스 목록의 퍼블릭 IPv4 주소에 :3000를 추가하고 브라우저에서 액세스하여 아래와 같은 화면이 나오면 성공


    마지막으로



    이제 한 번에 애플리케이션에 액세스할 수 있어야 합니다.

    다음은 자신의 도메인 + SSL로 액세스 할 수있을 때까지 작성하고 싶습니다.

    좋은 웹페이지 즐겨찾기