다음을 통해 공유


AKS(Azure Kubernetes Service) 클러스터에서 CVM(기밀 가상 머신) 사용

CVM(Confidential Virtual Machines) 은 테넌트에 강력한 보안 및 기밀성을 제공합니다. CVM은 SEV-SNP 보안 기능을 활용하여 VM 메모리 및 상태에 대한 하이퍼바이저 및 기타 호스트 관리 코드 액세스를 거부하는 VM 기반의 TEE(하드웨어 신뢰할 수 있는 실행 환경)를 제공하여 운영자 액세스에 대한 심층 보호를 제공합니다. 이러한 기능을 통해 CVM을 사용하는 노드 풀에서 AKS의 기능을 활용하면서 코드 리팩터링 없이 매우 중요한 컨테이너 워크로드를 AKS로 마이그레이션할 수 있습니다. 예를 들어 다음이 있는 경우 CVM이 필요할 수 있습니다.

  • 보안에 중요한 데이터 및/또는 중요한 고객 데이터를 처리하는 워크로드
  • 특히 정부 계약의 경우 다양한 규정 준수 요구 사항을 충족하는 데 필요한 서비스입니다. 데이터 보안을 위한 확장 가능한 솔루션이 없으면 이로 인해 인증 및 계약이 손실될 수 있습니다.

이 문서에서는 기밀 VM 크기를 사용하여 AKS 노드 풀을 만드는 방법을 알아봅니다.

AKS에서 지원하는 보안 가상 머신 크기

Azure는 AMD와 Intel 모두에서 TEE(신뢰할 수 있는 실행 환경) 옵션을 제공합니다. 이러한 TEE를 사용하면 코드를 변경하지 않고도 뛰어난 가격 대비 성능이 뛰어난 기밀 VM 환경을 만들 수 있습니다.

  • AMD 기반 기밀 VM은 3세대 AMD EPYC™ 프로세서와 함께 도입된 AMD SEV-SNP 기술을 사용합니다.
  • 인텔 기반 기밀 VM은 4세대 Intel Xeon® 프로세서와 함께 Intel® TDX를 사용합니다.

두 기술 모두 서로 다른 구현을 가지고 있습니다. 그러나 둘 다 클라우드 인프라 스택에서 유사한 보호를 제공합니다. 자세한 내용은 CVM VM 크기를 참조하세요.

보안 기능

CVM은 다른 VM(가상 머신) 크기에 비해 다음과 같은 보안 향상 기능을 제공합니다.

  • 가상 머신, 하이퍼바이저 및 호스트 관리 코드 간의 강력한 하드웨어 기반 격리
  • 배포 전에 호스트의 호환성을 보장하기 위해 사용자 지정 가능한 증명 정책
  • 최초 부팅 전 클라우드 기반 기밀 OS 디스크 암호화.
  • 플랫폼 또는 고객(선택 사항)이 소유하고 관리하는 VM 암호화 키
  • 플랫폼의 성공적인 증명과 VM의 암호화 키 간의 암호화 바인딩으로 안전한 키 릴리스
  • 가상 머신에서 키 및 비밀을 증명하고 보호하기 위한 전용 TPM(가상 신뢰할 수 있는 플랫폼 모듈) 인스턴스입니다.
  • Azure VM의 신뢰할 수 있는 시작과 유사한 보안 부팅 기능

어떻게 작동하나요?

향상된 기밀성과 무결성이 필요한 워크로드를 실행하는 경우 애플리케이션의 코드 변경 없이 메모리 암호화 및 향상된 보안을 활용할 수 있습니다. CVM 노드의 모든 Pod는 동일한 신뢰 경계의 일부입니다. CVM으로 만든 노드 풀의 노드는 CVM용으로 특별히 구성된 사용자 지정된 노드 이미지를 사용합니다.

지원되는 OS 버전

Linux OS 유형(Ubuntu 및 Azure Linux)에서 CVM 노드 풀을 만들 수 있습니다. 그러나 모든 OS 버전이 CVM 노드 풀을 지원하지는 않습니다.

