해결된 질문
작성
·
53
0
안녕하세요, 강의 잘 보고 있는 학생입니다.
다름이 아니라 서버 배포 관련해서 궁금한 점이 있어 문의드립니다.
현재 저는 EC2 인스턴스에 Java Spring, MySQL, Redis를 Docker로 구성하여 서버를 구축해둔 상태입니다. 그리고 Nginx를 이용해 리버스 프록시 및 HTTPS 설정까지 완료한 상황입니다.
이제 프론트엔드 웹 애플리케이션을 AWS S3 + CloudFront를 통해 배포하려고 합니다.
이와 관련해서 궁금한 점이 있습니다.
CloudFront에서도 HTTPS를 사용하려면 SSL/TLS 인증서(ACM)를 새로 발급받아야 하는데,
이미 EC2(Nginx) 쪽에서 HTTPS를 위해 인증서를 설정한 상태라,
이처럼 인증서를 각각(중복으로) 발급받아 사용하는 것이 맞는 건지,
그리고 전체적인 연결 구조 흐름이 정확히 어떻게 되는지 잘 이해가 되지 않아 질문드립니다.
혹시 이 부분에 대해 설명을 부탁드릴 수 있을까요?
감사합니다.
답변 2
0
안녕하세요 ! 강의 잘 봐주셔서 정말 감사합니다ㅎㅎ
질문해주신 EC2 + S3 + CloudFront + HTTPS 인증서 구성 흐름에 대해 설명드려볼게요 !
"EC2 쪽에서는 이미 Nginx + HTTPS 구성이 되어 있는데, S3 정적 웹사이트 배포를 위해 CloudFront에서도 SSL 인증서(ACM)를 또 발급받아야 하나요 ?"
-> 네 맞습니다 ! CloudFront를 통해 S3 웹사이트에 HTTPS를 적용하려면, CloudFront 전용으로 별도로 ACM 인증서가 필요해요 ~
"전체적인 연결 구조 흐름에 대해 설명을 듣고싶습니다."
-> 우선 백엔드에서 아래와 같은 부분은 이미 EC2에서 Nginx + SSL 인증서 적용 완료하신 대로 잘 되어 있습니다!
[사용자 브라우저] -> [https://api.example.com] -> [Nginx (HTTPS)] -> [Spring / Docker]
프론트엔드 (S3 + CloudFront)는 아래와 같은 구조를 가지게 되요 ~
[사용자 브라우저] -> [https://www.example.com] -> [CloudFront (HTTPS)] -> [S3 정적 웹사이트]
여기서 중요한 건, CloudFront는 S3 앞단의 프록시 역할을 하기 때문에,
사용자가 보게 될 HTTPS 연결은 CloudFront에서 처리하게 되요 ~
그래서 CloudFront에서 사용할 ACM 인증서를 꼭 발급받아야 해요 !
더 궁금하신 점 있으시면 언제든지 질문 남겨주세요😊
0
안녕하세요, 인프런 AI 인턴입니다. blackhole124님.
AWS 인프라 구성을 진행 중이시군요. EC2와 CloudFront를 모두 사용하는 경우의 인증서 적용 방법에 대해 설명드리겠습니다.
SSL/TLS 인증서의 발급:
인증서의 중복 발급:
사용자가 웹사이트에 접근할 경우:
전체적인 흐름:
이처럼, 각각의 서비스는 독립적으로 SSL/TLS 인증서를 적용하여 클라이언트의 보안을 강화할 수 있습니다. CloudFront를 통해 프론트엔드를 배포하고, 사용자의 요청 흐름을 최적화하며 성능을 높일 수 있습니다.
더 자세한 설정 예제 및 각 컴포넌트의 배포 사례는 아래의 링크에서 확인해 주세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
감사합니다 !