이제 구글 클라우드의 Container Registry에 있는 우리 이미지를, Google Compute Engine으로 배포해 보겠습니다.
제가 Compute Engine을 선택한 이유는 최소 사양(f1-micro)으로 US region 으로 배포시 무료로 사용할 수 있는 장점 때문입니다.
1. Compute Engine 활성화
ㅇ Compute Engine을 최초 실행할때 이를 활성화 할 필요가 있습니다. 처음 서비스를 접속하면 약 1분간 자동으로 활성화 합니다.
2. Container Registry 에서 이미지 배포
ㅇ 앞에서 만들어둔 이미지를 배포 합니다. 구글은 콘솔에서 최대한 많은 일을 쉽게 연계 할 수 있도록 준비해 두었습니다. 올려둔 이미지를 선택하고 GCE 배포 버튼을 누릅니다.
3. Compute Engine 배포환경 설정
ㅇ GCE 배포를 누르면 자동으로 인스턴스 만들기가 실행됩니다.
이름 : 원하는 인스턴스 이름을 생성합니다.
영역 : 서버가 구동될 지역입니다. us 계열의 경우 f1-micro 머신을 무료로 이용할 수 있습니다.
머신유형 : VM의 성능을 선택합니다. f1-micro로 선택하면 us 계역 영역에서 무료로 사용할 수 있습니다.
컨테이너 : 컨테이너를 배포할 것인지 선택합니다. 컨테이너에서 GCE배포하기로 선택했기 때문에 기본으로 체크되어 있습니다.
컨테이너 이미지 : 우리 컨테이너의 위치 입니다. 컨테이너에서 GCE배포하기로 선택했기 때문에 선택한 이미지가 자동으로 작성되어 있습니다.
부팅 디스크 : OS 를 선택할 수 있습니다. 지금은 컨테이너 배포로 설정되어 있어 컨테이너 최적화 os 만 선택 가능합니다.
방화벽 : 외부에서의 접속 허용 여부를 정합니다. http를 허용합니다.
그 밖에도 다양한 설정이 가능하지만, 지금은 우선 이대로 만들어 봅시다.
4. VM 생성 및 django 구동 확인
ㅇ 인스턴스가 생성 되었습니다. 이 VM에 우리의 이미지가 동작하고 있으며, 우리의 이미지는 시작하면서 nginx 서버를 구동하고 django를 실행하도록 작성해 두었음으로 django가 구동중 일 것입니다. 외부 ip는 웹에서 우리 서버에 접속하는 주소 입니다. 직접 입력하셔도 되고, IP를 누르면 docker 에서 본 화면과 같은 django 화면(Error 화면...ㅜㅜ)을 볼 수 있습니다.
이제 우리는 우리가 만든 로컬의 django를 바탕으로 바로 서버구성이 되는 docker 이미지를 만들고, 이를 Google Container Registry를 경유하여 Compute Engine에 배포하여 웹에서 접속하는 것 까지 수행해 보았습니다.
5. 마치며
이제 본인이 로컬에서 django로 어떤 프로젝트를 구현했다면, 웹에 배포할 수 있다는 확신이 들었기를 바랍니다. django를 또는 다른 웹 프레임워크를 공무 하면서 이게 사이트에 올릴수는 있는건지, 배포가 가능한건지에 대한 미심쩍음이 조금이나마 해소되었으면 하는 바람입니다.
'Technique' 카테고리의 다른 글
웹서비스 비동기(백그라운드) 프로세스 만들기 (feat. Django, Celery) 2 (0) | 2018.04.01 |
---|---|
웹서비스 비동기(백그라운드) 프로세스 만들기 (feat. Django, Celery) 1 (0) | 2018.03.27 |
Google Cloud, Docker로 간단하게 웹서비스 구축하기(feat. Django) 4 (0) | 2018.01.19 |
Google Cloud, Docker로 간단하게 웹서비스 구축하기(feat. Django) 3 (0) | 2018.01.18 |
Google Cloud, Docker로 간단하게 웹서비스 구축하기(feat. Django) 2 (0) | 2018.01.17 |