작성
·
638
·
수정됨
1
안녕하세요 강사님
강사님께서는 강의에서 어플리케이션을 80포트에 배포해 바로 ELB에 연결하셨는데요
혹시 nginx를 중간에 끼게 된다면 어떤 방식으로 하면 좋은지 궁금합니다
저는 nginx를 중간에 껴서 리버스 프록시 서버를 만들고 싶은데요
이러한 방법이 ecs에서는 권장되지 않아 80포트로 어플리케이션을 배포하신건지 궁금합니다
또한 만약 nginx를 중간에 낄 수 있다면
이를 service discovery 방식으로 nginx와 어플리케이션을 각각 서비스로 분리해 연결하는 방식
하나의 태스크 정의에 nginx + 어플리케이션을 같이 정의해 하나의 서비스로 배포하는 방식
이 방법은 fargate 사용시 bridge 를 지원해 주지 않아 localhost로 통신했습니다
둘 중에 어떤 방식이 더 괜찮을지...? 아님 더 추천해주는 방식이 있으신지 궁금합니다
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
DanielRyu님, AWS ECS에서 Nginx를 리버스 프록시 서버로 사용하여 어플리케이션과 연결하는 방법에 대한 질문 주셨군요.
ECS 환경에서 Nginx를 사용하는 것이 권장되지 않는 것은 아닙니다. 실제로 많은 개발자들이 보안, 로드 밸런싱, 정적 파일 관리 등의 이유로 Nginx를 사용합니다. 이를 구성하는 방식은 각자의 요구사항과 환경에 따라 달라질 수 있겠지만, 여기서는 간단히 두 가지 방식에 대해 설명드리겠습니다.
Service Discovery 방식:
하나의 태스크 정의에 배포 방식:
bridge
를 사용하지 않고 awsvpc
네트워크 모드를 사용할 수 있는데, 그 경우 Nginx가 localhost를 통해 어플리케이션과 통신할 수 있습니다.두 방법 모두 장단점이 있으므로, 본인이 관리하기 편하고 시스템 요구사항에 맞는 방법을 선택하시면 됩니다. 이 외에도 컨테이너 오케스트레이션에 대한 추가적인 접근 방식이 존재할 수 있으므로, 도입하고자 하는 서버 구조, 접근 방식, 트래픽 예상량 등을 고려하여 최적의 방법을 선택하는 것이 중요합니다.
보다 자세한 내용은 AWS 공식 문서를 참고하는 것을 추천드립니다. AWS Elastic Beanstalk를 이용하는 경우, 아래 링크에서 관련 내용을 확인할 수 있습니다:
- AWS Elastic Beanstalk 사용법: Spring Boot Reference Documentation
도움이 되었길 바랍니다. 추가적인 질문이 있다면 언제든 문의해 주세요.