AKS(Azure Kubernetes Service)에서 아웃바운드 형식으로 클러스터 송신 사용자 지정
특정 시나리오에 맞게 AKS 클러스터에 대한 송신을 사용자 지정할 수 있습니다. 기본적으로 AKS는 송신에 대해 설정하고 사용할 표준 Load Balancer 만듭니다. 그러나 공용 IP가 허용되지 않거나 송신에 추가 홉이 필요한 경우 기본 설정이 모든 시나리오의 요구 사항을 충족하지 못할 수 있습니다.
이 문서에서는 AKS 클러스터에서 사용할 수 있는 다양한 유형의 아웃바운드 연결에 대해 설명합니다.
참고 항목
이제 클러스터를 만든 후 outboundType
을 업데이트할 수 있습니다.
Important
권한이 없는 클러스터에서 API 서버 클러스터 트래픽은 클러스터 아웃바운드 형식을 통해 라우팅되고 처리됩니다. API 서버 트래픽이 공용 트래픽으로 처리되지 않도록 하려면 프라이빗 클러스터를 사용하거나 API Server VNet 통합 기능을 확인하세요.
제한 사항
outboundType
을 설정하려면VirtualMachineScaleSets
가vm-set-type
및Standard
의load-balancer-sku
를 사용하는 AKS 클러스터가 필요합니다.
AKS의 아웃바운드 형식
부하 분산 장치, NAT 게이트웨이 또는 사용자 정의 라우팅과 같은 아웃바운드 형식을 사용하여 AKS 클러스터를 구성할 수 있습니다. 아웃바운드 형식은 클러스터의 송신 트래픽에만 영향을 줍니다. 자세한 내용은 setting up ingress controllers(수신 컨트롤러 설정)를 참조하세요.
loadBalancer
의 아웃바운드 형식
부하 분산 장치는 AKS 할당 공용 IP를 통해 송신하는 데 사용됩니다. 아웃바운드 형식의 loadBalancer
는 AKS 리소스 공급자가 만든 부하 분산 장치에서 송신하는 것으로 간주되는 loadBalancer
형식의 Kubernetes 서비스를 지원합니다.
loadBalancer
가 설정된 경우 AKS는 다음 구성을 자동으로 완료합니다.
- 클러스터 송신에 대한 공용 IP 주소가 만들어집니다.
- 공용 IP 주소가 부하 분산 장치 리소스에 할당됩니다.
- 부하 분산 장치의 백 엔드 풀이 클러스터의 에이전트 노드에 대해 설정됩니다.
자세한 내용은 AKS에서 표준 부하 분산 장치 사용을 참조하세요.
managedNatGateway
또는 userAssignedNatGateway
의 아웃바운드 형식
outboundType
에 대해 managedNatGateway
또는 userAssignedNatGateway
를 선택한 경우 AKS는 클러스터 송신을 위해 Azure 네트워킹 NAT 게이트웨이를 사용합니다.
- 관리형 가상 네트워크를 사용할 때
managedNatGateway
를 선택합니다. AKS는 NAT Gateway를 프로비전하고 이를 클러스터 서브넷에 연결합니다. - 사용자 고유의 가상 네트워킹을 사용할 때
userAssignedNatGateway
를 선택합니다. 이 옵션을 사용하려면 클러스터를 만들기 전에 NAT 게이트웨이를 만들어야 합니다.
자세한 내용은 AKS에서 NAT 게이트웨이 사용을 참조하세요.
userDefinedRouting
의 아웃바운드 형식
참고 항목
userDefinedRouting
아웃바운드 형식은 고급 네트워킹 시나리오이며 적절한 네트워크 구성이 필요합니다.
설정된 경우 userDefinedRouting
AKS는 송신 경로를 자동으로 구성하지 않습니다. 송신 설정이 완료되었습니다.
구성된 서브넷을 사용하여 AKS 클러스터를 기존 가상 네트워크에 배포해야 합니다. SLB(표준 부하 분산 장치) 아키텍처를 사용하지 않으므로 명시적 송신을 설정해야 합니다. 이 아키텍처를 사용하려면 방화벽, 게이트웨이, 프록시와 같은 어플라이언스로 송신 트래픽을 명시적으로 보내거나 표준 부하 분산 장치나 어플라이언스에 할당된 공용 IP에서 NAT를 수행할 수 있도록 해야 합니다.
자세한 내용은 사용자 정의 라우팅을 통해 클러스터 송신 구성을 참조하세요.
아웃바운드 형식 none
(미리 보기)
Important
아웃바운드 형식은 none
네트워크 격리 클러스터에서만 사용할 수 있으며 외부 서비스에 대한 의도하지 않은 종속성 없이 클러스터가 예상대로 작동하도록 신중하게 계획해야 합니다. 완전히 격리된 클러스터의 경우 격리된 클러스터 고려 사항을 참조 하세요.
none
이 설정된 경우 AKS는 자동으로 송신 경로를 구성하지 않습니다. 이 옵션은 유효성 검사의 일부로 기본 경로가 필요하지 않지만 유사 userDefinedRouting
합니다.
none
아웃바운드 형식은 BYO(Bring-your-own) 가상 네트워크 시나리오와 관리되는 VNet 시나리오 모두에서 지원됩니다. 그러나 필요한 경우 명시적 송신 경로가 정의된 네트워크 환경에 AKS 클러스터가 배포되었는지 확인해야 합니다. BYO VNet 시나리오의 경우 클러스터를 이미 구성된 서브넷이 있는 기존 가상 네트워크에 배포해야 합니다. AKS는 표준 부하 분산 장치 또는 송신 인프라를 만들지 않으므로 필요한 경우 명시적 송신 경로를 설정해야 합니다. 송신 옵션에는 방화벽, 프록시, 게이트웨이 또는 기타 사용자 지정 네트워크 구성으로 트래픽 라우팅이 포함될 수 있습니다.
아웃바운드 형식 block
(미리 보기)
Important
아웃바운드 형식은 block
네트워크 격리 클러스터에서만 사용할 수 있으며 의도하지 않은 네트워크 종속성이 없도록 신중하게 계획해야 합니다. 완전히 격리된 클러스터의 경우 격리된 클러스터 고려 사항을 참조 하세요.
설정된 경우 block
AKS는 클러스터의 모든 송신 트래픽을 적극적으로 차단하도록 네트워크 규칙을 구성합니다. 이 옵션은 아웃바운드 연결을 제한해야 하는 매우 안전한 환경에 유용합니다.
사용 block
시:
- AKS는 공용 인터넷 트래픽이 NSG(네트워크 보안 그룹) 규칙을 통해 클러스터를 떠날 수 없도록 합니다. VNet 트래픽은 영향을 받지 않습니다.
- 추가 네트워크 구성을 통해 필요한 송신 트래픽을 명시적으로 허용해야 합니다.
이 block
옵션은 또 다른 수준의 네트워크 격리를 제공하지만 워크로드 또는 종속성이 손상되지 않도록 신중하게 계획해야 합니다.
클러스터를 만든 후 outboundType
업데이트
클러스터를 만든 후 아웃바운드 형식을 변경하면 클러스터를 새 송신 구성에 배치하는 데 필요한 리소스가 배포되거나 제거됩니다.
다음 표에서는 관리형 가상 네트워크와 BYO 가상 네트워크에 대해 아웃바운드 유형 간에 지원되는 마이그레이션 경로를 보여 줍니다.
관리형 VNet에 대해 지원되는 마이그레이션 경로
각 행은 아웃바운드 형식을 위쪽에 나열된 형식으로 마이그레이션할 수 있는지 여부를 보여줍니다. "지원됨"은 마이그레이션이 가능하지만 "지원되지 않음" 또는 "N/A"는 그렇지 않음을 의미합니다.
From|받는 사람 | loadBalancer |
managedNATGateway |
userAssignedNATGateway |
userDefinedRouting |
none |
block |
---|---|---|---|---|---|---|
loadBalancer |
해당 없음 | 지원됨 | 지원되지 않음 | 지원되지 않음 | 지원됨 | 지원됨 |
managedNATGateway |
지원됨 | 해당 없음 | 지원되지 않음 | 지원되지 않음 | 지원됨 | 지원됨 |
userAssignedNATGateway |
지원되지 않음 | 지원되지 않음 | 해당 없음 | 지원되지 않음 | 지원되지 않음 | 지원되지 않음 |
none |
지원됨 | 지원됨 | 지원되지 않음 | 지원되지 않음 | 해당 없음 | 지원됨 |
block |
지원됨 | 지원됨 | 지원되지 않음 | 지원되지 않음 | 지원됨 | 해당 없음 |
BYO VNet에 대해 지원되는 마이그레이션 경로
From|받는 사람 | loadBalancer |
managedNATGateway |
userAssignedNATGateway |
userDefinedRouting |
none |
block |
---|---|---|---|---|---|---|
loadBalancer |
해당 없음 | 지원되지 않음 | 지원됨 | 지원됨 | 지원됨 | 지원되지 않음 |
managedNATGateway |
지원되지 않음 | 해당 없음 | 지원되지 않음 | 지원되지 않음 | 지원되지 않음 | 지원되지 않음 |
userAssignedNATGateway |
지원됨 | 지원되지 않음 | 해당 없음 | 지원됨 | 지원됨 | 지원되지 않음 |
userDefinedRouting |
지원됨 | 지원되지 않음 | 지원됨 | 해당 없음 | 지원됨 | 지원되지 않음 |
none |
지원됨 | 지원되지 않음 | 지원됨 | 지원됨 | 해당 없음 | 지원되지 않음 |
마이그레이션은 loadBalancer
, managedNATGateway
(관리되는 가상 네트워크를 사용하는 경우), userAssignedNATGateway
및 userDefinedRouting
(사용자 지정 가상 네트워크를 사용하는 경우) 간에만 지원됩니다.
Warning
아웃바운드 형식을 사용자 관리 유형(userAssignedNATGateway
또는 userDefinedRouting
)으로 마이그레이션하면 클러스터의 아웃바운드 공용 IP 주소가 변경됩니다.
권한 있는 IP 범위를 사용하는 경우 새 아웃바운드 IP 범위가 권한 있는 IP 범위에 추가되었는지 확인합니다.
Warning
클러스터에서 아웃바운드 형식을 변경하면 네트워크 연결이 중단되고 클러스터의 송신 IP 주소가 변경됩니다. 클러스터의 트래픽을 제한하도록 방화벽 규칙이 구성된 경우 새 송신 IP 주소와 일치하도록 업데이트해야 합니다.
새 아웃바운드 형식을 사용하도록 클러스터 업데이트
참고 항목
아웃바운드 형식을 마이그레이션하려면 버전 >= 2.56의 Azure CLI를 사용해야 합니다. az upgrade
를 사용하여 최신 버전의 Azure CLI로 업데이트합니다.
az aks update
명령을 사용하여 클러스터의 아웃바운드 구성을 업데이트합니다.
loadbalancer에서 관리형 managedNATGateway로 클러스터 업데이트
az aks update --resource-group <resourceGroup> --name <clusterName> --outbound-type managedNATGateway --nat-gateway-managed-outbound-ip-count <number of managed outbound ip>
managedNATGateway에서 loadbalancer로 클러스터 업데이트
az aks update --resource-group <resourceGroup> --name <clusterName> \
--outbound-type loadBalancer \
<--load-balancer-managed-outbound-ip-count <number of managed outbound ip>| --load-balancer-outbound-ips <outbound ip ids> | --load-balancer-outbound-ip-prefixes <outbound ip prefix ids> >
Warning
이전 아웃바운드 구성에서 이미 사용 중인 IP 주소를 다시 사용하지 마세요.
managedNATGateway에서 userDefinedRouting으로 클러스터 업데이트
- 경로
0.0.0.0/0
기본 경로 테이블을 추가합니다. AKS(Azure Kubernetes Service)에서 사용자 정의 라우팅 테이블로 클러스터 송신 사용자 지정을 참조 하세요.
az aks update --resource-group <resourceGroup> --name <clusterName> --outbound-type userDefinedRouting
BYO vnet 시나리오에서 loadbalancer에서 userAssignedNATGateway로 클러스터 업데이트
- nat Gateway를 워크로드가 연결된 서브넷과 연결합니다. 관리 또는 사용자 할당 NAT Gateway 만들기를 참조하세요.
az aks update --resource-group <resourceGroup> --name <clusterName> --outbound-type userAssignedNATGateway
다음 단계
Azure Kubernetes Service