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 기준)
- Storage Account 생성
- Performance: Standard (HDD) 또는 Premium (SSD)
- Account kind: StorageV2
- File shares 기능 활성화.
- Private Endpoint 생성
- Target sub-resource: file
- 연결할 VNet/Subnet 지정.
- Private DNS Zone(privatelink.file.core.windows.net)에 자동 등록되도록 설정.
- Private DNS Zone 구성
- privatelink.file.core.windows.net Zone 생성.
- Private Endpoint의 Private IP가 A 레코드로 등록되어야 함.
- AKS VNet과 DNS Zone을 링크.
- NSG 설정
- AKS 노드 서브넷에 Outbound 445/TCP 허용.
- 필요 시 Inbound SMB 규칙도 설정(특정 상황에서만).
- 스토리지 방화벽 설정
- Public access 차단.
- Private Endpoint 서브넷만 허용.
- 인증 구성
- 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. 관련 문서
- 원본 게시글 : https://seongduck.tistory.com/488
- AKS(Azure Kubernetes Service)에서 Azure Files CSI(Container Storage Interface) 드라이버 사용 https://learn.microsoft.com/ko-kr/azure/aks/azure-files-csi
'Azure 상식' 카테고리의 다른 글
| AKS의 이슈상황 원인과 대응방안 + Pod Lifecycle (1) | 2025.08.25 |
|---|---|
| Azure Virtual Network 암호화 (2) | 2025.08.25 |
| Azure Storage 암호화 (0) | 2025.08.25 |
| Azure Monitoring 활용시 LogData 효율적 관리에 대해 (3) | 2025.08.24 |
| Azure Native 보안과 네트워크 보안 서비스 이해 (3) | 2025.08.24 |