이 표에는 지원되는 OS 버전이 포함되어 있습니다.

OS 유형 운영 체제 SKU CVM 지원 CVM 기본값
리눅스 Ubuntu 지원됨 Ubuntu 20.04는 K8s 버전 1.24-1.33의 기본값입니다. Ubuntu 24.04는 K8s 버전 1.34-1.38의 기본값입니다.
리눅스 Ubuntu2204 지원되지 않음 AKS는 Ubuntu 22.04용 CVM을 지원하지 않습니다.
리눅스 Ubuntu2404 지원됨 CVM은 K8s 1.32-1.38의 Ubuntu2404에서 지원됩니다.
리눅스 AzureLinux Azure Linux 3.0에서 지원됨 Azure Linux 3은 K8s 버전 1.28-1.36용 CVM을 사용하도록 설정하는 경우 기본값입니다.
리눅스 flatcar 지원되지 않음 AKS용 플랫카 컨테이너 Linux 는 CVM을 지원하지 않습니다.
리눅스 AzureLinuxOSGuard 지원되지 않음 AKS용 OS Guard를 사용하는 Azure Linux 는 CVM을 지원하지 않습니다.
윈도우즈 모든 Windows OS SKU 지원되지 않음

기본 OS 버전이 CVM을 지원하지 않는 경우 Ubuntu 또는 AzureLinuxosSKU로 사용할 때, AKS는 자동으로 최신 CVM 지원 OS 버전을 사용합니다. 예를 들어, Ubuntu 22.04는 Linux 노드 풀의 기본값입니다. 22.04는 현재 CVM을 지원하지 않으므로 AKS는 Linux CVM 사용 노드 풀에 대해 기본적으로 Ubuntu 20.04로 설정됩니다.

제한 사항

CVM을 사용하는 노드 풀을 AKS에 추가하는 경우 적용되는 제한 사항은 다음과 같습니다.

  • FIPS, ARM64, 신뢰할 수 있는 시작 또는 Pod 샌드박싱을 사용할 수 없습니다.
  • CVM 크기로 마이그레이션하도록 기존 노드 풀을 업데이트할 수 없습니다. 마이그레이션하려면 노드 풀의 크기를 조정해야 합니다.
  • Windows 노드 풀에는 CVM을 사용할 수 없습니다.
  • Azure Linux를 사용한 CVM은 현재 미리 보기로 제공됩니다.

필수 조건

시작하기 전에 다음을 확인합니다.

  • 기존 AKS 클러스터
  • 클러스터가 만들어진 지역에서 구독에 대한 CVM 크기를 사용할 수 있어야 합니다. CVM 크기의 노드 풀을 만들려면 충분한 할당량이 있어야 합니다.
  • Azure Linux os를 사용하는 경우 확장을 설치 aks-preview 하고, 확장을 업데이트 aks-preview 하고, 미리 보기 기능 플래그를 등록해야 합니다. Ubuntu를 사용하는 경우 다음 단계를 건너뛸 수 있습니다.

Azure Linux를 사용하는 경우

Ubuntu용 CVM은 GA이지만 Azure Linux를 사용하는 CVM은 현재 미리 보기로 제공됩니다. AZURE Linux에서 CVM 노드 풀을 선택한 OS로 사용하려면 확장을 사용하도록 설정하고 플래그를 등록해야 합니다.

확장 프로그램 설치 aks-preview

  1. aks-preview 명령을 사용하여 Azure CLI 확장을 설치합니다az extension add.

    중요합니다

    AKS 미리 보기 기능은 셀프 서비스에서 사용할 수 있습니다(옵트인 방식). 미리 보기는 "있는 그대로" 및 "사용 가능한 상태로" 제공되며 서비스 수준 계약 및 제한적 보증에서 제외됩니다. AKS 미리 보기의 일부는 고객 지원팀에서 최선을 다해 지원합니다. 따라서 이러한 기능은 프로덕션 용도로 사용할 수 없습니다. 자세한 내용은 다음 지원 문서를 참조하세요.

    az extension add --name aks-preview
    
  2. az extension update 명령을 사용하여 확장의 최신 버전으로 업데이트합니다.

    az extension update --name aks-preview
    

