게이트웨이

게이트웨이 (Gateways)

Consul과 함께 제공되는 게이트웨이 기능의 개요를 소개해 드릴게요. 게이트웨이는 Consul 서비스 메시로 들어오고 나가고, 또 메시 사이를 연결하는 통로 역할을 해요. 다음 유형의 게이트웨이를 구성할 수 있어요.

출처: 문서

본문

이 문서에서는 Consul과 함께 제공되는 게이트웨이 기능의 개요를 설명해요. 게이트웨이는 Consul 서비스 메시로의 연결, 메시로부터의 연결, 그리고 서비스 메시 사이의 연결을 제공해요. 다음 유형의 게이트웨이를 구성할 수 있어요:

  • API 게이트웨이는 외부 클라이언트의 들어오는 요청을 처리하고 보호하여 메시 내부의 서비스로 라우팅해요. 인증과 라우팅 같은 고급 Layer 7 기능을 제공해요.

  • 인그레스 게이트웨이 (현재는 사용 중단/deprecated) 는 외부 클라이언트에서 메시 내부 서비스로 들어오는 트래픽을 처리해요. API 게이트웨이가 권장되는 대안이에요.

  • 터미네이팅 게이트웨이는 메시 내부의 서비스가 메시 외부의 외부 서비스(레거시 시스템이나 서드파티 API 등)와 안전하게 통신할 수 있게 해줘요.

  • 메시 게이트웨이는 Consul 데이터센터 간 또는 Consul admin 파티션 간 서비스 간 트래픽을 가능하게 해줘요. 또한 광역 네트워크(WAN)를 통해 데이터센터를 연합(federation)할 수 있게 해줘요.

API 게이트웨이

API 게이트웨이는 서비스 메시 외부에서 Consul 서비스 메시에서 실행 중인 서비스로의 네트워크 접근을 가능하게 해줘요. 메시의 서비스에 접근하는 시스템은 조직 내부 네트워크에 있을 수도 있고 외부에 있을 수도 있어요. 이러한 유형의 네트워크 트래픽은 특정 환경으로 들어오고 나가는 데이터의 흐름을 나타내므로 흔히 north-south 네트워크 트래픽이라고 불러요.

API 게이트웨이는 다음과 같은 주요 사용 사례를 해결해요:

  • 진입 지점에서 접근 제어: 외부 연결 요청의 프로토콜을 설정하고, Verisign이나 Let's Encrypt 같은 신뢰할 수 있는 제공자의 TLS 인증서로 인바운드 연결을 보호해요.

  • 트래픽 관리 단순화: 서비스 전반에 걸쳐 요청을 로드 밸런싱하고, 호스트 이름, 경로, 헤더 존재 여부 또는 값, HTTP 메서드 같은 하나 이상의 기준을 매칭하여 요청을 적절한 서비스로 라우팅해요.

API 게이트웨이를 구성하고 배포하는 방법에 대한 정보는 다음 문서를 참고해 주세요:

인그레스 게이트웨이

참고

인그레스 게이트웨이는 지원이 중단(deprecated)되었으며 현재 기능 이상으로 확장되지 않을 거예요. 인그레스 게이트웨이는 이 버전에서 완전히 지원되지만 향후 Consul 릴리스에서 제거될 예정이에요.

Consul의 API 게이트웨이가 인그레스 게이트웨이의 권장 대안이에요.

인그레스 게이트웨이는 조직 네트워크 내에서 Consul 서비스 메시 외부의 서비스에서 메시 내부의 서비스로의 연결을 가능하게 해줘요. 퍼블릭 인터넷에서 인그레스 트래픽을 받으려면 Consul의 API 게이트웨이를 대신 사용해 주세요.

인그레스 게이트웨이를 사용하면 어떤 서비스를 어떤 포트에서 어떤 호스트 이름으로 노출할지 정의할 수 있어요. 서로 다른 백킹 서비스 집합에 매핑할 수 있는 리스너 집합을 정의하여 인그레스 게이트웨이를 구성해요.

인그레스 게이트웨이는 Consul의 L7 구성과 긴밀하게 통합되며, 요청 경로 같은 속성을 기준으로 HTTP 요청을 동적으로 라우팅할 수 있게 해줘요.

인그레스 게이트웨이에 대한 자세한 내용은 전체 문서와 인그레스 게이트웨이 튜토리얼을 검토해 주세요.

터미네이팅 게이트웨이

터미네이팅 게이트웨이는 메시 내부의 서비스가 메시 외부의 외부 서비스(레거시 시스템이나 서드파티 API 등)와 안전하게 통신할 수 있게 해줘요.

메시 외부의 서비스에는 사이드카 프록시가 없거나 네이티브로 통합되지 않았어요. 여기에는 레거시 인프라에서 실행되는 서비스나 제어하지 않는 인프라에서 실행되는 관리형 클라우드 서비스가 포함될 수 있어요.

터미네이팅 게이트웨이는 사실상 하나 이상의 서비스를 대표할 수 있는 이그레스 프록시로 작동해요. 서비스 메시 mTLS 연결을 종료하고, Consul 의도(intentions)를 적용하며, 요청을 적절한 대상으로 전달해요.

이 게이트웨이는 또한 동적인 서비스 주소에서의 인가를 단순화해요. Consul의 의도는 게이트웨이를 통하는 연결이 허용되는지 여부를 결정해요. 그런 다음 방화벽이나 IAM 역할 같은 전통적인 도구가 알려진 게이트웨이 노드에서 대상 서비스로의 연결을 인가할 수 있어요.

터미네이팅 게이트웨이에 대한 자세한 내용은 전체 문서와 터미네이팅 게이트웨이 튜토리얼을 검토해 주세요.

메시 게이트웨이

메시 게이트웨이는 서비스 메시 트래픽을 서로 다른 Consul 데이터센터와 admin 파티션 간에 라우팅할 수 있게 해줘요. 데이터센터나 파티션은 모든 데이터센터의 모든 서비스 간 일반적인 상호 연결이 불가능한 서로 다른 클라우드나 런타임 환경에 있을 수 있어요.

메시 게이트웨이는 서비스 메시 세션에서 서버 이름 표시(SNI) 헤더를 스니핑하고 추출하여, 요청된 서버 이름을 기준으로 연결을 적절한 대상으로 라우팅하는 방식으로 작동해요.

메시 게이트웨이는 다음 시나리오를 가능하게 해줘요:

메시 게이트웨이 튜토리얼: 메시 게이트웨이와 관련된 개념을 배우려면 메시 게이트웨이 튜토리얼을 따라 해 보세요.

더 알아보기 (Learn more)