본문 바로가기

AWS

EC2 설정하기 (1)

Amazon EC2에 서버를 올리는 작업을 수없이 진행했지만 매번 이 부분에선 어떻게 했더라하며 헤매다가 결국 작성하기로 마음먹었다.

 

현재 회사에서 쓰고있는 대부분의 t2.micro 서버에서 속도가 갑자기 느려지는 현상이 자주 발생하였고 그럴때마다 매번 인스턴스 stop/start를 해주었지만 결국 임시방편일 뿐이였다. 그러면서 ec2 인스턴스를 t3.medium 이상으로 새로 생성하기로 했고 이번 기회에 스스로 겪은 경험을 위주로 EC2 설정작업을 정리해보려고한다.

 

인스턴스 시작을 누르면 나오는 화면이다. aws linux, ubutu 등을 선택할 수 있고 원하는 OS를 선택하면된다.

ubutu의 경우 git이 기본으로 설치되있었다. 여기서는 aws linux를 이용했다.

인스턴스 유형은 t2.micro에서 c5.large로 변경하였다. 조금 알아보니 t2.micro는 정말 연습용이라는 느낌이 많이 들긴했다. 비용이 저렴한 이유를 알게되었고 지금은 회사에서 사용할 서버기때문에 c5로 올리기로 결정했다. 이부분에 대해선 조금 더 공부를 해야될 것 같다.

 

 

인스턴스 생성이 완료됐으면 보안그룹설정을 해준다. 기존의 것을 사용해도되고 새로운 그룹을 생성해도 상관없다.

해당 보안그룹에서 인바운드 / 아웃바운드 규칙을 설정해주는것이 중요하다.

여기서는 80(http), 443(https) 포트에 모든 IPv4 주소를 열어주었다.

 

보안그룹 설정이 완료되었으면 해당 인스턴스에 접속하여 원하는 프로젝트를 세팅해준다.

인스턴스메뉴 - 연결을 통해 웹으로도 접속이 가능하고 ssh 명령어를 이용하여 로컬 터미널에서도 접속이 가능하다.

급할땐 웹으로 들어가는 경우도 있었으나 브라우저탭 이동 후 오랜시간이 지나면 소켓(?)통신이 끊겼는지 새로고침을 자주해주어야해서 불편한점이 있다. 당연한 얘기지만 터미널을 이용하는것이 좋다. *.pem 형식의 인증서 파일을 이용해 접속해주면된다. 인스턴스 - 연결에 들어가면 명령어를 쉽게 복사할 수가 있다.

 

# aws는 ec2-user, ubuntu는 ubuntu로 시작합니다.
# public DNS -> host, 프라이빗키 -> private.pem

$ ssh -i "pem_dir/private.pem" ec2-user@host

# permission error 가 발생하면 아래 명령어를 실행해주세요

$ chmod 400 private.pem

 

ec2 리눅스서버에 접속했으면 설치하려는 프로젝트와 관련된 패키지들을 설치해준다.

여기서는 git, node를 설치하겠다.

 

제일먼저 yum 패키지 업데이트를 한다. 운영체제마다 명령어가 다를수도 있으니 잘찾아보길바란다. 우분투의 경우 apt-get을 이용한다.

 

sudo yum update

 

노드버전 관리자 nvm을 설치해준다

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

 

nvm 을 활성화 시켜준다.

. ~/.nvm/nvm.sh

node js를 설치해준다.

다른 버전을 이용하고 싶다면 node 자리에 버전이름을 넣어주면된다.

nvm install node
nvm install 16

현재 최신버전은 18.x 지만 좀 더 안정적인 16.x LTS 버전을 설치해주었다.

 

혹시나 git action 등의 sudo 명령어를 통한 node, npm 스크립트를 실행한다면 아래 처럼 설정해주면된다.

sudo ln -s /home/ec2-user/.nvm/versions/node/v16.15.0/bin/node /usr/bin/node

사용자명과 마지막 node / npm , 버전이름은 상황게 맞게 바꿔주고 node와 npm의 설치경로는 whereis 명령어를 이용하면된다.

 

그리고 git이 설치되어있지않다면 설치를해준다.

sudo yum install git
git --version

node서버를 실행하기때문에 pm2를 설치하고 회사에서 해당 프로젝트를 npm 대신 yarn으로 관리하기때문에 yarn을 같이 설치해준다.

sudo npm i -g pm2 yarn

node서버 실행 후 설정된 포트번호를 포함한 인스턴스 public ip 주소로 접속해본다

 

설정된 api call 혹은 웹페이지가 잘 나오는지 확인한다.

'AWS' 카테고리의 다른 글

AWS Linux Timezone & Crontab  (0) 2022.05.23
EC2 설정하기 (2)  (0) 2022.05.23