이 문서에서는 EKS(Amazon Elastic Kubernetes Service)와 비교하여 AKS(Azure Kubernetes Service)의 가격 책정 및 비용 관리에 대해 설명합니다. 비용을 최적화하고 AKS 클러스터에 대한 비용 거버넌스 솔루션을 구현하는 방법을 설명합니다.
비고
이 문서는 Amazon EKS에 익숙한 전문가가 AKS(Azure Kubernetes Service)를 이해하는 데 도움이 되는 일련의 문서의 일부입니다.
Amazon EKS 비용 기본 사항
Amazon EKS의 경우 각 Amazon EKS 클러스터에 대해 시간당 고정 가격을 지불합니다. 또한 클러스터에서 사용하는 네트워킹, 운영 도구 및 스토리지에 대한 비용을 지불합니다.
Amazon EKS 작업자 노드는 표준 Amazon EC2 인스턴스이므로 일반 EC2 가격과 동일한 비용이 발생합니다. Kubernetes 작업자 노드를 실행하기 위해 프로비저닝하는 다른 AWS(Amazon Web Services) 리소스에 대해서도 비용을 지불합니다.
Amazon EKS 관리 노드 그룹은 추가 비용이 발생하지 않습니다. 프로비전하는 AWS 리소스에 대해서만 비용을 지불합니다. 이러한 리소스에는 Amazon EC2 인스턴스, Amazon Elastic Block Store 볼륨, Amazon EKS 클러스터 시간 및 기타 AWS 인프라가 포함됩니다.
관리되는 노드 그룹을 만들 때 주문형 인스턴스 또는 스폿 인스턴스 용량 유형을 사용하여 에이전트 노드의 비용을 관리할 수 있습니다. Amazon EKS는 모든 주문형 인스턴스 또는 모든 스폿 인스턴스 를 포함하는 Amazon EC2 자동 크기 조정 그룹을 사용하여 관리되는 노드 그룹을 배포합니다.
주문형 인스턴스는 장기 약정 없이 초당 컴퓨팅 용량 비용이 발생합니다. Amazon EC2 스폿 인스턴스는 주문형 인스턴스에 비해 저렴한 비용으로 사용할 수 있는 사용되지 않는 Amazon EC2 용량입니다.
Amazon EC2 스폿 인스턴스는 중단될 수 있습니다. Amazon EC2에 다른 용량이 필요한 경우 2분 동안 중단 알림을 받게 됩니다.
Amazon은 스폿 플릿 및 스폿 인스턴스 관리자라는 도구를 제공합니다. 스폿 플릿은 주문형 인스턴스 및 스폿 인스턴스 그룹을 자동화하는 방법입니다. 이러한 도구는 중단을 최소화하는 지역 또는 가용성 영역을 예측하는 데 도움이 될 수 있습니다.
AWS 현물 인스턴스 가격은 다양합니다. AWS는 스폿 인스턴스 용량에 대한 장기 공급 및 수요 추세에 따라 가격을 설정합니다. 인스턴스가 작동하는 기간 동안 적용되는 가격을 지불합니다.
AKS 비용 분석
AKS 클러스터는 VM(가상 머신), 가상 디스크, 부하 분산 장치 및 공용 IP 주소와 같은 다양한 Azure 리소스를 사용합니다. 여러 애플리케이션에서 이러한 리소스를 사용할 수 있습니다. 조직 내의 여러 팀이 각 애플리케이션을 관리할 수 있습니다. 이러한 리소스의 사용 패턴은 다를 수 있으며, 이로 인해 총 클러스터 리소스 비용에 대한 기여도가 달라질 수 있습니다. 일부 애플리케이션은 여러 클러스터에 걸쳐 있어 비용 특성 및 관리가 복잡해질 수 있습니다.
클러스터에 단일 워크로드가 포함된 시나리오의 경우 Microsoft Cost Management 를 사용하여 클러스터 리소스 그룹에서 클러스터 리소스 사용량을 측정합니다. 일부 시나리오에는 다음이 필요한 시나리오와 같이 Cost Management 이외의 다른 솔루션이 필요합니다.
컴퓨팅, 네트워크 및 스토리지와 같은 리소스 사용량에 대한 세분화된 분석입니다.
개별 애플리케이션 비용과 공유 비용을 구분합니다.
동일한 구독 범위 내의 여러 클러스터에서 비용 분석
비용 가시성을 향상시키기 위해 AKS는 Cost Management와 통합되어 클러스터 및 네임스페이스 수준과 같은 Kubernetes 구문에서 자세한 비용 분석을 제공합니다. 이 통합을 통해 Azure 컴퓨팅, 네트워크 및 스토리지 범주에서 비용 분석을 수행할 수 있습니다.
AKS 비용 분석 추가 기능은 사용량 현황 데이터 수집을 위한 오픈 소스 프로젝트인 OpenCost를 기반으로 합니다. 추가 기능은 비용 가시성을 제공하는 Azure 청구서와 데이터를 조정합니다. Cost Management 비용 분석 포털에서 사후 처리된 데이터를 볼 수 있습니다. 자세한 내용은 AKS 비용 분석을 참조하세요.
비용 정의
Kubernetes 네임스페이스 및 자산 뷰에는 다음과 같은 요금이 표시됩니다.
유휴 요금은 워크로드에서 사용하지 않는 사용 가능한 리소스 용량의 비용을 나타냅니다.
서비스 요금은 SLA(작동 시간 서비스 수준 계약) 및 컨테이너용 Microsoft Defender 요금과 같은 서비스와 관련된 요금을 나타냅니다.
시스템 요금은 AKS가 클러스터에 필요한 시스템 프로세스를 실행하기 위해 각 노드에 예약하는 용량 비용을 나타냅니다.
할당되지 않은 요금은 네임스페이스에 할당할 수 없는 리소스 비용을 나타냅니다.
AKS 비용 기본 사항
Kubernetes 아키텍처는 컨트롤 플레인과 하나 이상의 노드 또는 노드 풀의 두 계층으로 구성됩니다. AKS 가격 책정 모델은 이러한 계층을 기반으로 합니다.
컨트롤 플레인은 API 서버 및 코어 쿠버네티스 서비스, etcd
와 애플리케이션 워크로드 오케스트레이션을 제공합니다. Azure 플랫폼은 AKS 컨트롤 플레인을 관리합니다. AKS 무료 계층에서는 컨트롤 플레인에 비용이 발생하지 않습니다.
에이전트 노드 또는 작업자 노드라고도 하는 노드가 Kubernetes 워크로드 및 애플리케이션을 호스트합니다. AKS에서 고객은 에이전트 노드에 대한 모든 비용을 완전히 관리하고 지불합니다.
다음 다이어그램은 AKS Kubernetes 아키텍처의 컨트롤 플레인과 노드 간의 관계를 보여 줍니다.
제어 평면
AKS 클러스터를 만들 때 Azure는 컨트롤 플레인 계층을 자동으로 프로비저닝하고 구성합니다.
더 높은 컨트롤 플레인 SLA의 경우 표준 계층에서 AKS 클러스터를 만들 수 있습니다. 표준 계층은 가동 시간 SLA를 포함하며 각 클러스터에 대해 사용하도록 설정합니다. 가격은 시간당 클러스터당 $0.10입니다. 자세한 내용은 AKS 가격 책정 세부 정보를 참조 하세요.
표준 계층의 클러스터에는 더 많은 수의 API 서버 인스턴스, 리소스 제한 증가 etcd
, 최대 5,000개의 노드 확장성 및 재정적으로 지원되는 가동 시간 SLA 지원을 포함하여 더 많은 제어 평면 리소스가 있습니다. AKS는 가용성 요구 사항을 충족하기 위해 업데이트 및 장애 도메인에서 주 노드 복제본을 사용합니다.
더 높은 제어 평면 구성 요소 가용성을 제공하려면 프로덕션 워크로드에서 표준 계층을 사용합니다. 무료 계층 클러스터에는 복제본이 적고 제어 평면 리소스가 제한되어 있으므로 프로덕션 워크로드에 적합하지 않습니다.
노드
AKS를 사용하여 하나 이상의 노드 풀에 에이전트 또는 작업자 노드를 만들 수 있습니다. 노드 풀은 Kubernetes 환경 내에서 많은 Azure 핵심 기능을 사용할 수 있습니다. AKS는 AKS 클러스터에 연결된 노드에 대해서만 요금을 청구합니다.
AKS 노드는 가상 머신 확장 집합, 가상 네트워크 및 관리형 디스크를 포함하여 여러 Azure 인프라 리소스를 사용합니다. 예를 들어 AKS 내에서 직접 대부분의 Azure VM 유형을 사용할 수 있습니다. Azure 예약 및 Azure 컴퓨팅 절감 플랜을 사용하여 이러한 리소스에 대한 할인을 받으세요.
AKS 클러스터 가격 책정은 노드 풀에 있는 VM의 클래스, 개수 및 크기를 기반으로 합니다. VM 비용은 사용 가능한 vCPU, 메모리, 제품군 및 스토리지 유형의 크기, CPU 유형, 수에 따라 달라집니다. 스토리지 유형에는 고성능 Azure Standard SSD 또는 Azure Standard HDD가 포함됩니다. 자세한 내용은 VM 시리즈를 참조하세요. 애플리케이션 요구 사항, 노드 수 및 클러스터 확장성 요구 사항에 따라 노드 크기를 계획합니다.
자세한 내용은 노드 풀을 참조하고 AKS에서 클러스터에 대한 여러 노드 풀 만들기 및 관리를 참조하세요.
AKS 클러스터 배포
각 AKS 배포는 두 Azure 리소스 그룹에 걸쳐 있습니다.
Kubernetes 서비스 리소스만 포함하고 비용이 발생하지 않는 첫 번째 리소스 그룹을 만듭니다.
AKS 리소스 공급자는 배포 중에 노드 리소스 그룹이라고도 하는 두 번째 리소스 그룹을 자동으로 만듭니다. 이 리소스 그룹의 기본 이름은
MC_<resourcegroupname>_<clustername>_<location>
이지만, 다른 이름을 지정할 수 있습니다. 자세한 내용은 AKS 노드 리소스 그룹에 대한 고유한 이름 제공을 참조하세요.노드 리소스 그룹에는 클러스터 인프라 리소스가 포함됩니다. 이 리소스 그룹은 구독에 요금이 부과됩니다. 리소스에는 Kubernetes 노드 VM, 가상 네트워킹, 스토리지 및 기타 서비스가 포함됩니다. AKS는 클러스터가 삭제될 때 노드 리소스 그룹을 자동으로 삭제합니다. 따라서 클러스터의 수명 주기를 공유하는 리소스에만 사용해야 합니다.
컴퓨팅 비용
크기 및 사용량에 따라 Azure VM에 대한 요금을 지불합니다. 자세한 내용은 Azure 및 AWS의 컴퓨팅 서비스를 참조하세요.
일반적으로 노드 풀의 VM 크기가 클수록 에이전트 노드의 시간당 비용이 높아질 수 있습니다. 또한 노드 풀에 대한 VM 시리즈가 특수화될수록 풀의 비용이 더 많이 듭니다. 특수화에는 GPU(그래픽 처리 장치) 사용 VM 또는 메모리 최적화 VM이 포함됩니다.
Azure VM 가격 책정의 다음 측면을 고려합니다.
가격은 각 지역에 따라 다르며 모든 지역에서 모든 서비스 및 VM 크기를 지원하는 것은 아닙니다.
다른 VM 제품군은 다양한 유형의 워크로드에 최적화되어 있습니다.
OS 드라이브로 사용하는 관리 디스크는 별도로 요금이 청구됩니다. 예상 비용에 그들의 비용을 추가해야 합니다. 관리 디스크 크기는 표준 HDD, 표준 SSD, Azure Premium SSD 또는 Azure Ultra Disk Storage와 같은 클래스에 따라 달라집니다. IOPS(초당 입력/출력 작업) 및 MBps의 처리량은 크기와 클래스에 따라 달라집니다. VM 가격에는 임시 OS 디스크가 포함됩니다.
영구 볼륨 클레임을 사용하여 만든 디스크를 포함한 데이터 디스크는 선택 사항입니다. 데이터 디스크는 표준 HDD, 표준 SSD, 프리미엄 SSD 및 Ultra Disk Storage와 같은 클래스에 따라 개별적으로 요금이 청구됩니다. 비용 예측에 데이터 디스크를 명시적으로 추가해야 합니다. MBps에서 허용되는 데이터 디스크, 임시 스토리지 SSD, IOPS 및 처리량의 수는 VM 크기 및 클래스에 따라 달라집니다.
에이전트 노드가 더 오래 작동할수록 총 클러스터 비용이 높아집니다. 개발 환경은 일반적으로 지속적으로 실행할 필요가 없습니다.
NIC(네트워크 인터페이스 카드)는 무료입니다.
스토리지 비용
CSI(Container Storage Interface)는 블록과 파일 스토리지 시스템을 Kubernetes의 컨테이너화된 워크로드에 공개하는 표준입니다. AKS는 CSI를 사용하여 핵심 Kubernetes 코드를 건드리거나 릴리스 주기를 기다리지 않고 Kubernetes 스토리지 시스템을 노출하는 플러그 인을 작성, 배포 및 반복할 수 있습니다.
AKS 클러스터에서 CSI 영구 볼륨을 사용하는 워크로드를 실행하는 경우 애플리케이션이 프로비전하고 사용하는 스토리지의 관련 비용을 고려합니다. AKS의 CSI 스토리지 드라이버는 다음 스토리지 옵션에 대한 기본 지원을 제공합니다.
Azure Disk Storage 는 Kubernetes 데이터 디스크 리소스를 만듭니다. 디스크는 표준 HDD 또는 표준 SSD에서 지원되는 프리미엄 SSD 또는 Azure 표준 스토리지에서 지원되는 Azure Premium Storage를 사용할 수 있습니다. 대부분의 프로덕션 및 개발 워크로드는 Premium Storage를 사용합니다. Azure 디스크는
ReadWriteOnce
로 탑재되어, 한 AKS 노드에서만 사용할 수 있습니다. 여러 Pod에서 동시에 액세스할 수 있는 스토리지 볼륨에는 Azure Files를 사용합니다. 자세한 내용은 Managed Disks 가격 책정을 참조하세요.Azure Files 는 SMB(서버 메시지 블록) 3.0 및 3.1 파일 공유를 AKS Pod에 탑재합니다. 파일 공유는 Azure Storage 계정에서 지원됩니다. 여러 노드 및 Pod 간에 데이터를 공유할 수 있습니다. Azure Files는 표준 HDD에 의해 지원되는 표준 스토리지 또는 프리미엄 SSD에 의해 지원되는 프리미엄 스토리지를 사용할 수 있습니다. Azure Files는 Storage 계정을 사용하고 다음 요인에 따라 요금이 발생합니다.
Azure Blob Storage, Azure Files, Azure Queue Storage, Azure Table Storage 또는 관리되지 않는 디스크와 같은 서비스
GPv1, GPv2, Blob 또는 프리미엄 Blob과 같은 Storage 계정 유형
LRS(로컬 중복 스토리지), ZRS(영역 중복 스토리지), GRS(지역 중복 스토리지) 또는 읽기 액세스 지역 중복 스토리지(RA-GRS)와 같은 복원력 수준
핫, 쿨 또는 보관과 같은 액세스 계층
작업 및 데이터 전송
사용된 용량(GB)
Azure NetApp Files 에는 여러 SKU 계층이 있습니다. 1TiB 단위로 늘릴 수 있는 최소 프로비전된 용량은 4TiB가 필요합니다. Azure NetApp Files 요금은 다음 요인을 기반으로 합니다.
SKU (재고 관리 코드)
LRS, ZRS 또는 GRS와 같은 복원력 수준
사용된 용량이 아닌 프로비전된 크기 또는 용량
작업 및 데이터 전송
백업 및 복원
네트워킹 비용
여러 Azure 네트워킹 도구는 AKS에서 실행되는 애플리케이션에 대한 액세스를 제공할 수 있습니다.
Azure Load Balancer: 기본적으로 Load Balancer는 표준 SKU를 사용합니다. 부하 분산 장치 요금은 다음을 기반으로 합니다.
구성된 부하 분산 및 아웃바운드 규칙의 수입니다. 총 규칙 수는 NAT(인바운드 네트워크 주소 변환) 규칙을 포함하지 않습니다.
규칙에 관계없이 인바운드 및 아웃바운드 처리된 데이터의 양입니다. 구성된 규칙이 없는 표준 부하 분산 장치에는 시간당 요금이 부과되지 않습니다.
Azure Application Gateway: AKS는 Application Gateway 인그레스 컨트롤러를 통해 종종 Application Gateway를 사용합니다. 또는 수동으로 관리되는 Application Gateway 인스턴스를 사용하여 다른 수신 컨트롤러를 프런트할 수 있습니다. Application Gateway는 게이트웨이 라우팅, TLS(전송 계층 보안) 종료 및 웹 애플리케이션 방화벽 기능을 지원합니다. Application Gateway 요금은 다음을 기반으로 합니다.
고정 가격입니다. Application Gateway가 실행되는 시간 또는 부분 시간당 요금을 지불합니다.
용량 단가입니다. Application Gateway에서 사용하는 리소스에 따라 추가 사용량 기반 비용을 지불합니다. 각 용량 단위에는 최대 하나의 컴퓨팅 단위, 2,500개의 영구 연결 및 2.22Mbps 처리량이 있습니다.
공용 IP 주소: 공용 IP 주소에는 다음에 따라 달라지는 관련 비용이 있습니다.
예약된 연결과 동적 연결
기본 계층과 고도로 안전하고 영역 중복이 있는 표준 계층.
스케일 아웃 비용
다음 옵션을 사용하여 노드 풀에 추가 용량을 추가하는 AKS 클러스터의 크기를 조정할 수 있습니다.
필요에 따라 노드 풀의 일부인 VM 수를 수동으로 업데이트하거나 노드 풀을 더 추가할 수 있습니다.
AKS 클러스터 자동 크기 조정기는 리소스 제약 조건 때문에 노드에 예약할 수 없는 Pod를 감시하고 자동으로 노드 수를 증가시킵니다.
AKS는 가상 kubelet 구현을 사용하여 Azure Container Instances의 컨테이너 실행을 지원합니다. AKS 가상 노드는 몇 초 안에 시작되는 Container Instances Pod를 프로비전하므로 AKS는 평균 워크로드에 충분한 용량으로 실행할 수 있습니다. AKS 클러스터가 용량 한도에 도달하면 추가 서버를 관리하지 않고 더 많은 Container Instances Pod를 확장할 수 있습니다. 이 방법을 클러스터 자동 크기 조정기 및 수동 크기 조정 방법과 결합할 수 있습니다.
주문형 스케일링 또는 클러스터 자동 크기 조정기를 사용하는 경우 추가된 VM을 고려합니다. Container Instances 요금은 다음 요인에 기반합니다.
- 컨테이너 그룹당 사용량 기반 메트릭 청구
- vCPU 및 메모리 수집
- 단일 컨테이너 사용 또는 여러 컨테이너 공유
- 네트워크 및 노드 수명 주기를 공유하는 공동 예약 컨테이너 사용
- 이미지 가져오기 시작이나 재시작부터 중지될 때까지 계산된 사용 기간
- Windows 컨테이너 그룹에 대한 요금 추가
업그레이드 비용
AKS 클러스터 수명 주기 중에는 최신 Kubernetes 버전으로 정기적으로 업그레이드됩니다. 최신 보안 릴리스를 적용하고 최신 기능을 가져옵니다. AKS 클러스터 및 단일 노드 풀을 수동 또는 자동으로 업그레이드할 수 있습니다. 자세한 내용은 AKS 클러스터 업그레이드을 참조하세요.
기본적으로 AKS는 하나의 추가 노드를 포함하도록 업그레이드를 구성합니다. 설정의 1
기본값은 max-surge
워크로드 중단을 최소화합니다. 이 구성은 기존 애플리케이션을 조정하거나 드레이닝하기 전에 이전 버전의 노드를 대체하는 추가 노드를 만듭니다. 업그레이드 속도와 중단의 max-surge
균형을 맞추기 위해 각 노드 풀의 값을 사용자 지정할 수 있습니다. 값이 높을 max-surge
수록 업그레이드 프로세스가 빨라지지만 더 많은 중단이 발생하고 추가 VM에 대한 비용이 추가될 수 있습니다.
기타 비용
사용량 및 요구 사항에 따라, AKS 클러스터에는 다음과 같은 추가 비용이 발생할 수 있습니다.
Azure Container Registry 는 사용하는 SKU, 이미지 빌드 및 스토리지에 따라 비용이 듭니다. 추가된 데이터 전송 요금을 방지하기 위해 클러스터와 동일한 지역에 Container Registry를 배포할 수 있습니다. 필요한 경우 복제를 사용하고 가능한 한 이미지 크기를 줄여 스토리지 비용 및 배포 시간을 줄이세요.
Azure 및 지역 간 트래픽에서 아웃바운드 데이터 전송
스토리지 또는 서비스형 플랫폼(PaaS) 솔루션, 예를 들어 데이터베이스.
AZURE Traffic Manager 또는 Azure Front Door와 같은 글로벌 네트워킹 서비스는 AKS 워크로드의 퍼블릭 엔드포인트로 트래픽을 라우팅합니다.
AKS 클러스터를 오가는 트래픽을 검사 및 허용하거나 차단하는 방화벽 및 보호 서비스( 예: Azure Firewall).
Azure Monitor 컨테이너 인사이트, Application Insights 및 클라우드용 Microsoft Defender와 같은 모니터링 및 로깅 도구. 자세한 내용은 컨테이너 인사이트에 대한 모니터링 비용 이해를 참조하세요.
Azure DevOps Services 또는 GitHub와 같은 DevOps 도구와 관련된 비용입니다.
비용 최적화
다음 권장 사항은 AKS 클러스터 비용을 최적화하는 데 도움이 됩니다.
AKS용 Azure Well-Architected Framework의 비용 최적화 섹션을 검토합니다.
다중 테넌트 솔루션의 경우 물리적 격리는 비용 및 관리 오버헤드를 추가합니다. 논리적 격리를 위해서는 Kubernetes 환경이 더 필요하고 변경 및 보안 위협에 대한 노출 영역을 증가하지만 비용을 공유합니다.
Azure 예약은 비용을 절감하는 데 도움이 될 수 있습니다. 할인을 받으려면 AKS 클러스터의 VM과 같은 여러 제품에 대해 1년 또는 3년 플랜을 커밋할 수 있습니다. 스토리지 및 컴퓨팅에 Azure 예약을 사용하여 에이전트 노드의 비용을 절감합니다.
예약은 종량제 가격에 비해 리소스 비용을 최대 72% 줄일 수 있습니다. 리소스의 런타임 상태에는 영향을 주지 않습니다. 예약을 구매한 후 일치하는 리소스에 할인이 자동으로 적용됩니다. Azure Portal에서 예약을 구매하려면 Azure REST API, Azure PowerShell 또는 Azure CLI를 사용합니다. Log Analytics 작업 영역을 사용하는 운영 도구를 사용하는 경우 이 스토리지에 대한 예약을 사용하는 것이 좋습니다.
AKS 클러스터에 하나 이상의 스폿 노드 풀을 추가하세요. 스폿 노드 풀은 Azure 스폿 가상 머신 지원에 대한 집합을 확장하는 노드 풀입니다. AKS 클러스터 노드에 스폿 VM을 사용하는 경우 사용되지 않는 Azure 용량을 절감된 비용으로 활용할 수 있습니다. 사용 가능한 미사용 용량의 양은 노드 크기, 지역 및 하루 중 시간을 비롯한 여러 요인에 따라 달라집니다. Azure는 용량이 있을 경우 스폿 노드를 할당하지만, 스폿 노드는 SLA가 없습니다. 스폿 노드 풀을 지원하는 스폿 스케일 세트는 단일 장애 도메인에서 배포되어 고가용성을 보장하지 못합니다. Azure에 용량이 필요한 경우 Azure 인프라는 스폿 노드를 제거합니다.
스폿 노드 풀을 만들 때 시간당 지불할 최대 가격을 정의하고 클러스터 자동 크기 조정기를 사용하도록 설정해야 합니다. 클러스터 자동 크기 조정기는 운영 워크로드에 따라 노드 풀의 노드 수를 늘리거나 줄입니다. 스폿 노드 풀의 경우 여전히 노드가 필요하면 클러스터 자동 크기 조정기가 제거 후 노드 수를 스케일 아웃합니다. 자세한 내용은 AKS 클러스터에 스폿 노드 풀 추가를 참조하세요.
워크로드의 CPU 및 메모리 요구 사항에 따라 AKS 클러스터 노드 풀에 적합한 VM 크기를 선택합니다. Azure는 다양한 사용 사례에 대해 다양한 VM 인스턴스 유형을 제공합니다. CPU, 메모리, 스토리지 및 네트워킹 용량의 조합이 다릅니다. 모든 VM 유형은 하나 이상의 크기로 제공되므로 리소스의 크기를 쉽게 조정할 수 있습니다.
AKS를 사용하여 Ampere Altra ARM 기반 프로세서에서 실행되는 컨테이너화된 애플리케이션을 배포하고 관리할 수 있습니다.
특수 목적 및 워크로드를 위해 VM 크기가 다른 여러 노드 풀을 만듭니다. Kubernetes taint, tolerations 및 노드 레이블 을 사용하여 리소스 집약적 애플리케이션을 특정 노드 풀에 배치하여 시끄러운 인접 문제를 방지합니다. 노드 리소스가 필요한 워크로드에 이러한 노드 리소스를 계속 사용하도록 하고, 이러한 노드에 다른 워크로드를 예약하지 않습니다. 비용을 최적화하려면 다른 노드 풀에 대해 서로 다른 VM 크기를 사용합니다. 자세한 내용은 AKS에서 여러 노드 풀 사용을 참조하세요.
시스템 모드 노드 풀에는 하나 이상의 노드가 포함되어야 합니다. 사용자 모드 노드 풀에는 0개 이상의 노드가 포함될 수 있습니다. 가능하면 사용자 모드 노드 풀을
0
에서N
개의 노드로 자동 확장하도록 구성할 수 있습니다. 워크로드를 확장 및 축소하도록 구성하려면 수평 Pod 자동 크기 조정기를 사용하십시오. CPU 및 메모리에 따라 자동 크기 조정 요구 사항을 결정합니다. 또는 Kubernetes KEDA(이벤트 기반 자동 크기 조정) 를 사용하여 Apache Kafka, RabbitMQ 또는 Azure Service Bus와 같은 외부 시스템의 메트릭에 따라 자동 크기 조정을 구현합니다.애플리케이션 밀도를 개선하고 워크로드에 너무 많은 CPU 및 메모리 리소스를 할당하지 않도록 Pod에 대한 요청 및 제한을 적절하게 설정합니다. CPU 및 메모리의 평균 및 최대 사용량을 보려면 Prometheus 또는 컨테이너 인사이트를 사용합니다. 배포에 대한 YAML 매니페스트, Helm 차트 및 Kustomize 매니페스트에서 Pod에 대한 제한 및 할당량을 적절하게 구성합니다.
ResourceQuota 개체를 사용하여 지정된 네임스페이스에서 실행되는 모든 Pod의 총 메모리 양 및 CPU에 대한 할당량을 설정합니다. 리소스 할당량을 체계적으로 사용하여 시끄러운 인접 문제를 방지하고, 애플리케이션 밀도를 개선하며, 에이전트 노드 수와 총 비용을 줄입니다. 네임스페이스의 Pod에 대한 기본 CPU 및 메모리 요청을 구성하려면 LimitRange 개체를 사용합니다.
버스팅에 컨테이너 인스턴스를 사용하세요.
AKS 워크로드를 지속적으로 실행할 필요가 없을 수도 있습니다. 예를 들어 개발 클러스터 노드 풀의 일부 워크로드는 지속적으로 실행되지 않습니다. 비용을 최적화하기 위해 AKS 클러스터를 완전히 끄거나 AKS 클러스터에서 하나 이상의 노드 풀을 중지할 수 있습니다. 자세한 내용은 AKS 클러스터 중지 및 시작 및 AKS에서 노드 풀 시작 및 중지를 참조하세요.
Azure Policy는 기본 제공 정책을 통해 AKS와 통합하여 중앙 집중식의 일관된 대규모 적용 및 안전 장치를 적용합니다. 클러스터에 대한 Azure Policy 추가 기능을 사용하도록 설정하여 기본 CPU 요청 및 제한 및 메모리 리소스 제한을 적용합니다. 이 기능은 클러스터 컨테이너가 CPU 및 메모리 리소스 제한을 정의하도록 하는 데 도움이 됩니다.
Azure Advisor를 사용하여 미사용 리소스를 모니터링하고 해제합니다.
Cost Management 예산 및 검토를 사용하여 지출을 추적합니다.
비용 거버넌스
클라우드는 비즈니스 워크로드의 기술적 성능을 크게 향상시킬 수 있습니다. 클라우드 기술은 조직 자산 관리의 비용과 오버헤드를 줄일 수도 있습니다. 그러나 클라우드 배포는 낭비와 비효율성을 증가시킬 수 있기 때문에 이 비즈니스 기회로 인해 위험이 발생합니다.
비용 거버넌스는 지출과 비용을 제한하기 위한 정책 또는 제어를 지속적으로 구현하는 프로세스입니다. 네이티브 Kubernetes 도구와 Azure 도구는 모두 사전 모니터링 및 기본 인프라 비용 최적화를 제공하여 비용 거버넌스를 지원합니다.
Cost Management 는 Azure 워크로드 비용을 분석, 관리 및 최적화하는 데 도움이 되는 Microsoft 도구 모음입니다. 도구를 사용하여 조직이 클라우드에서 제공하는 이점을 활용할 수 있도록 합니다.
클라우드 비용을 관리하고 관리하는 방법을 더 잘 이해하려면 Azure 거버넌스 모범 사례를 위한 클라우드 채택 프레임워크 를 검토합니다.
KubeCost와 같은 오픈 소스 도구를 탐색하여 AKS 클러스터 비용을 모니터링하고 제어합니다. 배포, 서비스, 레이블, Pod 또는 네임스페이스에 따라 비용 할당 범위를 지정할 수 있습니다. 그러면 클러스터 사용자를 표시하고 청구하는 방법에 유연성이 제공됩니다.
기여자
Microsoft는 이 문서를 유지 관리합니다. 다음 기여자는 이 문서를 작성했습니다.
주요 작성자:
- Paolo Salvatori | 수석 시스템 엔지니어
- 로라 니콜라스 | 선임 클라우드 솔루션 설계자
기타 기여자:
- 채드 키텔 | 주요 소프트웨어 엔지니어 - Azure 패턴 및 사례
- Ed Price | 선임 콘텐츠 프로그램 관리자
- Theano Petersen | 기술 작가
LinkedIn 비공개 프로필을 보려면, LinkedIn에 로그인하세요.
다음 단계
- Kubecost를 통한 비용 거버넌스
- Cost Management 분야 개요
- 비디오: 클라우드 네이티브 아키텍처가 장기 비용을 절감할 수 있나요?
- Azure 가격 계산기
- Azure 비용 계획 및 관리하기
- AKS 비용 분석
- 웨비나: AKS에서 탁월한 비용 투명성을 위한 도구 및 팁
- GitHub의 OpenCost 프로젝트