Azure 상식

PV/PVC with Azure File 구성시 필요한 Network 설정

ktzzang0601 2025. 8. 25. 11:13

1. Azure File + PV/PVC 구성 개요

  • Kubernetes 환경에서 **Persistent Volume(PV)**과 **Persistent Volume Claim(PVC)**를 Azure File 스토리지로 구성하려면,
    단순히 YAML로 PV/PVC를 정의하는 것뿐만 아니라 네트워크 설정이 반드시 뒷받침되어야 합니다.
    Azure File은 SMB(서버 메시지 블록) 프로토콜을 사용하므로, 네트워크 라우팅, DNS, 방화벽(NSG) 규칙 등이 제대로 설정되어 있어야 정상적으로 마운트됩니다.
  • PV (Persistent Volume)
    클러스터 관리자가 프로비저닝한 스토리지 리소스로, 스토리지의 실제 물리적/클라우드 리소스에 대한 추상화 레이어.
  • PVC (Persistent Volume Claim)
    개발자/애플리케이션이 요청하는 스토리지 요구사항. PV에 매칭되어 바인딩됨.
  • Azure File
    Azure Storage 계정에서 제공하는 SMB 3.0 기반 네트워크 파일 공유 서비스. Kubernetes에서는 csi.azure.com 드라이버를 통해 접근.

2. 네트워크 설정의 핵심 포인트

(1) 접근 경로

  • Azure File은 퍼블릭 엔드포인트 또는 **프라이빗 엔드포인트(Private Endpoint)**로 접근 가능.
  • 보안 강화를 위해 AKS 클러스터와 같은 VNet 내부에 Private Endpoint 구성 권장.

(2) DNS 해석

  • Private Endpoint 사용 시, Azure Storage의 FQDN({storageaccount}.file.core.windows.net)이 Private IP로 해석되도록 Azure Private DNS Zone 설정 필요.
  • Private DNS Zone 링크: privatelink.file.core.windows.net
  • AKS VNet과 DNS Zone을 연결(VNet Link)해야 함.

(3) 네트워크 라우팅

  • AKS 노드 → Azure File Storage까지의 경로 확인.
  • VNet이 피어링된 경우, PEERING 설정에서 "Allow forwarded traffic" 및 "Allow gateway transit" 활성화 필요.
  • On-prem과 연결 시 ExpressRoute 또는 VPN Gateway 사용 가능.

(4) 방화벽(NSG) 규칙

  • SMB 포트(445/TCP) 허용.
  • Azure File에 접근하는 서브넷에서 Outbound 445/TCP가 막혀 있으면 마운트 불가.
  • Private Endpoint 사용 시에도 해당 포트 허용 필요.

(5) 스토리지 방화벽

  • Storage Account의 "방화벽 및 가상 네트워크" 설정에서 AKS 서브넷 허용.
  • Private Endpoint 사용 시 Public Access 차단 가능.

(6) 인증

  • Azure File PV/PVC는 Storage Account Key 또는 Azure AD 기반 SMB 인증 지원.
  • Storage Account Key를 Secret로 저장 후 PV/PVC YAML에 참조.
  • Azure AD 인증 시, AKS 노드가 Azure File 리소스에 접근 가능한 Managed Identity 권한 필요.

3. PV/PVC + Azure File 네트워크 구성 절차 (Private Endpoint 기준)

  1. Storage Account 생성
    • Performance: Standard (HDD) 또는 Premium (SSD)
    • Account kind: StorageV2
    • File shares 기능 활성화.
  2. Private Endpoint 생성
    • Target sub-resource: file
    • 연결할 VNet/Subnet 지정.
    • Private DNS Zone(privatelink.file.core.windows.net)에 자동 등록되도록 설정.
  3. Private DNS Zone 구성
    • privatelink.file.core.windows.net Zone 생성.
    • Private Endpoint의 Private IP가 A 레코드로 등록되어야 함.
    • AKS VNet과 DNS Zone을 링크.
  4. NSG 설정
    • AKS 노드 서브넷에 Outbound 445/TCP 허용.
    • 필요 시 Inbound SMB 규칙도 설정(특정 상황에서만).
  5. 스토리지 방화벽 설정
    • Public access 차단.
    • Private Endpoint 서브넷만 허용.
  6. 인증 구성
    • Storage Account Key를 Kubernetes Secret에 저장.
    • 또는 Managed Identity에 Azure File Data SMB Share Contributor 권한 부여.

4. 주요 용어 정리

PV (Persistent Volume) 클러스터에서 사용할 수 있는 스토리지 리소스의 추상화 객체
PVC (Persistent Volume Claim) 사용자가 요청하는 스토리지 요구사항, PV에 바인딩
Azure File SMB 기반 클라우드 파일 공유 서비스
Private Endpoint VNet 내부에서 Azure 서비스에 Private IP로 연결
Private DNS Zone Private Endpoint 연결 시 서비스 FQDN을 Private IP로 해석하는 DNS Zone
NSG (Network Security Group) Azure 네트워크의 방화벽 역할
SMB (Server Message Block) 파일 공유를 위한 네트워크 프로토콜
Storage Account Key Storage Account 인증을 위한 키
Managed Identity Azure 리소스에 부여되는 인증 아이덴티티
Azure CSI Driver Kubernetes에서 Azure 스토리지를 사용하기 위한 Container Storage Interface 드라이버

 

5. 관련 문서