Consul 데이터 플레인
Consul 데이터 플레인 (Data Plane) 아키텍처
이 문서는 애플리케이션 데이터 플레인에서 Consul이 어떤 역할을 하고 어떻게 동작하는지 설명해요. Consul은 게이트웨이와 사이드카 프록시를 배포해서 애플리케이션 트래픽을 보호하고 관찰하고 관리하도록 도와줘요.
출처: 문서
본문
이 문서에서는 애플리케이션 데이터 플레인의 Consul 아키텍처와 운영 방식을 설명합니다. Consul은 게이트웨이와 사이드카 프록시를 배포하여 애플리케이션 트래픽을 보호(secure), 관찰(observe), 관리(manage)할 수 있게 해 줍니다.
Kubernetes와 AWS ECS의 컨테이너 기반 애플리케이션에 Consul이 사용하는 가벼운 워크로드 에이전트에 대한 정보는 Consul 데이터플레인을 참조하세요.
소개 (Introduction)
Consul은 애플리케이션 데이터 플레인을 관리하는 데 도움이 되는 컨트롤 플레인 기능을 제공하지만, Consul 프로세스 자체는 데이터 플레인에서 직접 실행되지 않습니다.
서비스 디스커버리에 Consul을 사용할 때는 데이터 플레인에 추가 구성 요소나 구성이 필요하지 않습니다.
Consul의 서비스 메시 기능을 사용할 때는 Consul을 통해 사이드카 프록시와 게이트웨이를 만들어 서비스 간 트래픽을 관리, 보호, 관찰할 수 있습니다.
사이드카 프록시 (Sidecar proxies)
Consul은 프록시를 사용하여 모든 서비스 간 통신을 보호, 관리, 관찰합니다. 주된 메커니즘은 사이드카 프록시인데, 이를 각 서비스 인스턴스 옆에 배포하여 모든 인바운드·아웃바운드 트래픽을 처리합니다. Consul은 Envoy 프록시를 기본 지원하지만, 다른 프록시 구현과도 동작하도록 구성할 수 있습니다.
우리 문서는 데이터가 이동하는 방향을 설명할 때 Envoy 문서의 용어를 따릅니다.
- 다운스트림(downstream) 서비스는 자신의 사이드카 프록시에 연결하고, 프록시가 대신 요청을 보내고 응답을 받습니다.
- 업스트림(upstream) 서비스는 자신의 사이드카 프록시로부터 연결과 요청을 받고, 다시 사이드카를 통해 응답을 돌려보냅니다.
게이트웨이 (Gateways)
게이트웨이는 서비스 메시 안으로, 밖으로, 또는 메시를 가로질러 들어오는 특정 유형의 트래픽을 관리하는 특수한 프록시입니다. 게이트웨이에는 네 가지 종류가 있습니다:
- API 게이트웨이는 외부 클라이언트의 인바운드 요청을 처리하고 보호하며, 메시 안의 서비스로 라우팅합니다. 인증과 라우팅 같은 고급 Layer 7 기능을 제공합니다.
- 인그레스 게이트웨이(Ingress gateways, 더 이상 권장되지 않음)는 외부 클라이언트에서 메시 안의 서비스로 들어오는 인바운드 트래픽을 처리합니다. API 게이트웨이가 권장되는 대안입니다.
- 터미네이팅 게이트웨이(Terminating gateways)는 메시 안의 서비스가 메시 밖의 외부 서비스(예: 레거시 시스템이나 서드파티 API)와 안전하게 통신할 수 있게 해 줍니다.
- 메시 게이트웨이(Mesh gateways)는 여러 Consul 데이터센터 사이 또는 Consul 어드민 파티션 사이의 서비스 간 트래픽을 가능하게 합니다. 또한 광역 네트워크(WAN)를 통해 데이터센터를 페더레이션할 수도 있게 해 줍니다.
각 게이트웨이 유형에 대한 자세한 내용은 게이트웨이 문서를 참조하세요.
다음 단계 (Next steps)
Consul의 보안 아키텍처에 대해 알아보려면, Consul이 데이터 플레인 운영을 보호하기 위해 사용하는 암호화 시스템과 검증 프로토콜을 설명하는 보안 아키텍처 문서를 참조하세요.