inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

누구보다 빠르게 배우는 Nginx + Docker + Springboot 서버 무중단 배포

Nginx 설정

인스턴스를 1개만 사용 할 경우

해결된 질문

123

토니

작성한 질문수 8

0

강의에선 ec2 인스턴스가 3개로 분산 하였지만

프리티어만 한다는 가정하에

한 ec2 인스턴스안에 nginx, 컨테이너 안에 was 인스턴스를 2개 한 경우에도 두 개의 서버 인스턴스 포트를 달리 한다면 무중단 배포가 가능한가요?

 

kotlin docker spring-boot ci/cd nginx

답변 2

0

Neo

안녕하세요, 토니님 🙂 지식공유자 Neo입니다!
답변이 늦어진 점 양해 부탁드립니다ㅎㅎ

말씀해주신 방식도 충분히 가능합니다! 인스턴스의 스펙이 여유 있다면, Nginx 라우팅을 하나는 8080 포트에 매핑 하나는 8081 포트에 매핑하여 외부요청 → EC2 (Nginx → 8080 or 8081) 로 요청이 전달되도록 세팅할 수 있습니다.

위와 같이 세팅된 경우에도 당연히 무중단 배포 프로세스 구축이 가능합니다! (뒷 부분 세팅은 강의 내용과 동일 [다만 방화벽 열어주셔야해요 예) 보안그룹...]

강의에서는 3개 서버로 구성한 이유가 강의를 찍는 측면에서 더 직관적이고 편리하기 때문이었지만 (유지보수도 쉽지만), 질문자님처럼 2개 포트로 구성하는 사례도 실제로 많이 사용됩니다.

따라서 편하신 방식으로 선택하시면 됩니다!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 토니님.

무중단 배포를 구현하기 위해 인스턴스가 3개 필요하다고 흔히 생각하지만, 실제로는 단일 EC2 인스턴스에서도 구현할 수 있습니다. 프리티어 환경에서 Nginx와 두 개의 WAS 인스턴스를 동일 인스턴스 내에 구성하고, 각각 다른 포트를 할당하는 방식으로 무중단 배포가 가능합니다.

구성 방식:

  1. Nginx 설정: Nginx를 리버스 프록시로 사용하여 요청을 각 WAS 인스턴스로 라우트합니다. 두 WAS 인스턴스의 각기 다른 포트를 통해 트래픽을 분산시킬 수 있습니다.

  2. WAS 인스턴스 구성: Docker를 사용하여 각 WAS 인스턴스를 컨테이너로 배포하고, 서로 다른 포트로 노출합니다. 예를 들어, WAS1은 8081 포트, WAS2는 8082 포트를 사용할 수 있습니다.

  3. 로드밸런싱: Nginx가 두 WAS 인스턴스 간에 로드밸런싱 혹은 무중단 배포를 위해 트래픽을 관리하도록 설정할 수 있습니다. 이를 통해 한 WAS 인스턴스가 업데이트되거나 재시작되는 동안에도 다른 WAS 인스턴스로 서비스가 계속될 수 있습니다.

기존 질문에서 유사한 논의가 있었으니, 다음 링크를 참고해 보세요:
- 한 서버 내에서 무중단 배포 구현 방법이 궁금합니다

해당 설명이 무중단 배포 방식에 대한 개념과 구현 방법에 도움이 되셨기를 바랍니다. 추가적으로 궁금하신 점이 있다면, 언제든지 문의해 주세요. 곧 지식공유자께서 자세한 답변을 제공하실 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요.

부하 테스트 시 설정 관련 질문드립니다

1

27

1

HelloSpringApplication.java 클래스 실행 오류

0

12

1

"도커 이미지 생성" 18:59부분에 텍스트 파일로 정리 된거는 어디서 볼수 있나요?

0

19

1

Inner class로 Config를 지정하는 이유

0

29

1

네이버 API | '검색 - 책' API 제공 중단

0

42

2

ArticleReadService 관련 질문

0

30

1

kafka 이벤트 발행 실패 시 at-least-once를 보장하는 방법이 궁금합니다.

1

71

1

domain에 @Entity 와 Repository를 함께 둔 이유가 궁금합니다

1

52

1

Part 2 듣기전 복습하던 중, 아키텍처에 관한 질문이 있습니다.

0

47

2

테스트는 인터페이스를 대상으로 만드는것에 대해 궁금한 점이 있습니다.

0

32

1

혹시 강의 내용하면서 실습했던 것을 개인 깃에다 올려도 될까요?

0

25

1

아무도 모르게 책 내시면 모르실 줄 알고!!

1

54

2

Jib 이미지 빌드에서 docker credential 관련으로 이슈가 있다면

1

81

1

스크립트에 대해 질문 있습니다.

1

60

1

같은 사용자가 연속된 중복 호출할 경우 어떻게 되는지 궁금합니다!

2

74

1

조건 검색 질문

0

40

1

vagrant up 설치 에러

0

39

2

JPA 엔티티로 만들었다고 기술종속이 아닌지에 대한 질문

0

55

3

이거 지금 부터 들어도 괜찮을까요 ?? 시간이 꽤지난거같은데 .. 뭐 최신하고 아에 안맞을까요 .

0

39

1

무중단 배포 / 컨테이너 이미지 관리에 주로 어떤 인프라를 활용하시나요?

0

92

1

도커파일 내용이 노션 강의자료랑 강의영상이 서로 다릅니다.

0

110

2

감사합니다.

0

98

2

저는 PATCH 보다 PUT이 더 편하던데

0

88

2

궁금한게있습니다.

0

99

1