AKS 네트워크 정책 설정 점검

AKS에서 지원되는 네트워크 정책 구성을 사용하고 실제 NetworkPolicy로 필요한 파드 통신만 허용하세요.

설명

AKS의 네트워크 정책은 파드 간 통신을 필요한 범위로 제한하는 데 사용됩니다. 정책을 적용하는 네트워크 구성이 없거나 워크로드의 NetworkPolicy가 정의되지 않으면 의도한 통신 제한이 적용되지 않을 수 있습니다.

Ansible의 network_profile.network_policy는 설치된 컬렉션과 AKS 네트워크 구성에서 지원하는 값을 사용해야 합니다. 정책 엔진을 선택하는 것만으로 모든 파드 통신이 자동으로 제한되지는 않습니다.

잠재적 영향

  • 파드 간 통신이 필요 이상으로 열려 침해 후 내부 이동이 쉬워질 수 있습니다.
  • 지원하지 않는 설정은 클러스터 생성이나 변경을 실패하게 할 수 있습니다.

해결 방법

  • 설치된 azure.azcollection과 클러스터의 네트워크 플러그인에서 지원하는 정책 구성을 선택하세요.
  • 실제 NetworkPolicy로 필요한 통신을 허용하고 허용·차단 결과를 시험하세요.
  • 기존 클러스터의 변경 지원 여부와 서비스 중단 가능성을 확인한 뒤 적용하세요.

예시

다음은 네트워크 정책 필드에 초점을 둔 부분 예시입니다. aks_kubernetes_version에는 지원되는 버전을 지정하고 인증, 노드와 네트워크 구성을 별도로 준비하세요. 짧은 모듈 이름을 사용하려면 해당 컬렉션이 해석되는 환경이 필요합니다.

변경 전

yaml
- name: AKS 클러스터 생성
  azure_rm_aks:
    name: myAKS
    location: eastus
    resource_group: myResourceGroup
    dns_prefix: akstest
    kubernetes_version: "{{ aks_kubernetes_version }}"
    network_profile:
      network_policy: istio
    agent_pool_profiles:
      - name: default
        count: 5
        vm_size: Standard_D2_v2

istio는 이 모듈의 network_policy 선택값이 아니므로 유효한 설정으로 사용할 수 없습니다.

변경 후

yaml
- name: AKS 클러스터 생성
  azure_rm_aks:
    name: myAKS
    location: eastus
    resource_group: myResourceGroup
    dns_prefix: akstest
    kubernetes_version: "{{ aks_kubernetes_version }}"
    network_profile:
      network_policy: calico
    agent_pool_profiles:
      - name: default
        count: 5
        vm_size: Standard_D2_v2

calico는 모듈이 지원하는 선택값입니다. 네트워크 플러그인과의 호환성을 확인하고 실제 NetworkPolicy를 배포해야 통신 제한을 적용할 수 있습니다.

참조