AKS のネットワークポリシー設定の確認

AKS でサポートされるネットワークポリシー設定を使用し、実際の NetworkPolicy で必要な Pod 通信を許可してください。

説明

AKS のネットワークポリシーは、Pod 間通信を必要な範囲に制限するために使用します。ポリシーを適用するネットワーク構成や、ワークロードの NetworkPolicy がなければ、意図した通信制限が適用されない可能性があります。

Ansible の network_profile.network_policy には、インストール済みのコレクションと AKS のネットワーク構成でサポートされる値を指定する必要があります。ポリシーエンジンを選ぶだけですべての Pod 通信が自動的に制限されるわけではありません。

想定される影響

  • Pod 間通信が必要以上に開かれていると、侵害後の内部移動が容易になる可能性があります。
  • サポート対象外の設定は、クラスターの作成や変更を失敗させる可能性があります。

対処方法

  • インストール済みの 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 をデプロイしてください。

参考資料