Skip to content

Commit 2330ece

Browse files
dlxodus02claude
andcommitted
[FIX] 리뷰 반영 — AI 포트를 루프백에 묶지 않고, 종료 대기를 40초로
모성진님 지적(PR #17). 두 가지 다 제가 틀렸다. 1) ports: 127.0.0.1:8000:8000 → 8000:8000 Spring 은 **다른 EC2** 다. 루프백에 묶으면 AI EC2 안에서만 닿고 Spring EC2 가 사설 IP 로 접근할 수 없다. 원래 주석에 "SG 에서만 들어오므로 루프백에 묶는다"고 적었는데, 바인딩과 SG 는 다른 층이다 — 바인딩은 "어느 인터페이스로 받을까"이고 SG 는 "누가 올 수 있나"다. 외부 차단은 SG 가 한다(인바운드 TCP 8000 은 Spring EC2 SG 만 허용, 0.0.0.0/0 에는 열지 않음). 2) stop_grace_period: 30s → 40s 인프라 요구사항이 정한 값이다. 짧으면 배포마다 도는 중인 계층 호출이 끊기고, 그 회의는 재개(ANLZ-02)로만 살아난다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent 5cf38bb commit 2330ece

1 file changed

Lines changed: 11 additions & 4 deletions

File tree

‎infra/docker-compose.yml‎

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,20 @@ services:
2727
qdrant:
2828
condition: service_started
2929

30-
# Spring EC2 의 보안 그룹에서만 들어온다. 인터넷에 열지 않으므로 루프백에 묶는다 —
31-
# 0.0.0.0 으로 열면 SG 하나만 잘못 건드려도 내부 API 가 공개된다.
30+
# ⚠️ 루프백(127.0.0.1)에 묶지 않는다. **Spring 은 다른 EC2 다** — 루프백에 묶으면 이
31+
# 인스턴스 안에서만 닿고 Spring EC2 가 사설 IP 로 접근할 수 없다(처음에 그렇게 적었다가
32+
# 모성진님이 잡아줬다 · PR #17).
33+
#
34+
# 외부 차단은 도커 바인딩이 아니라 **보안 그룹**이 한다 — AI EC2 인바운드 TCP 8000 은
35+
# Spring EC2 의 SG 만 소스로 허용하고, 0.0.0.0/0 에는 열지 않는다. 두 층이 하는 일이
36+
# 다르다: 바인딩은 "이 호스트의 어느 인터페이스로 받을까"이고 SG 는 "누가 올 수 있나"다.
3237
ports:
33-
- "127.0.0.1:8000:8000"
38+
- "8000:8000"
3439

3540
restart: unless-stopped
36-
stop_grace_period: 30s
41+
# 인프라 요구사항이 정한 값이다(40초) — 처리 중인 계층 호출이 끝날 시간을 준다.
42+
# 짧으면 배포마다 도는 중인 회의의 계층이 끊기고, 그 회의는 재개(ANLZ-02)로만 살아난다.
43+
stop_grace_period: 40s
3744

3845
logging:
3946
driver: json-file

0 commit comments

Comments
 (0)