aws의 개념
AWS는 Amazon Web Service의 줄임말입니다. AWS는 소위 클라우드 서비스라고도 합니다. 클라우드 서비스는 서버 등의 인프라스트럭쳐를 필요한대로 on demand로 사용할 수 있는 서비스 입니다. 즉, 유저가 직접 서버를 구입하고 설치할 필요 없이 AWS상에서 클릭 몇번으로 서버를 구축하고 사용할 수 있습니다.
aws의 다양한 기능
EC2
RDS(Relational Database Service)
인스턴스 생성하기
AWS region 활성화
시작
AMI(Amazon Machine Image) 선택
인스턴스 유형
인스턴스 구성
스토리지 추가
태그 추가
보안 그룹 구성
검토
실행
ssh
를 이용해 접속하려면 키 페어 파일에 대한 권한 설정을 바꿔야 한다.chmod 400 [키 페어 파일 이름]
ssh -i [키 페어] ubuntu@IPv4 퍼블릭 IP
—> yes
—> EC2가 시작된다.ubuntu@
: 인스턴스에서 사용되는 machine이 ubuntu이기 때문에 입력되는 명령어파라미터 그룹 생성
mysql5.7
프로젝트명-config
프로젝트명-config
파라미터 편집
utf8mb4
로 변경 —> 변경사항 저장utf8mb4_general_ci
로 설정utf8mb4_unicode_ci
로 설정데이터베이스 생성하기
생성 방식: 표준 생성
엔진 옵션: MySQL
버전 선택: MySQL 5.7.26
템플릿: 프리 티어
DB인스턴스 식별자: [프로젝트 이름]-database
마스터 사용자 이름: root
암호 설정하기
스토리지 자동 조절 활성화: 체크 해제
"연결" 부분의 퍼블릭 엑세스 기능: 예
VPC 보안 그룹: 새로 생성
보안 그룹 이름: [프로젝트 이름]_rules
가용 영역: EC2의 가용 영역 설정과 일치시키기
추가 구성: 초기 데이터베이스 이름 설정(로컬 데이터베이스 이름과 동일하게 설정하거나, 데이터베이스 생성을 원하지 않으면 입력하지 않아도 된다.)
DB 파라미터 그룹 설정: 기존에 생성했던 파라미터 그룹 선택
자동 백업 활성화: 체크 해제
삭제 방지 활성화: 체크
데이터 베이스 생성 —> 생성이 완료되면 앤드포인트가 생겨남
보안 그룹 규칙 바꾸기
[IPv4 퍼블릭 IP]/0
RDS 실행
mysql -h 앤드포인트 -u root -p
mysql -h [RDS 엔드포인트] -u root -p db 데이터를 import할 데이터베이스명 < db파일명
EC2 서버 접속하기
ssh -i [키 페어] ubuntu@IPv4 퍼블릭 IP
환경 설정
miniconda 설치
wget 복사한 링크
chmod +x 다운로드 받은 miniconda file name
./Miniconda3 file name
local 환경과 동일하게 설정
source .bashrc
패키지 업데이트 및 업그레이드
sudo apt-get update
sudo apt-get install gcc
—> mysqlclient 설치 시 error를 방지해준다.sudo apt-get install libmysqlclient-dev
가상환경 생성
conda create -n project python=3.8
conda activate project
git clone repository 주소
pip install -r requirements.txt
서버 열기
settings.py 수정
my_setting.py 생성
public ip로 서버 열기
python manage.py runserver 0:8000
배포
nohup gunicorn --bind=0.0.0.0:8000 [django프로젝트명].wsgi &
ps -ef | grep python
으로 확인 가능 —> postman으로 테스트 kill 24333
(gunicorn 실행했을 때 나오는 번호 입력하면 된다)