내부 부하 분산 장치를 만들고 사용하여 AKS(Azure Kubernetes Service)에서 애플리케이션에 대한 액세스를 제한할 수 있습니다.
제한 사항
- Azure Load Balancer는 표준 SKU만 사용 가능
- 기존 서브넷 또는 리소스 그룹을 사용하려면 AKS 클러스터 ID에 네트워크 리소스를 관리할 수 있는 권한이 필요(네트워크 참가자)
권한 부여
AKS가 특정 서브넷에서 내부 부하 분산 장치를 생성할 경우 네트워크 리소스를 관리할 수 있는 권한이 필요합니다.
내부 부하 분산 장치 만들기
apiVersion: v1
kind: Service
metadata:
name: internal-app
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: internal-app
다른 서브넷 지정
지정된 서브넷은 AKS 클러스터와 동일한 가상 네트워크에 있어야 합니다.
apiVersion: v1
kind: Service
metadata:
name: internal-app
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
service.beta.kubernetes.io/azure-load-balancer-internal-subnet: "apps-subnet"
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: internal-app
Public Load Balancer 미사용
- Internal Load Balancer를 생성해도 AKS와 함께 생성되는 Public Load Balancer는 기존 처럼 사용이 가능합니다.
- 만약 Public Load Balancer를 사용하고 싶지 않은 경우 Azure Policy에서 AKS에 정책을 할당해야 합니다.
1. 범위를 AKS가 위치한 리소스그룹으로 설정하고 하기 정책을 적용합니다.(정책 반영까지 15분정도 소요)
2. 해당 정책을 설정하고 Kubernetes에서 Public Load Balancer Service를 생성하면 다음과 같이 에러가 발생함을 볼 수 있습니다.
3. 기존에 만들어 둔 Public Load Balancer Service로는 통신이 가능합니다.
참고 링크
https://learn.microsoft.com/ko-kr/azure/aks/internal-lb
내부 부하 분산 장치 만들기 - Azure Kubernetes Service
내부 부하 분산 장치를 만들고 사용하여 AKS(Azure Kubernetes Service)를 통해 서비스를 노출하는 방법을 알아봅니다.
learn.microsoft.com
'클라우드 > Azure' 카테고리의 다른 글
[Kubernetes] GPU NodePool 사용하기 (0) | 2025.01.23 |
---|---|
[Kubernetes] AKS Custom Worker Node Image (0) | 2025.01.23 |
[DNS] External DNS 연동 테스트 (0) | 2025.01.23 |
[ApplicationGateway] 공유 Application Gateway Ingress Controller 사용하기 (0) | 2025.01.23 |
[Key Vault] Azure Kubernetes 내부에서 Key Vault 연동하기 (0) | 2025.01.20 |