본문 바로가기
모바일앱 프로젝트

AWS로 django 서비스 배포하기 (Windows) (1)

by Nicole 2021. 3. 14.

1. 계정 만들기

필수적으로 필요한 계정 두 개는 github 계정과 aws 계정이다.

gibhub 계정은 있고, 로컬 서버에서 테스트하던 django app도 업로드 해두었기 때문에 이 부분은 생략하도록 하겠다.

AWS(Amazon Web Service) 계정을 만드는 건 좀 까다롭다.

본인의 Visa 혹은 MasterCard 카드정보까지 제공해야한다.

나는 일단 꺼지지 않는 서버를 돌리는게 목적이기 때문에 일단 free 버전을 설치했다.

 

2. Django 가상환경 설치목록 txt파일 만들어주기

$ pip3 freeze >> requirements.txt

위 명령을 가상환경 workon 실행해준 뒤에 진행하면, django 폴더 내에 txt파일이 생성된다.

가상환경 내에 설치된 라이브러리 목록들이 작성된다.

 

3. AWS에서 인스턴스 생성하기

AWS에 들어가서 만들어둔 계정으로 로그인을 한다.

좌측 메뉴에 '인스턴스'를 클릭하고 뜬 페이지에서 '인스턴스 시작'을 눌러준다.

여기서 인스턴스란 컴퓨터라고 보면 된다.

해당 화면에서 컴퓨터 이미지 (운영체제 정도라고 이해하면 될 것 같다.)

다양한 인스턴스 종류 중 프리티어로 사용이 가능한 t2.micro 유형을 선택해준다.

다음으로는 키 페어를 생성해준다.

임의의 이름을 지정해줬다.

그리고 sewon 하위 디렉토리로 .ssh폴더를 생성해줬다.

$ mkdir .ssh

window command이다.

다운 받은 'keypair_name.pem' 파일을 .ssh 폴더로 옮겨준다.

잘 들어있는 걸 확인!

 

4. .ssh 사용을 위한 별도 세팅 (Cmder.exe - 윈도우 콘솔 에뮬레이터 사용)

 

https://cmder.net/에 접속해서 윈도우에서 .ssh 를 사용할 수 있도록 별도의 세팅을 해줘야 한다.

우선 cmder zip 을 unzip 해주고, 실행해준다.

이렇게 커맨드를 칠 수 있는 창이 뜨는데, 편의상 cmder 폴더 내에 key.pem 파일을 옮겨줬다.

그리고 실행해보니 요런 문구가 처음에 떴다.

구글링해보니, 기존에 사용한 적 없는 host key에 대한 warning이라고 한다.

자세한 내용은 reference 4. 에서 참고할 수 있다.

$ ssh -i [키 페어 경로] [유저 이름]@[public DNS 주소]

유저 이름은 초기에는 ubuntu로 세팅되어 있다.

저기서 yes를 입력해주면 known_hosts파일이 .ssh폴더 내에 생성된다.

다시 접속해보면 제대로 연결이 된다.

이렇게 원격 접속에 성공했다.

// 패키지 정보 업데이트
$ sudo apt-get update
//패키지 의존성 검사 및 업그레이드
$ sudo apt-get dist-upgrade
//python3 패키지 매니저(pip3) 설치
$ sudo apt-get install python3-pip

이렇게 기본 세팅까지 완료해 준다.

 

포스팅이 길어져서, git에 업로드해둔 프로젝트 git clone하는 과정은 다음 포스팅에서 다루도록 한다.

 

 

 

 

 

REFERENCE

1. 여기에는 단계별로 한 6단계까지 진행 방법이 차근차근 나와있어서 참고하면서 진행하려고 한다.

nerogarret.tistory.com/45?category=800142

 

Django 서비스 AWS로 배포하기 - [1] 프로젝트 준비와 AWS 서버 대여

안녕하세요, 네로입니다. 이번 포스팅의 시리즈에서는 자신이 만든 프로젝트/서비스를 Amazon Web Service(AWS) 로 배포하는 방법을 소개해 볼까 합니다. 주위에 웹 개발을 배우시는 분들 중에는 자신

nerogarret.tistory.com

 

2. 이게 비교적 더 최근 포스팅이라 부수적으로 비교하면서 진행하려고 한다.

ssungkang.tistory.com/entry/django-AWS-EC2%EB%A1%9C-%EB%B0%B0%ED%8F%AC

 

[django] AWS EC2로 배포

Amazon EC2란? EC2란 Amazon Elastic Compute Cloud의 즐임말로서 AWS에서 제공하는 클라우드 컴퓨팅입니다. 이를 통해 하드웨어 구매없이 더 빠르게 애플리케이션을 개발하고 배포할 수 있습니다. Amazon EC2를

ssungkang.tistory.com

 

3. AWS

ap-northeast-2.console.aws.amazon.com/console/home?region=ap-northeast-2

 

https://ap-northeast-2.console.aws.amazon.com/console/home?region=ap-northeast-2

 

ap-northeast-2.console.aws.amazon.com

4. host key never seen before (security issue)

superuser.com/questions/421074/ssh-the-authenticity-of-host-host-cant-be-established

 

SSH: The authenticity of host can't be established

What does this message mean? Is this a potential problem? Is the channel not secure? Or is this simply a default message that is always displayed when connecting to a new server? I am used to s...

superuser.com

5. cmder 사용 관련 포스팅

gofnrk.tistory.com/6

 

AWS EC2 접속 for Linux / Mac / Windows

로컬 PC에서 AWS EC2에 접속하는 방법이에요. 1. 접속할 인스턴스를 선택 2. 연결 → ssh 접속 명령어 복사 3. pem 파일 비공개 전환 4. ssh 접속 1. 접속 인스턴스 선택 2. 연결 방법 아래 명령어를 복사할

gofnrk.tistory.com

 

댓글