2
AI 요약
이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.
이 게시물은 Istio Ambient mode 도입 중 발생한 503 에러를 half-open(stale) connection 관점에서 추적하는 내용입니다.
문제는 workload rollout 중 간헐적으로 발생했고 gateway는 upstream을 통해 waypoint의 503을 그대로 전달했습니다.
pcap과 socket 관찰 결과, 새로 생성된 Pod로는 TLS handshake 없이 application data가 먼저 도착했으며 이는 Envoy(waypoint)가 오래된 연결을 재사용한다는 신호로 판단했습니다.
ztunnel은 Pod 종료 시점에 connection을 graceful하게 정리(예: GOAWAY/FIN)하지 않아 waypoint가 죽은 upstream을 인지하지 못했고, AWS VPC CNI의 Pod IP 재사용은 이 stale connection이 새 Pod로 잘못 연결되도록 만드는 조건으로 작동했습니다.
대응은 근본적으로 connection pool 키에 Pod 식별자를 포함하거나 draining/정리 신호 경로를 개선하는 방향을 제시했으며, 단기적으로는 waypoint에서 reset에 대한 retry 정책을 확장해 증상을 완화해 503 전파를 막았습니다.
결론적으로 원인은 IP 겹침 자체가 아니라 waypoint의 stale connection 폐기 실패와 graceful close 부재, 그리고 IP 재사용이 겹쳐 생긴 Ambient mode 특유의 함정이었습니다.