Code

Foowinkle MVP앱 개발 기록: 개발(2)

milC 2022. 8. 15. 23:00
반응형

시장에 있는 고객들에게 서비스로 배포하기 위해서는 클라우드 서비스를 활용하여 서버를 상시 가동시켜야만 합니다.

실제 회사에서는 어떤 클라우드 서비스를 활용할지 비용, 성능 등 다양한 기준으로 비교해보아야 하지만 저는 클라우드 관련 경험이나 지식이 없었기 때문에 가장 많이 활용되고 있고 관련 자료도 많은 아마존 웹서비스를 활용하기로 했습니다. 그리고 후일 다른 개발자분께서 합류하시면 AWS가 익숙할 확률이 높기 때문에 AWS 안에서 클라우드 서버를 모두 구축하였습니다.

 

AWS에서 활용한 서비스는 다음과 같습니다.

새로 계정을 만들어 프리티어 한도 안에서 활용하였습니다.

1. RDS (관계형 데이터베이스) - Mysql

2. EC2 - t2.micro

3. 로드밸런서 (설정만 하고 활용은 하지 않음)

4. SSL 인증

5. Route53

 

1. RDS

 

https://makethree.tistory.com/15

 

AWS migration 시리즈3. RDS 이전

프리티어 계정을 새로 만들면 기존에 있던 RDS도 이전해야한다. 기존 RDS에서 DB 스냅샷을 만들고 이를 새로운 계정으로 공유하여 이전하면 된다. 기존 계정의 RDS 에서 스냅샷 메뉴로 들어간다. 스

makethree.tistory.com

 

2. EC2

 

로컬 pem 파일 권한 설정 
chmod 600 ~.pem

접근
ssh -i "~.pem" ubuntu@{ec2인스턴스 주소}

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

npm -v, node -v 로 버전 확인

npm install -g express express-generator nodemon pm2

nginx 설치 경로 지정
sudo vi /etc/apt/sources.list
deb http://nginx.org/packages/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/ubuntu/ xenial nginx

source.list 내용 업데이트 되도록
sudo apt-get update
안되면
sudo apt-get install nginx

nginx 프록시 설정 (루트 포트 -> 3000번 포트 포워딩)

sudo vi /etc/nginx/sites-available/default

location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                # try_files $uri $uri/ =404;
                proxy_pass http://127.0.0.1:3000/; <- 추가
        }

sudo service nginx start

메모리 추가확보

sudo dd if=/dev/zero of=/swapfile bs=128M count=16

sudo chmod 600 /swapfile

sudo mkswap /swapfile

sudo swapon /swapfile

sudo swapon -s

sudo vi /etc/fstab
	파일끝에 추가
	/swapfile swap swap defaults 0 0

 

3. 로드밸런서 / SSL 인증 / Route 53

 

https://makethree.tistory.com/14

 

AWS Migration 시리즈2. 로드밸런서를 통해 https 적용하기

AWS에서 ssl 인증서를 발급받으면 도메인에 https://~ 로 접속할 수 있다. AWS에서 무료로 ssl 인증서를 발급받고 대상그룹과 로드밸런서를 생성한 뒤 http -> https 로 자동 리다이렉션 되도록 설정하는

makethree.tistory.com

 

 

 

 

 

반응형