시장에 있는 고객들에게 서비스로 배포하기 위해서는 클라우드 서비스를 활용하여 서버를 상시 가동시켜야만 합니다.
실제 회사에서는 어떤 클라우드 서비스를 활용할지 비용, 성능 등 다양한 기준으로 비교해보아야 하지만 저는 클라우드 관련 경험이나 지식이 없었기 때문에 가장 많이 활용되고 있고 관련 자료도 많은 아마존 웹서비스를 활용하기로 했습니다. 그리고 후일 다른 개발자분께서 합류하시면 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
'Code' 카테고리의 다른 글
AWS EC2 인스턴스 인바운드 IP 제한 상태에서 Github Action 배포 (2) | 2023.01.05 |
---|---|
AWS 프리티어 평생 쓰기 - Migration 시리즈 3. RDS 이전 (0) | 2022.08.15 |
AWS 프리티어 평생 쓰기 - Migration 시리즈 2. 로드밸런서를 통해 https 적용하기 (0) | 2022.08.15 |
AWS 프리티어 평생 쓰기 - Migration 시리즈 1. 도메인 이전 (0) | 2022.08.15 |
Mysql 워크벤치에서 AWS RDS 연결하기 (0) | 2022.03.28 |