다음을 통해 공유


AKS(Azure Kubernetes Service)에서 아웃바운드 형식으로 클러스터 송신 사용자 지정

특정 시나리오에 맞게 AKS 클러스터에 대한 송신을 사용자 지정할 수 있습니다. 기본적으로 AKS는 송신에 대해 설정하고 사용할 표준 Load Balancer 만듭니다. 그러나 공용 IP가 허용되지 않거나 송신에 추가 홉이 필요한 경우 기본 설정이 모든 시나리오의 요구 사항을 충족하지 못할 수 있습니다.

이 문서에서는 AKS 클러스터에서 사용할 수 있는 다양한 유형의 아웃바운드 연결에 대해 설명합니다.

참고 항목

이제 클러스터를 만든 후 outboundType을 업데이트할 수 있습니다.

Important

권한이 없는 클러스터에서 API 서버 클러스터 트래픽은 클러스터 아웃바운드 형식을 통해 라우팅되고 처리됩니다. API 서버 트래픽이 공용 트래픽으로 처리되지 않도록 하려면 프라이빗 클러스터사용하거나 API Server VNet 통합 기능을 확인하세요.

제한 사항

  • outboundType을 설정하려면 VirtualMachineScaleSetsvm-set-typeStandardload-balancer-sku를 사용하는 AKS 클러스터가 필요합니다.

AKS의 아웃바운드 형식

부하 분산 장치, NAT 게이트웨이 또는 사용자 정의 라우팅과 같은 아웃바운드 형식을 사용하여 AKS 클러스터를 구성할 수 있습니다. 아웃바운드 형식은 클러스터의 송신 트래픽에만 영향을 줍니다. 자세한 내용은 setting up ingress controllers(수신 컨트롤러 설정)를 참조하세요.

loadBalancer의 아웃바운드 형식

부하 분산 장치는 AKS 할당 공용 IP를 통해 송신하는 데 사용됩니다. 아웃바운드 형식의 loadBalancer는 AKS 리소스 공급자가 만든 부하 분산 장치에서 송신하는 것으로 간주되는 loadBalancer 형식의 Kubernetes 서비스를 지원합니다.

loadBalancer가 설정된 경우 AKS는 다음 구성을 자동으로 완료합니다.

  • 클러스터 송신에 대한 공용 IP 주소가 만들어집니다.
  • 공용 IP 주소가 부하 분산 장치 리소스에 할당됩니다.
  • 부하 분산 장치의 백 엔드 풀이 클러스터의 에이전트 노드에 대해 설정됩니다.

다이어그램에서는 수신 IP와 송신 IP를 보여 줍니다. 여기서 수신 IP는 트래픽을 부하 분산 장치로 보내고, 부하 분산 장치는 트래픽을 내부 클러스터와 주고받으며 기타 트래픽을 송신 IP에 보내고, 송신 IP는 트래픽을 인터넷, MCR, Azure 필수 서비스, AKS 컨트롤 플레인에 보냅니다.

자세한 내용은 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(관리되는 가상 네트워크를 사용하는 경우), userAssignedNATGatewayuserDefinedRouting(사용자 지정 가상 네트워크를 사용하는 경우) 간에만 지원됩니다.

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로 클러스터 업데이트

az aks update --resource-group <resourceGroup> --name <clusterName> --outbound-type userAssignedNATGateway

다음 단계