BLOG
Amazon EKS (Amazon Elastic Kubernetes Service)는 AWS 클라우드에서 컨테이너화된 애플리케이션을 배포, 관리 및 확장 할 수 있도록 도와줍니다. 컨테이너 여행을 막 시작한 경우, 모듈식 및 확장 가능한 Amazon EKS Architecture Quick Start는 모범 사례 참조 아키텍처를 제공하여 도움을 줍니다. Quick Start AWS CloudFormation 템플릿을 통해 반복할 수 있고 사용자 정의가 가능하며 안정성이 높은 배포를 자동화 할 수 있습니다.
AWS 파트너 네트워크 (APN)의 오픈 소스 엔터프라이즈 컨텐츠 관리 고급 기술 파트너 인 Alfresco, Inc. 는 Amazon EKS Quick Start를 통합하도록 Alfresco Content Services 제품을 향상 시켰습니다. 이 향상된 기능은 Docker 및 Kubernetes가 고객 요구를 해결하기 위한 추가 배포 옵션을 제공합니다. Alfresco 개발팀은 Quick Start를 빌딩 블록으로 채택했습니다. 이 접근 방식은 소프트웨어 배포가 AWS 및 Alfresco 모범 사례를 따르는 지 확인하고 소프트웨어 업그레이드 및 긴급 수정 파일의 제공을 단순화합니다.
Amazon EKS Quick Start는 고객이 직접 작성 해야 하는 차별화되지 않은 강력한 코드를 제거하는 반면 Alfresco와 같은 기술 파트너는 EKS Quick Start의 표준 및 기능 세트를 지속적으로 개선하는 데 도움이 되는 개선 사항에 적극적으로 기여하고 있습니다. 예를 들어 최근의 사례로는 Cluster Autoscaler 배포 옵션, 설치 후 사용자 지정 Kubernetes 플러그인에 안전하게 액세스하는 방법, 작업자 노드에 대해 추가 명령을 실행할 수 있는 기능이 포함되었습니다.
이 블로그 게시 글에서는 개선 사항을 제공하는 동안 Alfresco가 경험한 ‘검토 및 승인을 위한 GitHub 요청 프로세스를 사용하는 방법’ 및 ‘Alfresco가 대규모 AWS 커뮤니티에 새로운 기능을 제공한 방법’에 대해 검토합니다.
클러스터 오토 스케일러의 활성화
이전에는 Amazon EKS Quick Start가 정적 조정 기능을 제공했습니다. 스케일 아웃 경계를 정의하기 위해 클러스터 크기를 조정하려면 수동 구성이 필요했습니다. 이제 Cluster Autoscaler Helm 차트 프로 비저닝을 활성화하고 고객 요구 사항에 따라 최대 클러스터 크기로 설정할 수 있습니다.
Cluster Autoscale를 활성화하면 작업자 노드는 총 용량 요구에 따라 자동으로 확장 또는 축소됩니다. 새 포드에서 추가 리소스를 실행해야 하는 경우 새 작업 노드가 클러스터에 추가됩니다. 마찬가지로 노드를 충분히 활용하지 않으면 노드가 비워집니다.
작업자 노드가 확장되면 오토 스케일러가 포드를 이동하고 다른 노드에서 다시 시작할 수 있습니다. 포드에 복제본이 하나만 있으면 서비스가 일시적으로 중단될 수 있습니다. Cluster Autoscaler를 활성화하기 전에 애플리케이션이 중단을 견딜 수 있는지 확인해야 합니다. 중단을 보다 잘 처리 하고 고가용성을 보장하려면 둘 이상의 복제 된 응용 프로그램을 실행하거나 응용 프로그램을 랙 또는 영역에 분산시키는 것이 좋습니다.
Amazon EKS를 사용하여 Amazon EC2 스팟 인스턴스에서 Kubernetes 워크로드 실행 게시 글을 확인하십시오. Amazon EC2 (Amazon Elastic Compute Cloud) 스팟 인스턴스를 Kubernetes 작업자 노드로 사용하는 방법에 대해 설명합니다. 이 게시 글에는 Cluster Autoscaler 배포 및 클러스터 전체 중단 처리에 대한 연습이 포함되어 있습니다.
SSH 터널을 통한 액세스
Alfresco는 지표 기반 모니터링 및 경고에 Prometheus 및 Grafana를 사용하고자 했지만 Amazon EKS Quick Start의 Linux 배스천 호스트는 기본적으로 해당 인터페이스에 대한 보안 모범 사례를 보장하기 위해 전달 옵션을 설정하지 않았습니다. 이 사용 사례에는 SSH (Secure Shell) 터널이 필요하므로 공용 엔드 포인트로 인터페이스가 외부에 노출되지 않습니다. 배스천 호스트를 사용할지 여부는 위험을 최소화하기 위해 신중하게 고려해야 하는 설계 결정입니다.
이 업데이트는 배스천 호스트를 통해 Kubernetes 인터페이스에 액세스하는 기능을 열어 안전한 클러스터 관리 작업을 수행합니다. 이제 애플리케이션에 Kubernetes 대시 보드, Prometheus 및 Grafana와 같은 다른 인터페이스를 설치하고 로컬 컴퓨터에서 SSH 터널을 설정할 수 있습니다. 이것은 기본 Amazon EKS 템플릿에 BastionEnableTCPForwarding및 BastionEnableX11Forwarding매개 변수를 추가하여 수행됩니다.
이 다이어그램은 Alfresco가 클러스터에 Amazon EKS Quick Start를 네스트 한 다음 사용하려는 인터페이스를 배포하기 위해 사용자 지정 리소스 유형을 사용하는 방법을 보여줍니다.
AWS Systems Manager 사용
일부 사용 사례는 현재 Amazon EKS Quick Start의 기능을 넘어서므로 AWS Systems Manager를 통해 작업자 노드에 대해 이러한 조작을 수행해야 합니다. 예를 들어 Alfresco는 현재 빠른 시작에서 지원되지 않는 Helm 설치 속성을 변경해야 했습니다. 단, AWS Systems Manager는 사전 설치되어 활성화되어 있지 않습니다. 사용자 환경에서 Systems Manager를 설정하려면 추가 단계가 필요합니다.
이제 관리되는 Systems Manager 정책이 Amazon EKS Quick Start에포함되어 있으며 배스천 호스트를 통해 Systems Manager를 사용할 수 있습니다. Amazon EKS 기능에는 Systems Manager Agent (SSM 에이전트)가 필요하지 않으므로 EKS 노드에 SSM 에이전트를 배치해야 하는 다른 이유는 무엇일지 ‘AWS Systems Manager Automation 및 AWS CloudFormation Together 사용하기’ 게시 글을 확인하여 Systems Manager가 AWS CloudFormation의 자동화를 지원할 수 있는 방법을 알아보십시오.
결론
오늘 블로그 게시 글로는 향후 배포에 도움이 될 Amazon EKS Quick Start의 Alfresco 개발팀이 달성한 주요 개선 사항을 다뤄보았습니다. Kubernetes 배포와 함께 Amazon EKS Quick Start 를 실험하여 이러한 부가 가치를 탐색해보십시오. Alfresco와 같은 숙련 된 사용자라면 GitHub 저장소의 문제 및 요청을 통해 오픈 소스 기여를 제공 할 수 있습니다. 커뮤니티 참여는 고객 요구 사항을 충족시키기 위해 Quick Start템플릿을 늘리는 데 중요한 측면입니다.
** 메가존 클라우드 TechBlog는 AWS BLOG 영문 게재 글 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.