ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [AWS] 1. EC2 서비스 배포
    tutorial/AWS클라우드 2021. 5. 28. 16:02

    [1]. EC2 서비스 배포

    AWS의 EC2를 이용하여 간단하게 웹 애플리케이션을 배포해보겠습니다.

    처음에는 github를 이용하여 서비스를 배포해보고 추후 CI/CD를 구축하여 서비스합니다.


    실습 전 세팅 환경

     

    1. github 레퍼지토리를 생성하거나 프로젝트를 내려받으세요.

     

    git clone https://github.com/mingoogle/aws-tutorial.git 

     

    [1]. 프로젝트 생성 및 github에 올리기

           1. 프로젝트 폴더를 생성하고 express를 설치합니다.

     

    npm install express --save

     

     

           2. app.js 파일을 생성하고 다음과 같은 코드를 작성합니다.

     

    const express =require('express');
    const app = express();
    const port = 3000;
    const os = require("os");
    const hostname = os.hostname();
    app.get('/', function (req,res){
    res.send('호스트정보 : '+ hostname);
    });
    app.listen(port, function (){
    console.log('서버가 시작되었습니다. 포트:%s',port);
    });

     

     

           3. 자신의 github 레퍼지토리에 해당 소스를 올립니다.

     

    [2]. 프로젝트 생성 및 github에 올리기

     

           1. AWS 로그인 후 EC2 대시보드 접속 후 [인스턴스 시작] 버튼 클릭

     

     

           2. Amazon Linux 2 AMI (HVM), SSD Volume Type 선택   

     

     

           3. t2.micro 선택 및 하단 [검토 및 시작] 버튼클릭

     

     

           4. 하단 [시작하기] 버튼클릭

     

     

          5. 새 키 페어 생성 및 [키 페어 다운로드] 및 [인스턴스 시작]버튼을 누릅니다.

     

     

           6. 생성된 EC2 인스턴스를 확인합니다.

     

                - 인스턴스 상태가 '실행 중'인지 확인합니다. 

     


           7. key 파일을 chmod를 이용하여 권한을 변경합니다.

     

    sudo chmod 400 mingu.pem

     

     

           8. EC2 대시보드에서 생성한 인스턴스의 [퍼블릭 IPv4주소]를 확인합니다.

     

    퍼블릭 IPv4주소 : 13.231.74.5 
    ==> 자신의 EC2 인스턴스의 [퍼블릭 IPv4주소]를 확인하세요.

     

           9. 터미널을 이용하여 EC2에 접속합니다.

     

               □ EC2 인스턴스 생성 시 생성한 pem파일이 필요합니다.

               □ EC2 대시보드에서 접속할 인스턴스의 [퍼블릭 IPv4주소]가 필요합니다.

     

    ssh -i mingu.pem ec2-user@13.231.74.5

     

    정상적으로 접속이 되었다면 다음과 같은 화면이 보입니다.

     

     

          10. 터미널로 접속이 되었다면 nvm과 pm2를 설치합니다.

     

               □ nvm 설치

               □ pm2 설치

     

    nvm 설치

    1. 설치

     

    sudo curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash

     

    2. 환경변수 설정

         - vi로 접속하여 내용 편집

    sudo vi ~/.bash_profile

     

     

         - .bash_profile 파일 안에 해당 내용을 추가

    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

     

    3. 설정한 환경 변수가 적용될 수 있도록 재시작

     

    source ~/.bash_profile

     

    4. 확인

     

    nvm ls

     

    node 설치

     

    1. node 설치

     

    nvm install 12.22.1

     

    2. 노드버전 12.22.1 사용 및 버전확인

     

    nvm use 12.22.1
    node -v

     

    PM2 설치

     

         □ nodejs가 설치되어 있어야 합니다.

     

    npm install pm2 -g

     

       

           11. github에서 소스를 가져온 후 서비스 배포하기

     

                □ GIT 설치하기

     

     

    GIT 설치

     

    sudo yum update -y
    sudo yum install git -y
    git version

     

           12. github 소스 가져오기

     

    git clone https://github.com/mingoogle/aws-tutorial.git
    # ls 명령어로 확인하기
    ls

     

           13. pm2로 실행하기

     

    cd aws-tutorial
    npm install
    cd ec2-tutorial/
    pm2 start app.js

     

    모든 작업을 완료하였습니다. 13.231.74.5:3000 접속해봅시다.
    ==> 자신의 EC2 인스턴스의 [퍼블릭 IPv4주소]를 확인하세요. 
    ==> 퍼블릭 IPv4주소:3000 에 접속합니다.

     

     


     

    이것으로 실습을 마치겠습니다.

    다음 실습에서는 AWS의 EC2와 CI/CD를 이용하여 자동화 배포에 대하여 알아보겠습니다.

    감사합니다.

     

     

     

    'tutorial > AWS클라우드' 카테고리의 다른 글

    [AWS] 3. 로드밸런싱 설정  (0) 2021.05.28
    [AWS] 2. AWS CI/CD 구축하기  (0) 2021.05.28
    [AWS] AWS 클라우드 - 인프라 실습하기  (0) 2021.05.28
Designed by Tistory.