내장 프록시 구성 참조

내장 프록시 구성 참조 (Built-in Proxy)

Consul에는 서비스 메시 테스트·개발용 내장 L4 프록시가 포함되어 있어요. 이 문서에서 내장 프록시의 모든 구성 옵션과 업스트림 구성 키 참조를 설명할게요.

출처: 문서

본문

참고

내장 프록시는 프로덕션 배포에서 지원되지 않습니다. Consul의 서비스 메시 기능 중 상당수를 지원하지 않으며 활발히 개발되지도 않습니다. 프로덕션 배포에는 Envoy 프록시를 사용해야 합니다.

Consul에는 Consul 서비스 메시를 위한 테스트·개발용 내장 L4 프록시가 포함되어 있습니다.

프록시 구성 키 참조 (Proxy Config Key Reference)

다음은 내장 프록시에 사용할 수 있는 모든 구성 옵션의 완전한 예제입니다.

{
  "service": {
    "name": "example-service",
    "connect": {
      "proxy": {
        "config": {
          "bind_address": "0.0.0.0",
          "bind_port": 20000,
          "local_service_address": "127.0.0.1:1234",
          "local_connect_timeout_ms": 1000,
          "handshake_timeout_ms": 10000,
          "upstreams": []
        },
        "upstreams": [
          {
            "destination_name": "example-upstream",
            "config": {
              "connect_timeout_ms": 1000
            }
          }
        ]
      }
    }
  }
}

모든 필드는 선택 사항이며 합리적인 기본값이 있습니다.

  • bind_address - 프록시가 공개 mTLS 리스너를 바인딩할 주소입니다. 기본적으로 에이전트가 바인딩하는 것과 같은 주소입니다.
  • bind_port - 프록시가 공개 mTLS 리스너를 바인딩할 포트입니다. 제공되지 않으면 에이전트는 sidecar_min_port와 sidecar_max_port가 지정하는 구성된 프록시 포트 범위에서 무작위 포트를 할당합니다.
  • local_service_address - 프록시가 로컬 애플리케이션 인스턴스에 연결하는 데 사용해야 하는 [address]:port입니다. 기본적으로 주소를 127.0.0.1로 가정하고 서비스 정의의 port 필드에서 포트를 가져옵니다. 애플리케이션이 루프백이 아닌 주소에서 수신하도록 허용하면 외부에 노출되고 서비스 메시의 접근 시행을 우회할 수 있습니다. 그러나 비표준 루프백 주소를 허용하거나 컨테이너 간 내부 네트워킹을 사용할 때처럼 대체 알려진 사설 IP를 사용할 수 있게 하는 것이 유용할 수 있습니다.
  • local_connect_timeout_ms - 프록시가 포기하기 전에 로컬 애플리케이션 에 대한 연결을 설정할 때까지 기다리는 밀리초 수입니다. 기본값은 1000 또는 1초입니다.
  • handshake_timeout_ms - 프록시가 인바운드 mTLS 연결이 TLS 핸드셰이크를 완료할 때까지 기다리는 밀리초 수입니다. 기본값은 10000 또는 10초입니다.
  • upstreams - 더 이상 권장되지 않음 업스트림은 이제 connect.proxy 정의에 지정됩니다. 여기 불투명 구성 맵에 지정된 업스트림은 호환성을 위해 계속 작동하지만 더 높은 수준의 업스트림 구성으로 이동할 것을 강력히 권장합니다.

프록시 업스트림 구성 키 참조 (Proxy Upstream Config Key Reference)

모든 필드는 선택 사항이며 합리적인 기본값이 있습니다.

  • connect_timeout_ms - 프록시가 포기하기 전에 발견된 업스트림 인스턴스에 대한 TLS 연결을 설정할 때까지 기다리는 밀리초 수입니다. 기본값은 10000 또는 10초입니다.

더 알아보기 (Learn more)