Control Plane & Data Plane
Control Plane
The control plane responsible for managing and vending customer configuration.
The control plane consists of a number of services that interact with the data plane, performing functions.
function List
1. Telling each server about the EC2 instances that it needs to run.
2. Keeping running EC2 instances up to date with Amazon Virtual Private Cloud (VPC) configuration.
3. Receiving metering data, logs, and metrics emitted by the servers.
4. Deploying new software to the servers.
항목 | 설명 | 예시 서비스/작업 |
주요 API(기능) | - 리소스 생성, 조회/설명, 업데이트, 삭제, 나열 (CRUDL) 기능 제공 - 복잡한 오케스트레이션 및 집합 기능 수행 |
- EC2 인스턴스 시작 - VPC 구성 업데이트 - 로그 및 메트릭 수집 - 소프트웨어 배포 등 |
API 흐름 (Data, Controle Plane간) |
- Data Plane -> Control Plane - Data Plane에서 운영 상태를 Control Plane에게 전달 |
|
확장성과 가용성 유지 |
- 로드 밸런서와 같은 메커니즘을 사용하여 수평 확장 및 장애 허용 - 복잡한 분산 시스템 유지 |
- 로드 밸런서 사용하여 확장성 및 가용성 유지 |
Data Plane
The data plane consists of physical servers where customers’ Amazon EC2 instances run.
The data plane responsible for executing customer requests.
항목 | 설명 | 예시 서비스/작업 |
주요 API(기능) | - | - EC2 인스턴스 실행 - 데이터 저장 및 검색 - 메시지 전달 및 응답 등 |
API 흐름 (Data, Controle Plane간) |
- Data Plane -> Control Plane - Data Plane에서 운영 상태를 Control Plane에게 전달 |
|
확장성과 가용성 유지 |
로드 밸런서 등의 메커니즘을 사용하여 수평 확장 및 장애 허용 - 주요 서비스 기능 제공 |
- 로드 밸런서 사용하여 확장성 및 가용성 유지 |
Control Plane과 Data Plane간 API 호출 흐름
For many systems, having the data plane fleet call the control plane tends to be the simpler of the two approaches. 많은 시스템에서 데이터 플레인이 제어 플레인을 호출하도록 하는 것이 더 간단한 하기도 하다.
(data plane → 호출 → Control plane : 비교적 간단한)
Each data plane server initiates the API request, so the control plane does not need to keep track of the data plane fleet.
data plane이 필요할때마다 control plane을 호출하는 방식
→ control plane이 data plane을 추적하지 않아도 된다
→ 간단해 지는 이유
AWS의 Control Plane과 Data Plane을 정리하면서 느낀점
쿠버네티스 Master, Worker노드 구조와 유사하다는 느낌을 받음
Amazon Builder's Library - Avoiding overload in distributed systems by putting the smaller service in control | Youtube - 44Bits [초보를 위한 쿠버네티스 안내서] 쿠버네티스 아키텍처 1/3 (구성/설계) |
참고한 글
Youtube - AWS re:Invent 2018: Architecting a Scalable Control Plane on AWS (GPSTEC403)
AWS Fault Isolation Boundaries - Control planes and data planes
Youtube - 44Bits [초보를 위한 쿠버네티스 안내서] 쿠버네티스 아키텍처 1/3 (구성/설계)