Amazon Web Services 한국 블로그

Kubernetes를 위한 Amazon Elastic Container Service 서비스 출시 예고

AWS에서 Kubernetes를 실행하는 AWS 고객이 매우 많으며, Cloud Native Computing Foundation 조사에 따르면 Kubernetes 워크로드의 63%가 AWS에서 실행하고 있습니다. AWS가 Kubernetes를 실행하기 좋은 지점이기는 하지만, 고객이 Kubernetes 클러스터를 관리하기 위해서는 적잖은 수동 구성 및 관리가 필요합니다. Kubernetes 마스터 및 클러스터를 설치하여 운영해야 하며, 클러스터에서 가용성을 높이려면 서로 다른 가용 영역(AZ)에서 Kubernetes 마스터를 3개 이상 실행해야 합니다.

각각의 마스터는 다른 마스터와 통신하고, 정보를 안정적으로 공유하고, 로드 밸런스 조치를 취하고, 장애가 발생하면 다른 마스터에게 장애 조치를 취하도록 구성해야 합니다. 이런 작업 동안에도 마스터 및 작업자 소프트웨어의 업그레이드 및 패치 적용을 관리해야 합니다. 이는 인프라 운영에 관한 상당한 전문 지식과 노력이 필요하며, 이 과정을 쉽게 만들어달라는 고객 요청이 있었습니다.

Amazon Elastic Container Service for Kubernetes(EKS)소개

Kubernetes용 Amazon Elastic Container Service(Amazon EKS)는 Kubernetes 클러스터를 별도 관리할 필요 없이 쉽게 사용할 수 있도록 지원하는 완전 관리형 서비스입니다.

몇 가지 특징적인 기능을 꼽자면, 첫째 Amazon EKS는 오픈 소스 Kubernetes 소프트웨어의 업스트림 버전을 실행하므로 Kubernetes 커뮤니티에서 모든 기존 플러그인과 도구를 사용할 수 있습니다. 온프레미스 데이터 센터에서 실행 중인지 퍼블릭 클라우드에서 실행 중인지에 상관없이, Amazon EKS에서 실행 중인 애플리케이션은 표준 Kubernetes 환경에서 실행 중인 애플리케이션과 완벽하게 호환됩니다.

즉, 코드를 전혀 수정하지 않고 Kubernetes 애플리케이션을 Amazon EKS로 쉽게 마이그레이션할 수 있습니다. 둘째, Amazon EKS는 단일 장애 지점을 방지하기 위해 3개 AZ에 걸쳐 3개의 마스터를 사용해 K8을 자동으로 실행합니다. 이 다중 AZ 아키텍처는 AWS 가용 영역 손실에 대한 복원력을 제공합니다.

셋째, Amazon EKS에서는 비정상 마스터도 자동으로 검색하여 교체하고 마스터에 대한 버전 업그레이드 및 패치를 자동으로 실행합니다. 마지막으로 Amazon EKS는 Elastic Load Balancing 부하 분산, IAM 인증, Amazon VPC 격리, AWS PrivateLink 프라이빗 네트워크 액세스, AWS CloudTrail 로깅 등 수많은 주요 AWS 기능과 통합됩니다.

컨테이너 운영 방법
이제 어떤 식으로 작동하는지 살펴봅시다. Amazon EKS는 Heptio와의 협업을 통해 IAM 인증을 Kubernetes RBAC(Kubernetes의 기본 역할 기반 액세스 제어 시스템)와 통합합니다.

RBAC 역할을 각 IAM 엔터티에 직접 할당하여 Kubernetes 마스터에 대한 액세스 권한을 세분화하여 제어할 수 있습니다. 그러면 kubectl 같은 표준 Kubernetes 도구를 사용하여 Kubernetes 클러스터를 손쉽게 관리할 수 있습니다.

Amazon VPC에서 직접 Kubernetes 마스터에 액세스하려는 경우, AWS PrivateLink를 사용할 수도 있습니다. PrivateLink를 사용하면 Kubernetes 마스터와 Amazon EKS 서비스 엔드포인트는 Amazon VPC에 프라이빗 IP 주소와 함께 탄력적 네트워크 인터페이스로 표시됩니다.

그러면 퍼블릭 IP 주소를 사용하거나 트래픽이 인터넷을 통과하도록 요구하지 않고도 Amazon VPC에서 직접 Kubernetes 마스터와 Amazon EKS 서비스에 액세스할 수 있습니다.

끝으로, AWS에서 각자의 Kubernetes 클러스터에 사용할 수 있는 오픈 소스 CNI 플러그인도 구축했습니다. 따라서 기본적으로 Kubernetes 포드와 함께 Amazon VPC 네트워킹을 사용할 수 있습니다.

Amazon EKS를 사용하면 AWS Management Console에서 몇 번의 클릭만으로 Kubernetes 클러스터를 쉽게 시작할 수 있습니다. Amazon EKS가 업그레이드, 패치 적용 및 가용성 증대 등 나머지 문제를 관리합니다. 현재 Amazon EKS는 미리보기 버전으로 제공됩니다. 여러분의 포럼에서 피드백을 기다리겠습니다.

— Deepak Singh, General Manager of AWS Container Services

이 글은 AWS re:Invent 2017 신규 서비스 소식으로 Amazon Elastic Container Service for Kubernetes 의 한국어 번역입니다.