DolphinDash

[NCP] naver cloud를 통해 가장 쉽게 서버 배포하는 방법 (django / ubuntu / docker) 본문

대외활동/멋쟁이사자처럼

[NCP] naver cloud를 통해 가장 쉽게 서버 배포하는 방법 (django / ubuntu / docker)

DolphinDash 2023. 8. 6. 18:05

오늘은 naver cloud platform을 통해 쉽게 cloud 서버를 만들고 그 안에 django 웹 프레임워크를 이용해서 간단한 웹 서버를 만드는 방법에 대해 알아보겠습니다. 

 

NAVER CLOUD PLATFORM

cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification

www.ncloud.com

현재 네이버에선 신규 가입 고객 모두에게 3개월간 100000원의 할인 크레딧을 제공하는 이벤트가 있습니다. 이를 이용하여 토이 프로젝트에 서버를 사용하거나 다른 다양한 네이버 클라우드의 기능들을 사용할 수 있습니다. (발급일로부터 3개월동안 사용가능)

저는 이를 이용해 서버를 만들고 만든 웹을 배포하는 과정을 설명하려 합니다.

먼저 로그인 후 크레딧 신청을 한 다음 오른쪽 상단의 콘솔을 들어가면 하단의 페이지가 나옵니다.

현재 Dashboard에서 다양한 서비스 이용 내역을 볼 수 있습니다. 네이버 클라우드는 현재 2가지 환경을 제공해주는데, 

 

Ncloud Classic 환경 vs VPC 환경 비교

Ncloud 서비스의 Classic 환경과 VPC 환경 각각의 장점과 주요 사용 환경에 대해 정리해보았습니다

docs.3rdeyesys.com

두 가지의 차이점은 위 블로그를 참고하고 저희는 Classic을 사용할 것이니 Platform이 Classic인 것을 확인합니다.

이제 서버를 만들어 볼껀데 services에서 server를 찾아 북마크로 지정해두면 쉽게 찾을 수 있습니다

서버를 생성하게 되면 디스크 크기, 이미지타입, OS이미지 타입 서버 타입을 고려해 서버 이미지를 선택할 수 있습니다. 저는 ubuntu로 선택을 하겠습니다.

서버 설정에서는 중요한 가격이 적혀 있는데 짧게 프로젝트로 생성하실거면 시간 요금제를 길게 유지하는 서버를 생성하실거면 월요금제를 사용하고 서버 타입에 따라 가격이 달라지고 월요금제로 사용하다 반납할 시 하루 사용량을 기준으로 요금이 부과되기 때문에 이를 유의해서 생성해주세요. (참고로 서버를 중지한다고 돈이 안 빠져나가지 않습니다!!! 꼭 반납을 해야 요금이 더 이상 부과되지 않습니다!!!) 

 

다음 단계에 인증키는 서버의 접속 비밀번호를 얻기 위해 사용되는데 생성시 인증서 형식인 .pem확장자로 다운이 됩니다. 이게 없으면 서버 접속을 하지 못하니 잘 간수하여야 합니다.

네트워크 접근 설정은 ncloud-default-acg를 사용하셔도 되고 신규 acg를 사용하셔도 됩니다. 추후 접근 설정을 따로 할 수 없으니 신규 ACG를 만들고 추후에 규칙을 만들어 사용하시는 걸 추천합니다.

모든 설정이 끝나면 위 그림처럼 서버가 생성이 되는데요. 이때 acg의 규칙을 추가하고 기다려 주면 되겠습니다.

서버가 생성되면 관리자 비밀번호를 확인합니다. 

그리고 서버에 로그인할 때 필요한 비밀번호를 확인하고 메모장이나 다른 곳에 복사해놓습니다. 

그리고 ssh로 서버에 접속을 해야하는데 puTTy를 사용해도 되고 윈도우라면 cmd로 접속하기 쉽게 환경을 만들어 놓을 수도 있습니다.

 

윈도우10 에서 CMD로 SSH 접속하기 (Windows 10 SSH)

SSH 뜻 시큐어 셸(Secure Shell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로

charging.tistory.com

이후 공인 IP를 하나 생성합니다.

생성한 공인 IP를 통해 ssh 연결을 시도할 것입니다. 

저는 cmd로 연결했는데요, puTTy도 똑같이 공인 ip로 연결해 비밀번호 입력하고 사용하시면 됩니다.

이제 프로젝트를 옮겨 서버에서 프로젝트를 실행하도록 해야겠죠? 

scp -r django-path root@공인IP:path-to-destination

저는 django를 이용해서 웹을 실행시킬 것이기 때문에 django 파일을 해당 서버의 home에다 옮겨줬습니다.

이후 docker 파일이나 가상환경을 만들어 패키지 설치를 한 후 실행해주면 됩니다. 하지만 저는 docker 파일을 만드는걸 추천드리는데요, 가상환경을 만들어 패키지를 만들어 주면 프로젝트에 패키지가 많을 경우 시간이 오래걸리기 때문에 windows의 경우 아래 링크의 설명을 따라 설치해주시길 권장합니다. 

 

윈도우 Docker 설치 완벽 가이드(Home 포함)

Docker는 경량 가상화 기술인 리눅스 컨테이너 도구입니다. 윈도우 Home과 Pro에서도 몇 가지 설정을 통해 Docker Desktop을 사용할 수 있습니다. 이 글에서는 윈도우에서 Docker Desktop을 설치하는 방법을

www.lainyzine.com

이후 ubuntu에서

해당 docker 패키지를 설치한 후 프로젝트에 도커 파일을 생성해준 후, 아래 코드를 ubuntu에서 해줍니다.

docker build -r docker아이디/프로젝트이름:버전 .
docker run -p -it docker아이디/프로젝트이름

이후 프로젝트가 실행되고 웹에서 공인 IP로 접속하면 설정한 웹이 보이게 됩니다.

 

긴 글 읽어주셔서 감사합니다.