인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

이상학님의 프로필 이미지

작성한 질문수

비전공자도 이해할 수 있는 Docker 입문/실전

[실습] AWS EC2에 Spring Boot, MySQL, Redis 배포하기

백엔드, 프론트엔드가 나뉘는 경우

작성

·

105

0

안녕하세요 선생님, 명강의 잘 듣고 있습니다.

만약 벡엔드와 프론트엔드가 나뉘는 경우라면,

하나의 EC2에 벡엔드 이미지, 프론트 이미지를 각각 컨테이너에 띄워서 연동해주는 방식으로 만들면 될까요?

답변 3

0

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 상학님! 명강의(!) 잘 들어주셔서 감사합니다ㅎㅎㅎㅎ

만약 백엔드와 프론트엔드를 하나의 EC2에서 배포하고 싶으시다면

말씀해주신 대로 각각 컨테이너에 띄워서 연동해주는 방식을 많이 활용하기도 합니다!

 

새로운 이미지를 관리하기 위해서는 하나의 ECR을 더 만들어서 사용하셔야 합니다.

그리고 EC2의 Ubuntu 환경에서 백엔드 서버와 프론트엔드 서버가 같이 실행되게

compose.yml 파일을 작성하시면 됩니다:D

 

수준 낮은 질문이라는 건 없으니 편하게 질문 하시기 바랍니다~!!

모르는 게 있는데도 질문을 하지 않는 게 훨씬 안 좋은 것이니

앞으로도 편하게 질문 많이많이 남겨주세요😊

 

0

이상학님의 프로필 이미지
이상학
질문자

혹시 하나의 ECR을 더 만들어서 프론트 코드를 이미지로 만들고 EC2의 Ubuntu 환경에 백엔드 서버와 같이 compose.yml에 작성하면 될까요?
(수준 낮은 질문 너무 죄송합니다.)

0

인프런 AI 인턴님의 프로필 이미지

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

백엔드와 프론트엔드를 분리하여 Docker 컨테이너로 운영하고자 하는 경우, 하나의 EC2 인스턴스에 두 개의 이미지를 각각의 컨테이너로 배포하는 것은 충분히 유효한 전략입니다. 자세한 내용과 주의 사항은 다음과 같습니다:

  1. 컨테이너 분리: 각각의 서비스는 독립적인 Docker 이미지를 사용하여 배포됩니다. 백엔드와 프론트엔드를 각기 다른 이미지로 빌드하고 이를 EC2 인스턴스의 Docker 엔진 위에서 운영합니다.

  2. 네트워크 구성: Docker Compose를 사용하면 두 컨테이너 사이의 네트워크를 쉽게 설정할 수 있습니다. 같은 네트워크 내에 두 컨테이너를 두면, 서로의 서비스 이름으로 접근할 수 있어 편리합니다.

  3. 볼륨 및 환경 변수: 각 컨테이너가 데이터와 설정을 필요로 한다면 이를 위한 볼륨을 적절히 구성합니다. 환경 변수로 설정 값을 주입할 수 있어 환경에 따른 유연한 설정이 가능합니다.

  4. 확장성 및 관리: 초기에 서비스 구성은 간단하게 시작할 수 있으나, 점차 서비스가 확장되면 Kubernetes와 같은 오케스트레이션 도구의 사용도 검토해볼 수 있습니다.

아래는 유사한 컨테이너 배포 전략에 관한 질문과 답변을 확인할 수 있는 링크입니다.

백엔드와 프론트엔드를 Docker로 분리하여 EC2 인스턴스에서 운영하시는 경우 이러한 설정들이 기본적인 가이드라인이 될 것입니다.

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