코딩일지/TIL: Today I Learned

20221223 TIL

야언 2022. 12. 23. 15:23

오늘의 한 일

  • 최종 프로젝트 - 백엔드 배포 및 프론트엔드 연결

 

 

그냥 금전지원 내가 받아서 배포할걸 원격으로 구상하려니까 더럽게 힘드네 ㅋㅋ

 

하루 기다려 보았지만 도메인 주소를 통한 백엔드 연결이 그대로 에러가 떠서 도대체 무슨 문제일까 고민해봄

 

뭔가 로드밸런서가 잘못되었나? 했지만

대상그룹에서 health check를 위한 주소를 설정했고, healthy 상태이기 때문에  진짜 문제가 생겼다면 여기서 이미 에러가 났을것.

 

그래서 에러 로그를 다시 살펴보았다. Connection timed out 으로 연결시간이 오래 지연되서 생기는 에러인듯.

 

구글링 한 결과 로드밸런서의 가용 영역과 상관이 있는 것 같았다.

 

참조: https://hello-world.kr/1

 

[AWS] Private instance와 Load Balancer연결 시 timeout이 발생하는 이슈

1. Timeout Error 상황의 리소스 현황 및 Data Flow 1-1. 리소스 현황 활성화된 로드밸런서 가용영역 : private-2a, private-2c 대상 그룹 : private-2a와 private-2c subnet에 있는 인스턴스 ip address 리스너 : HTTP 80 목적

hello-world.kr

 
 

하지만 가용 영역 설정은 대해 지금 레벨에서 다루기가 힘든 문제인것같아 이창호 튜터님에게 지금까지 과정에 대한 설명과 함께 헬프를 요청.

 

결국 해답을 찾았는데 default 보안 그룹 설정에 인바운드 규칙이 닫혀있던게 문제였다!

대상 주소 0.0.0.0/0 추가를 통해 인바운드 IPv4 트래픽을 허용함으로 문제 해결!

 

백엔드와 프론드엔드 연동도 스무스하게 작동하고 구글 소셜 로그인도 url uri 배포환경에 맞게 변경해서 작동확인!

 

 

트러블슈팅

 

배포 환경에서 페이지네이션(viewset)으로 가져온 이미지 경로가 다른 문제

 

페이지네이션 적용X 이미지 주소

 

viewset으로 받아온 데이터의 result에서 뽑아온 이미지의 경로

 

뭔가 viewset으로 받아온 json데이터의 result항목에서는 article.image의 url이 저렇게 받아와지나봄..

그냥 심플하게 자바스크립트의 substr을 통해 http://backend:8000까지 지우는 방식으로 해결