기업협업 프로젝트로 추천상품 기능구현을 진행하게 되었다.
Python Django를 사용할 목적으로 처음부터 서버를 구축
서버는 AWS의 Lightsail 사용하였습니다.
서버 구성과 Lightsail이 무엇인지 작성
서버 구성
AWS Lightsail - CentOS7
Web Server - Nginx
WSGI Server - Gunicorn
Web Application - Django
Database Server - Mysql
AWS Lightsail 이란
- AWS Lightsail은 2016년 아마존 웹 서비스에서 발표한 서버 호스팅 서비스
- 다른 서비스들과 달리 독립적으로 구성되어있다.
- 아마존 라이트세일이 기존 AWS 서비스와 독립적으로 구성된 이유는 AWS가 너무 복잡하기 때문이다.
- 기존 EC2에 비해 저렴한 비용과 웹 서비스에 필요한 주요 기능들을 한 곳에서 쉽게 관리할 수 있게 구성된 입문자용 서비스입니다.
- AWS에서 제공하는 VPS(Virtual Private Server) 서비스 이다.
VPS 란?
- 하나의 물리 서버를 여러 개의 가상 서버로 쪼개어 사용하는 것을 의미
- 하나의 물리서버를 다른 이들과 공유하는 개념이기는 하지만 각자 독립적인 서버 공간을 가지는 것이 가능합니다.
VPS 장점
- VPS 서비스의 장점은 단순하다.
- 비용이 저렴하다.
- OS, 사이즈, 리전 선택하고, 몇 가지 옵션 체크하고 나면 온라인으로 접근 가능한 가상 머신이 만들어진다.
- 또한 고정 IP, 로드밸런싱, 매니지드 데이터베이스 등 추가 기능을 제공하고 있으며, 추후에 EC2로 변환할 수 있는 마이그레이션 기능도 제공
VPS 단점
- 하나의 물리서버에서 컴퓨팅 리소스들을 모든 사용자와 공유하기 때문에
- 만약 다른 VPS에 높은 부하가 발생하는 경우 RAM, 대역폭, CPU 성능이 영향을 받을 수 있습니다.
- 즉, 한 사용자가 너무 많은 리소스를 점유할 때 발생할 수 있는 문제입니다.
- OS와 여러가지 웹 프레임워크를 선택할 수 있다.
- 기존에 구축한 서버가 CentOS 기반이라 동일하게 생성하였다.
- Linux / CentOS7 선택
- Lightsail 인스턴스의 ssh 접근을 위한 pem키 설정 단계
- 자동으로 생성되는 pem키 이름보다는 별도의 pem키 이름을 사용한다면 SSH키 페어 변경 선택
- 방화벽에서 사용할 Port를 Open 하였다.
데이터 베이스 생성
- 데이터베이스 사용자 이름 및 암호는 기본 값으로 설정하면
- dbmasteruser 이름으로 생성된다. 패스워드는 자동으로 랜덤한 암호를 배정 받음
- 마스터 데이터베이스 기본 이름으로 사용
- 마스터 데이터베이스는 SQL Server 시스템에 대한 모든 시스템 수준 정보를 기록합니다. 이 정보에는 로그온 계정, 엔드포인트, 연결된 서버 및 시스템 구성 설정 등 인스턴스 차원의 메타데이터가 포함