다음을 통해 공유


네트워크 보안 그룹을 사용하여 Azure Container Apps에서 사용자 지정 VNET 보안

가상 네트워크를 구성하는 데 필요한 NSG(네트워크 보안 그룹)는 Kubernetes에 필요한 설정과 매우 유사합니다.

기본 NSG 규칙보다 더 제한적인 규칙으로 NSG를 통해 네트워크를 잠그고 구독 수준에서 Container Apps 환경에 대한 모든 인바운드 및 아웃바운드 트래픽을 제어할 수 있습니다.

워크로드 프로필 환경에서는 UDR(사용자 정의 경로)과 방화벽 을 사용하여 아웃바운드 트래픽을 보호하는 것이 지원됩니다. 외부 워크로드 프로필 환경을 사용하는 경우 Azure Container Apps에 대한 인바운드 트래픽은 서브넷이 아닌 관리되는 리소스 그룹에 있는 공용 IP를 통해 라우팅됩니다. 즉, 외부 워크로드 프로필 환경에서 NSG 또는 방화벽을 통해 인바운드 트래픽을 잠그는 것은 지원되지 않습니다. 자세한 내용은 Azure Container Apps 환경의 네트워킹을 참조 하세요.

소비 전용 환경에서는 Express 경로가 지원되지 않으며 사용자 지정 UDR(사용자 정의 경로)은 제한된 지원을 받습니다. 소비 전용 환경에서 사용할 수 있는 UDR 지원 수준에 대한 자세한 내용은 FAQ를 참조하세요.

NSG 허용 규칙

다음 표에서는 NSG 허용 규칙 컬렉션을 구성하는 방법을 설명합니다. 필요한 특정 규칙은 환경 유형에 따라 달라집니다.

인바운드

참고 항목

워크로드 프로필을 사용하는 경우 인바운드 NSG 규칙은 가상 네트워크를 통과하는 트래픽에만 적용됩니다. 컨테이너 앱이 공용 인터넷의 트래픽을 허용하도록 설정된 경우 들어오는 트래픽은 가상 네트워크 대신 퍼블릭 엔드포인트를 통과합니다.

프로토콜 Source 원본 포트 대상 대상 포트 설명
TCP 클라이언트 IP * 컨테이너 앱의 서브넷1 80, 31080 HTTP를 사용할 때 클라이언트 IP가 Azure Container Apps에 액세스할 수 있도록 허용합니다. 31080 는 Container Apps 환경 에지 프록시가 HTTP 트래픽에 응답하는 포트입니다. 내부 부하 분산 장치 뒤에 있습니다.
TCP 클라이언트 IP * 컨테이너 앱의 서브넷1 443, 31443 HTTPS를 사용할 때 클라이언트 IP가 Azure Container Apps에 액세스할 수 있도록 허용합니다. 31443 는 Container Apps 환경 에지 프록시가 HTTPS 트래픽에 응답하는 포트입니다. 내부 부하 분산 장치 뒤에 있습니다.
TCP AzureLoadBalancer * 컨테이너 앱의 서브넷 30000-327672 Azure Load Balancer가 백 엔드 풀을 검색하도록 허용합니다.

1 이 주소는 환경을 만들 때 매개 변수로 전달됩니다. 예들 들어 10.0.0.0/21입니다.
2 Azure Container Apps를 범위 내의 포트로 만들 때 동적으로 할당되는 경우 전체 범위가 필요합니다. 일단 만들어지면 필수 포트는 변경할 수 없는 정적 두 값이며 NSG 규칙을 업데이트할 수 있습니다.

아웃바운드

프로토콜 Source 원본 포트 대상 대상 포트 설명
TCP 컨테이너 앱의 서브넷 * MicrosoftContainerRegistry 443 시스템 컨테이너에 대한 Microsoft 컨테이너 레지스트리의 서비스 태그입니다.
TCP 컨테이너 앱의 서브넷 * AzureFrontDoor.FirstParty 443 서비스 태그의 MicrosoftContainerRegistry 종속성입니다.
모두 컨테이너 앱의 서브넷 * 컨테이너 앱의 서브넷 * 컨테이너 앱의 서브넷에서 IP 간의 통신을 허용합니다.
TCP 컨테이너 앱의 서브넷 * AzureActiveDirectory 443 관리 ID를 사용하는 경우 필수입니다.
TCP 컨테이너 앱의 서브넷 * AzureMonitor 443 Azure Monitor를 사용하는 경우에만 필요합니다. Azure Monitor에 대한 아웃바운드 호출을 허용합니다.
TCP 및 UDP 컨테이너 앱의 서브넷 * 168.63.129.16 53 환경에서 Azure DNS를 사용하여 호스트 이름을 확인할 수 있도록 합니다.
TCP 컨테이너 앱의 서브넷1 * Your Container Registry 컨테이너 레지스트리의 포트 컨테이너 레지스트리와 통신하는 데 필요합니다. 예를 들어 ACR을 사용하는 경우 대상에 대해 필요 AzureContainerRegistry 하고 AzureActiveDirectory , 프라이빗 엔드포인트를 사용하지 않는 한 포트는 컨테이너 레지스트리의 포트가 됩니다.2
TCP 컨테이너 앱의 서브넷 * Storage.<Region> 443 이미지를 호스트하는 데 사용하는 Azure Container Registry 경우에만 필요합니다.

1 이 주소는 환경을 만들 때 매개 변수로 전달됩니다. 예들 들어 10.0.0.0/21입니다.
2 가상 네트워크에 구성된 NSG와 함께 ACR(Azure Container Registry)을 사용하는 경우 ACR에 프라이빗 엔드포인트를 만들어 Azure Container Apps가 가상 네트워크를 통해 이미지를 끌어올 수 있도록 합니다. 프라이빗 엔드포인트로 구성된 경우 ACR에 대한 NSG 규칙을 추가할 필요가 없습니다.

고려 사항

  • HTTP 서버를 실행 중인 경우 포트 80443을 추가해야 할 수 있습니다.
  • 나가는 NSG 규칙에서 Azure DNS 주소를 168.63.129.16 명시적으로 거부하지 마세요. 그렇지 않으면 Container Apps 환경이 작동할 수 없습니다.