[AWS][트러블슈팅] 프론트 -> 백엔드 API 요청 막힘 문제 해결

2025. 8. 6. 00:51·AWS

1. 문제 배경

- 현재 EC2에서 ECS로 마이그레이션을 진행하면서, 일부 오류가 발생했었음.
   (컨테이너가 백엔드 서버로는 동작하지만, ALB DNS주소/health 와 스웨거에서 503에러 발생)

- 일단 개발은 진행해야하는 상황이었기 때문에, 컨테이너는 잠시 내리고 기존 EC2 서버를 연결해서 다시 사용함

- 문제는 마이그레이션을 하면서 일부 설정을 변경해서그런지, RDS 연결과 관련한 오류들이 발생했었음.

 

2. 문제 상황

- 헬스체크 문제 없고, RDS에도 mysql을 통해 직접 접근 가능

- swagger를 통한 요청은 가능하고, tail -f nohup.out에도 로그가 찍힘

- 도메인에 접속은 가능하지만, 시설 조회나 로그인 등 RDS 연결이 필요한 기능들에서 막힘

- 이런 RDS 관련 오류가 발생했을때, tail -f nohup.out을 확인한 결과 아무런 로그도 남겨지지 않음

 

3. 현재 상황 분석

- RDS 연결은 문제 없고, Swagger로 요청 및 응답 정상 -> 백엔드 로직 자체는 문제가 없음.

- 프론트에서 요청을 보내면 막히고, 로그도 남지 않음 -> 프론트에서 백엔드로 연결 문제?

 

4. 시행착오

시도1.  현재 프론트에서 요청을 주는 url이 잘못된건 아닌가? ❌

-> 현재 프론트에서는 https://api.example.com 으로 로그를 주고 있었는데, 최근에 수정된 부분은 없었음.

 

시도2. 프론트에서 요청을 보내는 url을 통해 백엔드 서버에 접근할 수 있는가? ⚠️

-> curl 명령어를 통해 직접 백엔드 API 호출 테스트 진행, -i 옵션을 통해 헤더+바디 모두 출력

  • curl -i https://example.com은 정상 응답 (200)
  • curl -i https://api.example.com 비정상 응답 (503)
hani@Hani-MacBookPro ~ % curl -i https://api.example.com
HTTP/2 503 
server: awselb/2.0
date: Tue, 05 Aug 2025 14:51:53 GMT
content-type: text/html
content-length: 162

<html>
<head><title>503 Service Temporarily Unavailable</title></head>
<body>
<center><h1>503 Service Temporarily Unavailable</h1></center>
</body>
</html>

응답 헤더를 분석해 보자.

  • curl 요청에 대한 응답이 돌아옴 + server: awselb/2.0 = 도메인 -> DNS -> ELB 연결은 정상
  • HTTP/503 에러는 네트워크에 제한이 있는 경우 발생한다. = ELB -> 대상그룹 연결이 비정상

시도3. EC2 보안그룹 확인 ❌

EC2 서버가 ELB의 요청을 받기 위해서는 ELB의 보안그룹을 Source로 하는 인바운드 보안 규칙을 갖고 있어야한다.

ELB와 연결된 보안그룹
EC2 의 보안그룹으로, ELB 보안그룹을 Source로 하는 인바운드 보안규칙을 갖고 있다.

 

-> 보안 그룹에서 문제되는 부분은 없었다.

 

시도4. 대상그룹과 ELB의 설정을 확인 ✅

대상 그룹은 정상적으로 health 상태였다.

 

ELB의 리스너 규칙을 확인해보면서, 

 

ECS로 마이그레이션을 하면서 내가 EC2 서버의 보안그룹을 리스너와 연결 해제했던걸 발견하게 되었다 ㅠㅠ

 

따라서 리스너가 전달할 대상그룹으로 바로 추가하고, 가중치를 0,0,1 로 두어 문제를 해결할 수 있었다.

(현재 ECS는 사용 안하므로)

 

hani@Hani-MacBookPro ~ % curl -i https://api.example.com
HTTP/2 401 
date: Tue, 05 Aug 2025 15:11:01 GMT
content-length: 0
vary: Origin
vary: Access-Control-Request-Method
vary: Access-Control-Request-Headers
set-cookie: JSESSIONID=50BBXXXXXXXXXXXXXXX; Path=/; HttpOnly
x-content-type-options: nosniff
x-xss-protection: 0
cache-control: no-cache, no-store, max-age=0, must-revalidate
pragma: no-cache
expires: 0
x-frame-options: DENY

 

정상작동 하는 모습 ㅠㅠ

'AWS' 카테고리의 다른 글

[AWS] CloudFront HTTP 보안 헤더 적용  (4) 2025.08.12
[AWS][트러블슈팅] CodeDeploy 오류 해결 (ResourceInitializationError, Only target group in ECS deployment group)  (1) 2025.08.06
[AWS] EC2 to ECS 마이그레이션 (Spring 프로젝트, https)  (3) 2025.08.04
[AWS] SQS로 비동기로 요청 처리하기  (6) 2025.07.25
[AWS][트러블슈팅]"사이트에 연결할 수 없음" 도메인 정지 문제 해결  (7) 2025.07.24
'AWS' 카테고리의 다른 글
  • [AWS] CloudFront HTTP 보안 헤더 적용
  • [AWS][트러블슈팅] CodeDeploy 오류 해결 (ResourceInitializationError, Only target group in ECS deployment group)
  • [AWS] EC2 to ECS 마이그레이션 (Spring 프로젝트, https)
  • [AWS] SQS로 비동기로 요청 처리하기
공부하는 나무꾼
공부하는 나무꾼
  • 공부하는 나무꾼
    헤맨 만큼 내 땅이다
    공부하는 나무꾼
  • 전체
    오늘
    어제
  • 글쓰기/관리
    • 분류 전체보기 N
      • AWS N
      • SAA-C03
      • 네트워크 보안
      • 최신정보보안이론
      • 컴퓨터네트워크
      • OpenFaaS
      • C++
      • Java
      • HTML, CSS
      • 자료구조
      • 알고리즘
      • 정보보안인재양성
      • [MAC]트러블슈팅&Tip
      • 공부
      • Web(Django)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    WAS
    cloud
    자격증
    web application server
    웹애플리케이션서버
    SAA-C03
    Web Server
    웹클라이언트
    aws-c03
    AWS
    클라우드
    웹서버
    java #자바 #객체지향프로그래밍 #복습
    등록번호
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
공부하는 나무꾼
[AWS][트러블슈팅] 프론트 -> 백엔드 API 요청 막힘 문제 해결
상단으로

티스토리툴바