inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

리액트 프로젝트를 Azure Storage에 배포하기

도커 컴포즈를 통한 배포 질문

해결된 질문

389

율리시스

작성한 질문수 10

0

- 여러분의 질문을 고대하고 있습니다. :-)
- 질문 전에 검색을 먼저 해보세요. 사람 사는 게 다 비슷하다는 것을 알게 됩니다.
- 예의는 거침없이 질문하기 위한 최고의 발명품입니다.
- 100개의 설명이 스크린샷 한방 보다 못할 수 있습니다.
- 코드를 첨부하면 전세계 누구나 이해할 수 있는 질문이 됩니다.
- 하나의 질문에는 하나의 주제를 담아야 답변도 예리해집니다.
- 시행착오를 알려주시면 곧 바로 원하는 문제에 집중할 수 있습니다.

- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
안녕하세요 강사님.
강의를 통해 배포까지 마치게 되어 속이 뻥 뚫린 기분입니다.
 
강의에서 설명해주신 구조로 배포는 성공 했고, 추가적인 시도를 하다가 질문이 생기게되어 남깁니다.
실제 프로덕션에서는 Nignx + Gunicorn 구조로 많이 쓴다고들 하는데요. 그래서 강사님이 해주신 방법처럼 DockerFile에 Nginx까지 설치 명령을 포함할까 하다가 docker-compose라는 개념을 알게되어 시도해보고 있습니다.
 
로컬에서 docker-compose up --build 명령을 통해 이미지를 만들고 실행했을 때 잘 구동되는것까지 확인을 했구요. 단순 도커이미지가 아닌 docker-compose는 여러개의 컨테이너가 엮여있는 개념이니까 설정이 달라져야 할거라 생각했습니다.
그래서 Azure > App Service > 배포센터에서 docker 단일 컨테이너가 아닌 Docker-compose(미리보기) 메뉴 바꾸면 되는건가 했는데.. 이 방법이 아닌가 싶네요. 혹시 Azure의 App Service에서는 바로 docker-compose 이미지를 배포할 방법은 없는걸까요?
 
강의 내용에서 살짝 벗어난거같아서 질문드려도 되는지 모르겠지만 키워드만이라도 남겨주시면 감사하겠습니다. 좋은강의 감사합니다
 
 
 

docker react django python

답변 1

2

이진석

안녕하세요.

모든 아키텍처에는 구성의 이유가 있습니다. 이유없이 사용되는 아키텍처는 없습니다. // nginx 는 웹서비스 아키텍처에서 다양한 역할로 사용될 수 있습니다. 일반적으로 nginx 를 앞단에 두는 경우는 부하 분산 (load balancer)의 역할로서 두는 경우가 많습니다. Azure나 AWS 등의 클라우드의 환경에서는 부하 분산의 역할을 별도의 서비스가 있습니다. Azure에서는 Azure에서 부하 분산 서비스 사용 문서를 참고해보실 수 있구요. AWS에서는 Application Load Balancer란 무엇입니까? 문서를 참고해보실 수 있습니다.

별도의 부하 분산 서비스를 이용하지 않더라도, Azure App Service 에서는 부하를 컨테이너가 직접 받는 것이 아니라, Azure App Service 서비스가 먼저 받아서 전달해주는 것이기 때문에, 일반적인 nginx의 역할을 이미 해주고 있습니다. 그러니 Azure App Service 환경에서는 굳이 nginx를 앞단에 두지 않으셔도 괜찮습니다.

Azure App Service에서의 docker compose지원은 다른 클라우드 서비스에는 없는 기능인데요. Azure App Service에서의 docker compose는 아직 preview이기에 사용하시기 적합하지 않으실 듯 하구요. preview로 기능 제공이 된 지 꽤 된 거 같은 데, 아직 정식이 되지 않은 걸 보면 아마도 정식 지원은 기대하기 힘들 듯 싶습니다. MS 입장에서도 그리 효용성 높은 기능이 아니라고 판단한 것이 아닌 가 싶습니다.

Azure App Service에서 부하 분산이 필요하시다면, 위에서 언급드린 다양한 부하분산 서비스를 이용하시거나, nginx가 꼭 필요하시다면, 별도의 VM이나 app service를 통해 nginx를 구축하시고, 이 nginx를 통해 장고 서비스로 트래픽이 전달되도록 virtual network 구성하시는 방식이 맞으실 듯 합니다. // 아키텍처는 정답이 없으니, 다양하게 고민을 해보시면 좋으실 듯 합니다.

클라우드 환경이 아니거나, 직접 VM을 구축해서 서비스를 하실 경우에는 nginx 운영에 좀 더 포커스가 갈텐데요. 이때 nginx 쿡북이라는 책이 있습니다. 이 책을 참고하시면 좀 더 많은 인사이트를 얻으실 수 있구요. OpenResty 라는 nginx 플랫폼이 있는 데, 같이 참고해보시면 좋습니다.

화이팅입니다. :-)

안녕하세요.

0

48

1

[OneToOne Field Demo] get_user_model() 메서드를 활용해야 하는 이유?

0

271

1

useEffect 훅에서 else 유무에 따른 결과

0

211

1

useAxios 훅의 dependency array 설정

0

245

1

useEffect에서 변수 업데이트 관련 질문

0

381

1

rest_framework.generics.CreateAPIView의 model 속성 유무

0

266

1

bootstrap4

0

469

4

리뉴얼 강의가 오픈이 되면 기존 강의는 더이상 못보는걸까요

1

361

1

admin form에서 앞선 필드 선택 후 다른 필드 select widget 구성하는 방법

0

572

3

useState는 필수일까요?

0

261

1

python manage.py makemigrations instagram 시 created_at default 오류가 발생합니다.

0

595

4

Django allauth를 사용한 소셜 로그인 시 에러

0

652

1

프로젝트명 변경 뒤, 디버그툴바+디버그모드 사용 시 에러

0

551

2

useLocalStorage() 함수 사용여부

0

228

1

django에 LOGIN_URL = '/accounts/login/'의 의미?

0

447

1

리듀서의 의미 재확인

0

428

1

simple-jwt Refresh Token 사용 노하우

0

897

2

docker compose 를 통한 배포 관련 오류 문의

0

669

1

파이썬 속도 장고 관련 궁금한게 있습니다.

0

364

1

is_like_user

0

233

1

related_name 오류

0

272

1

re_path 오류

0

258

1

re_path url

0

249

1

No post matches the given query

0

659

2