AWS

[AWS] 장고 프로젝트 배포하기 (1) AWS 계정 생성, EC2 인스턴스 생성

Codest 2022. 4. 29. 20:25

안녕하세요! 오늘은 AWS를 이용하여 장고 프로젝트를 배포하는 첫 번째 글입니다.

개발환경이 궁금하신 분들은 제 Django 프로젝트 첫 번째 글을 참고해주세요.

 

[파이썬, Django] 1. 장고 초기 환경설정

 

[파이썬, Django] 1. 장고 초기 환경설정(가상환경, 프로젝트, 앱 생성)

안녕하세요 Codest 입니다 ! 오늘은 장고 초기 환경설정에 대해 알아보겠습니다. 개발 환경 Python 3.8.8 Anaconda 4.10.1 Ubuntu 20.04 (Linux Terminal) Django란? Django는 웹 애플리케이션을 만드는 과정을 단..

codest.tistory.com

 

목차

 

1. 사전 준비

2. AWS 계정 생성

3. 인스턴스 생성

4. 인스턴스 설정

 


1. 사전 준비

 

가상 환경 활성화 후 프로젝트 폴더 내에서 pip freeze를 입력하면 가상 환경에 깔려있는 패키지들이 출력됩니다.

 

주의)

conda 가상 환경 중에서 base 가상 환경 내에는 불필요한 패키지들이 많이 깔려있기 때문에(기본적으로 깔려있는 패키지들이 많음) AWS 서버 내의 가상 환경에 패키지들을 설치할 때 충돌이 날 확률이 높습니다. 그러므로 가상 환경을 새로 만드시고 프로젝트가 구동되는데 필요한 패키지들만 설치한 후 새로운 가상 환경 내에서 requirements 파일을 만드시는 것을 권장드립니다.

 

 

pip freeze > requirements.txt를 입력하면 현재 디렉토리 내에 requirements.txt 파일을 생성하고 가상 환경 내에 설치되어있는 패키지들을 정리해줍니다. 이를 이용하여 AWS 서버 내의 가상 환경에 패키지 들을 빠르게 설치할 수 있습니다.

 

하지만 위에 사진처럼 @ file ~~ 형태로 출력된다면 이 명령어를 사용해야 불필요한 경로들을 제외하고 패키지 버전별로 깔끔하게 정리됩니다.

 

# Terminal
pip list --format=freeze > requirements.txt

 

 

이제 프로젝트 폴더 내에 requirements.txt 파일이 생성되었고 이를 Github에 Commit 합니다.

 


2.  AWS 계정 생성

 

해외 결제 가능한 카드 필수 (VISA / MASTER)

저는 가벼운 프로젝트를 배포할 것이기 때문에 프리티어(무료) 계정으로 생성했습니다.

AWS 무료 계정 생성 링크

 

무료 클라우드 컴퓨팅 서비스 - AWS 프리 티어

Q: AWS 프리 티어란 무엇입니까? AWS 프리 티어는 고객에게 서비스별로 지정된 한도 내에서 무료로 AWS 서비스를 살펴보고 사용해 볼 수 있는 기능을 제공합니다. 프리 티어는 12개월 프리 티어, 상

aws.amazon.com

 

링크로 접속하셔서 무료 계정 생성을 클릭합니다.

 

 

이메일 인증을 한 후 암호를 설정합니다.

 

 

개인정보들을 입력한 후 Google에 영문 주소 변환을 검색하여 영문 주소를 채워 넣습니다.

 

 

결제 정보를 입력하고 문자인증을 진행합니다.

 

 

기본 / 개발자 / 비즈니스 / 기업 중에서 기본을 선택해야 프리티어로 사용 가능합니다.

계속을 누르면 가입이 완료됩니다.

 

 

 


3. 인스턴스 생성하기

 

EC2 콘솔 창에 들어가서 인스턴스 시작을 클릭합니다.

 

Ubuntu 20.04 LTS를 선택합니다.

 

t2 micro를 선택하고 단계 4 전까지 수정사항 없이 다음 클릭

 

단계 4에서 요금부과 없이 생성 가능한 볼륨의 최대 용량 30GB로 설정합니다. 단계 6 전까지 다음 클릭

 

단계 6에서 유형 추가 HTTP, HTTPS, 사용자 지정 TCP(8000 포트) 소스는 모두 위치 무관(Anywhere) 하고 검토 및 시작

 

Ubuntu 20.04 , t2 micro로 설정이 잘 되어있다면 시작하기 클릭

 

유형을 RSA, 이름을 django로 설정하고 키 페어 다운로드를 클릭합니다.

pem 파일을 프로젝트 폴더 외 (Github와 연동되지 않은) 다른 폴더에 넣어둡니다.

(주의! 절대로 절대로 pem키를 Github에 올리시면 안 됩니다. 공개된 Repository에 pem키를 올리게 되면 다른 사람이 악용했을 경우 원치 않는 요금이 청구될 수 있습니다.)

 

인스턴스 시작을 누르면 생성된 인스턴스를 확인할 수 있습니다.

 


4. 인스턴스 설정

 

왼쪽 사이드바에 탄력적 IP 할당을 클릭하고 주황색 할당 버튼을 클릭합니다.

(서버의 IP를 고정시켜주기 위해 필요)

 

할당을 클릭합니다.

 

작업 -> 탄력적 IP 주소 연결을 클릭합니다.

 

아까 생성했던 인스턴스를 선택하고 연결을 클릭합니다.

 

퍼블릭 IP(공개된 IP)가 할당된 것을 볼 수 있고 이제 사용자들이 이 IP로 접속을 할 수 있게 되었습니다.

 

 

이제 인스턴스 설정은 끝이 났고 다음 시간에는 Terminal 환경에서 AWS 서버에 접속하고 서버 내에 Django 패키지들을 설치해보겠습니다.

반응형