기능 플래그 등록 AzureLinuxCVMPreview

  1. AzureLinuxCVMPreview[az feature register][az-feature-register] 명령을 사용하여 기능 플래그를 등록합니다.

    az feature register --namespace "Microsoft.ContainerService" --name "AzureLinuxCVMPreview"
    
  2. [][az feature showaz-feature-show] 명령을 사용하여 등록 상태를 확인합니다. 상태가 Registered로 표시되는 데 몇 분 정도 걸립니다.

    az feature show --namespace Microsoft.ContainerService --name AzureLinuxCVMPreview
    
  3. 상태가 등록됨으로 반영되면 [][az-provider-register] 명령을 사용하여 az provider register 리소스 공급자의 등록을 새로 고칩니다.

    az provider register --namespace Microsoft.ContainerService
    

CVM이 있는 노드 풀을 AKS 클러스터에 추가

  • 명령을 사용하여 CVM이 있는 노드 풀을 AKS 클러스터에 az aks nodepool add 추가하고 지원되는 node-vm-size로 설정합니다.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name cvmnodepool \
        --node-count 3 \
        --node-vm-size Standard_DC4as_v5 
    

osSKU 또는 osType을 지정하지 않으면, AKS가 기본적으로 --os-type Linux--os-sku Ubuntu로 설정됩니다.

CVM을 사용하여 기존 노드 풀을 Ubuntu 24.04로 업그레이드

  • 명령을 사용하여 az aks nodepool update CVM이 있는 기존 노드 풀을 Ubuntu 20.04에서 Ubuntu 24.04로 업그레이드합니다. 로 os-skuUbuntu2404설정합니다.

      az aks nodepool update \
          --resource-group myResourceGroup \
          --cluster-name myAKSCluster \
          --name cvmnodepool \
          --os-sku Ubuntu2404
    

비고

CVM이 있는 Ubuntu 24.04 노드 풀은 AKS 클러스터 1.33 버전에서 지원됩니다. 또한 Ubuntu 24.04가 GA가 되기 전에 Ubuntu2404Preview 기능을 등록해야 합니다. 자세한 내용은 기능 등록을 참조 here 하세요.

노드 풀에서 CVM을 사용하는지 확인

  1. 노드 풀이 az aks nodepool show 명령을 통해 CVM을 사용하는지 확인하고 vmSizeStandard_DCa4_v5인지 확인합니다.

    az aks nodepool show \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name cvmnodepool \
        --query 'vmSize'
    

    다음 예제 명령 및 출력에서는 노드 풀에서 CVM을 사용한다는 것을 보여 줍니다.

    az aks nodepool show \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name cvmnodepool \
        --query 'vmSize'
    
    "Standard_DC4as_v5"
    
  2. 노드 풀이 명령을 사용하여 CVM 이미지를 사용하는지 확인합니다 az aks nodepool list .

    az aks nodepool list \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name cvmnodepool \
        --query 'nodeImageVersion'
    

    다음 예제 명령 및 출력은 노드 풀이 Ubuntu 20.04 CVM 이미지를 사용하는 것을 보여줍니다.

    az aks nodepool show \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name cvmnodepool \
        --query 'nodeImageVersion'
    
    "AKSUbuntu-2004cvmcontainerd-202507.02.0"
    

AKS 클러스터에서 CVM을 사용하는 노드 풀 제거

  • az aks nodepool delete 명령을 사용하여 AKS 클러스터에서 CVM을 사용하는 노드 풀을 제거합니다.

    az aks nodepool delete \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name cvmnodepool
    

다음 단계

이 문서에서는 CVM을 사용하는 노드 풀을 AKS 클러스터에 추가하는 방법을 알아보았습니다.