[reinvent 2024] Amazon EKS를 이용하여 프로덕션 수준의 복원력이 있는 아키텍처 구축하기
Summary
이 세션에서는 보안, 복원력, 성능 및 비용의 저하 없이 대규모로 클러스터를 관리하고 업그레이드하는 방법을 알아보세요. ACK, Argo CD, Backstage와 같은 오픈 소스 도구를 사용하여 Amazon EKS 클러스터를 대규모로 구축 및 유지 관리하고, 전체 AWS 조직에 걸쳐 단일 창으로 Amazon EKS 클러스터의 인벤토리를 제공하는 방법을 알아보세요. 향상된 통합 가시성으로 워크로드 복원력을 보장하는 아키텍처 기술을 살펴보고 Amazon EKS 클러스터 전반에서 문제를 신속하게 식별할 수 있습니다.
리인벤트 2024 테크 블로그의 더 많은 글이 보고 싶다면?
Overview
들어가며
EKS 관리, 관찰, 그리고 거버넌스:
플랫폼 팀이 해결해야 할 과제와 전략
플랫폼 팀은 클러스터를 관리하면서 아래와 같은 문제점에 직면하게 됩니다. 클러스터 수명 주기 관리, 모니터링 및 얼럿 설정, 다른 팀들과의 협업을 위한 가드레일 설정 등을 수행해야 합니다. 적절한 클러스터 수명 주기 전략을 이용하여 클러스터의 생성부터 폐기에 이르기까지 체계적이고 반복 가능한 프로세스를 구축해야 합니다. 클러스터 및 워크로드가 문제없이 동작하는지 꾸준히 모니터링하고 얼럿을 설정하여 문제를 빠르게 인식할 수 있어야 합니다. 마지막으로 다른 팀(예: 개발팀)이 클러스터를 자유롭게 사용하면서도 운영 효율성과 안정성을 확보할 수 있도록 하는 정책과 제약 조건을 제공해야 합니다.
EKS 관리의 도전 과제와 클러스터 확장
클러스터의 수가 급격히 많아지고, 클러스터마다 상이한 특성을 가지게 됨으로써 클러스터 업그레이드 같은 클러스터 관리 작업들을 모든 클러스터에 일관적이게 수행할 수 없게 됩니다. 각 클러스터에 다양한 애드온이 배포되기 떄문에 효율적으로 유지 관리하는데 한계가 있습니다. 또한 워크로드에 적합하게 클러스터를 구성하고, 스케일링 설정을 하는데에도 어려움이 있습니다. 마지막으로 비용을 최적화하는데도 어려움을 겪게 됩니다.
플랫폼 서비스의 발전
이에 대응하기 위해 플랫폼 팀은 클러스터 관리 방식을 서비스로서의 플랫폼(Platform as a Service)로 전환하고 있습니다.
GitOps를 활용한 관리와 효율화
GitOps는 클러스터 관리를 자동화하는 강력한 도구로 자리 잡았습니다. 모든 구성 요소를 YAML 파일로 정의하고 ArgoCD를 통해 배포 및 상태를 조정하는 방식이 대표적입니다.
옵저버빌리티(Observability)의 중요성
플랫폼 팀의 역할은 단순히 클러스터를 제공하는 것으로 끝나지 않습니다. 개발팀을 고객으로 여기며, 클러스터의 성능과 문제를 사전에 인지하고 해결할 수 있는 관찰성과 모니터링 체계를 구축해야 합니다.
클러스터에서 발생하는 주요 신호를 실시간으로 감지할 수 있는 모니터링 시스템을 구축하고, 대시보드와 알림 시스템을 통해 문제를 신속히 파악할 수 있어야 합니다.
거버넌스(Governance)와 가드레일
EKS와 같은 복잡한 플랫폼에서 거버넌스는 확장성과 신뢰성을 보장하는 핵심 요소입니다. 클러스터가 많아질수록 일관성이 중요하며, 이를 위한 정책과 가드레일이 필요합니다.