컨테이너 오케스트레이션은 클라우드 네이티브의 핵심이지만, 모든 워크로드가 퍼블릭 클라우드에서만 실행될 수는 없다. 규제로 인해 데이터가 특정 시설에 있어야 하거나, 기존 온프레미스 인프라를 최대한 활용해야 하거나, 네트워크가 단절된 환경에서도 컨테이너를 운영해야 하는 상황이 실제 엔터프라이즈에서 빈번하게 발생한다. AWS는 이 문제에 대해 세 가지 접근법을 제공한다. EKS Anywhere(온프레미스에 AWS 품질의 Kubernetes), ECS Anywhere(온프레미스 서버를 ECS 클러스터의 노드로), EKS on Outposts(AWS 하드웨어와 AWS 관리 Kubernetes를 고객 시설에). 오늘은 각 서비스의 아키텍처, 제어 평면과 데이터 평면의 분리, 운영 복잡성, SAP-C02 시나리오 선택 기준을 깊이 다룬다.
EKS/ECS Anywhere를 이해하려면 컨테이너 오케스트레이터의 구조를 먼저 이해해야 한다.
제어 평면(Control Plane): 클러스터의 두뇌. API 서버(kubectl 요청 처리), etcd(클러스터 상태 저장), 스케줄러(어느 노드에 Pod를 배치할지 결정), 컨트롤러 매니저(노드 실패 감지, ReplicaSet 유지)로 구성된다.
데이터 평면(Data Plane): 실제 컨테이너가 실행되는 워커 노드