Toxiproxy는 TCP 스트림을 설정된 업스트림으로 전달하며 그 스트림에 장애를 주입할 수 있습니다. 그러나 HTTP 제어 API가 트래픽 리스너를 HTTP 포워드 프록시로 만들어 주지는 않습니다.

HTTP 프록시를 사용하도록 설정된 SDK라면 기존 포워드 프록시를 그 뒤에 둘 수 있습니다.

SDK → Toxiproxy 127.0.0.1:7890 → HTTP proxy 127.0.0.1:8888 → S3:443

Toxiproxy 리스너를 7890에서 열고 127.0.0.1:8888을 업스트림으로 지정합니다. SDK의 HTTP 프록시 설정을 http://127.0.0.1:7890으로 향하게 합니다. 리스너는 SDK의 CONNECT 요청을 중계하고, HTTP 프록시가 CONNECT를 해석해 목적지 터널을 엽니다.

이 루프백 주소는 세 로컬 구성 요소가 같은 네트워크 네임스페이스를 공유한다고 가정합니다. 컨테이너 안의 구성 요소에는 각자의 네임스페이스에서 접근할 수 있는 주소가 필요합니다.

이 구성이 바꾸는 것은 클라이언트에서 포워드 프록시까지의 경로입니다. 목적지 TLS나 서비스 인증을 대신하지 않습니다. 주입한 장애를 평가할 때는 SDK의 재시도를 따로 계산하십시오. 복구된 작업은 이전의 실패한 시도를 가릴 수 있습니다.

관련 글