다음을 통해 공유


Azure Container Apps 환경에서 네트워킹

Azure Container Apps는 자체 가상 네트워크를 실행하는 환경의 컨텍스트에서 작동합니다. 환경을 만들 때 컨테이너 앱의 네트워킹 기능을 알리는 몇 가지 주요 고려 사항이 있습니다.

환경 선택

Container Apps에는 두 가지 환경 형식이 있으며 이러한 환경 형식은 같지만 몇 가지 주요 차이점이 있는 네트워킹 특징을 상당 수 공유합니다.

환경 유형 지원 계획 형식 설명
워크로드 프로필 사용량, 전용 UDR(사용자 정의 경로), NAT Gateway를 통한 송신, 컨테이너 앱 환경에서 프라이빗 엔드포인트 만들기를 지원합니다. 필요한 최소 서브넷 크기는 /27입니다.
사용량 과금만 소비 UDR(사용자 정의 경로), NAT Gateway를 통한 송신, 원격 게이트웨이를 통한 피어링 또는 기타 사용자 지정 송신을 지원하지 않습니다. 필요한 최소 서브넷 크기는 /23입니다.

자세한 내용은 환경 유형을 참조하세요.

가상 네트워크 유형

기본적으로 Container Apps는 인터넷을 통해 공개적으로 액세스할 수 있고 인터넷에 액세스할 수 있는 엔드포인트와만 통신할 수 있는 Azure 네트워크와 통합됩니다. 또한 환경을 만들 때 기존 VNet을 제공하는 옵션도 있습니다. 기본 Azure 네트워크 또는 기존 VNet을 사용하여 환경을 만든 후에는 네트워크 유형을 변경할 수 없습니다.

다음과 같은 Azure 네트워킹 기능이 필요한 경우 기존 VNet을 사용합니다.

  • 네트워크 보안 그룹
  • Application Gateway 통합
  • Azure Firewall 통합
  • 컨테이너 앱에서 아웃바운드 트래픽 제어
  • 가상 네트워크의 프라이빗 엔드포인트 뒤에 있는 리소스에 대한 액세스

기존 VNet을 사용하는 경우 배포하는 컨테이너 앱 환경에만 전용으로 제공되는 서브넷을 제공해야 합니다. 이 서브넷은 다른 서비스에서 사용할 수 없습니다. 자세한 내용은 가상 네트워크 구성을 참조하세요.

접근성 수준

컨테이너 앱이 환경에서 공용 인그레스 또는 VNet 내부에서만 인그레스를 허용하도록 구성할 수 있습니다.

접근성 수준 설명
외부 컨테이너 앱이 공개 요청을 수락하도록 허용합니다. 외부 환경은 외부 공용 IP 주소에 가상 IP를 사용하여 배포됩니다.
내부 내부 환경에는 공개 엔드포인트가 없으며 이 환경은 내부 IP 주소에 매핑된 VIP(가상 IP)를 통해 배포됩니다. 내부 엔드포인트는 Azure ILB(내부 부하 분산 장치)이며 IP 주소는 기존 VNet의 개인 IP 주소 목록에서 발급됩니다.

공용 네트워크 액세스

공용 네트워크 액세스 설정은 공용 인터넷에서 컨테이너 앱 환경에 액세스할 수 있는지 여부를 결정합니다. 환경을 만든 후 이 설정을 변경할 수 있는지 여부는 환경의 가상 IP 구성에 따라 달라집니다. 다음 표는 사용자 환경의 가상 IP 구성에 따라 공용 네트워크 액세스에 대한 유효한 값을 보여 줍니다.

가상 IP 지원되는 공용 네트워크 액세스 설명
외부 Enabled, Disabled 컨테이너 앱 환경은 인터넷에 액세스 가능한 엔드포인트로 만들어졌습니다. 공용 네트워크 액세스 설정은 트래픽이 공용 엔드포인트를 통해 수락되는지, 아니면 프라이빗 엔드포인트를 통해서만 수락되는지 결정하며, 환경을 만든 후에 공용 네트워크 액세스 설정을 변경할 수 있습니다.
내부 Disabled 컨테이너 앱 환경은 인터넷에 액세스할 수 있는 엔드포인트 없이 만들어졌습니다. 공용 네트워크 액세스 설정은 인터넷 트래픽을 허용하도록 변경할 수 없습니다.

Azure Container App 환경에서 프라이빗 엔드포인트를 만들려면 공용 네트워크 액세스를 Disabled로 설정해야 합니다.

Azure 네트워킹 정책은 공용 네트워크 액세스 플래그를 통해 지원됩니다.

수신 구성

수신 섹션에서 다음 설정을 구성할 수 있습니다.

  • Ingress: 컨테이너 앱에 대한 Ingress를 활성화하거나 비활성화할 수 있습니다.

  • 수신 트래픽: 어디에서든 Container Apps로의 트래픽을 허용할 수도 있고, 동일한 Container Apps 환경 내에서만 트래픽을 허용하도록 제한할 수도 있습니다.

  • 트래픽 분할 규칙: 애플리케이션의 여러 수정 버전 간에 트래픽 분할 규칙을 정의할 수 있습니다. 자세한 내용은 트래픽 분할을 참조하세요.

다양한 네트워킹 시나리오에 대한 자세한 내용은 Azure Container Apps의 수신을 참조하세요.

인바운드 기능

특징 방법 알아보기
입구

수신 구성
컨테이너 앱에 대한 외부 및 내부 트래픽의 라우팅을 제어합니다.
프리미엄 입장 인그레스 및 유휴 시간 제한에 대한 워크로드 프로필 지원과 같은 고급 설정을 구성합니다.
IP 제한 IP 주소로 컨테이너 앱에 대한 인바운드 트래픽을 제한합니다.
클라이언트 인증서 인증 컨테이너 앱에 대한 클라이언트 인증서 인증(상호 TLS 또는 mTLS라고도 함)을 구성합니다.
트래픽 분할

청록색 배포
들어오는 트래픽을 컨테이너 앱의 활성 수정 버전 간에 분할합니다.
세션 선호도 클라이언트의 모든 요청을 컨테이너 앱의 동일한 복제본으로 라우팅합니다.
CORS(원본 간 리소스 공유) 브라우저를 통해 페이지의 원본과 일치하지 않는 도메인에 대한 요청을 허용하는 컨테이너 앱에 CORS를 사용하도록 설정합니다.
경로 기반 라우팅 각 요청의 경로에 따라 규칙을 사용하여 사용자 환경의 다른 컨테이너 앱으로 요청을 라우팅합니다.
가상 네트워크 컨테이너 앱 환경에 대한 VNet을 구성합니다.
DNS 컨테이너 앱 환경의 VNet에 대한 DNS를 구성합니다.
프라이빗 엔드포인트 프라이빗 엔드포인트를 사용하여 공용 인터넷에 노출하지 않고 Azure Container App에 안전하게 액세스합니다.
Azure Front Door와 통합 공용 인터넷 대신 프라이빗 링크를 사용하여 Azure Front Door에서 Azure Container Apps에 직접 연결합니다.

아웃바운드 기능

특징 방법 알아보기
Azure Firewall 사용 Azure Firewall을 사용하여 컨테이너 앱에서 아웃바운드 트래픽을 제어합니다.
가상 네트워크 컨테이너 앱 환경에 대한 VNet을 구성합니다.
NSG를 사용하여 기존 VNet 보안 NSG(네트워크 보안 그룹)를 사용하여 컨테이너 앱 환경의 VNet을 보호합니다.
NAT 게이트웨이 통합 NAT 게이트웨이를 사용하여 워크로드 프로필 환경에서 가상 네트워크의 아웃바운드 인터넷 연결을 간소화합니다.

자습서

튜토리얼 방법 알아보기
가상 네트워크 사용 가상 네트워크를 사용합니다.
WAF Application Gateway 구성 WAF 애플리케이션 게이트웨이를 구성합니다.
UDR(사용자 정의 경로) 사용 UDR(사용자 정의 경로)을 사용하도록 설정합니다.
mTLS(상호 전송 계층 보안) 사용 Azure Container Apps에서 mTLS 애플리케이션을 빌드합니다.
프라이빗 엔드포인트 사용 프라이빗 엔드포인트를 사용하여 공용 인터넷에 노출하지 않고 Azure Container App에 안전하게 액세스합니다.
Azure Front Door와 통합 공용 인터넷 대신 프라이빗 링크를 사용하여 Azure Front Door에서 Azure Container Apps에 직접 연결합니다.

환경 보안

Container Apps에 대한 네트워크를 완전히 잠그는 방법의 다이어그램.

다음 작업을 수행하여 수신 및 송신 네트워킹 트래픽 워크로드 프로필 환경을 완전히 보호할 수 있습니다.

HTTP 에지 프록시 동작

Azure Container Apps는 TLS(전송 계층 보안)를 종료하고 요청을 각 애플리케이션으로 라우팅하는 에지 HTTP 프록시를 사용합니다.

HTTP 애플리케이션은 HTTP 요청 및 연결 수에 따라 크기가 조정됩니다. Envoy는 클러스터 내에서 내부 트래픽을 라우팅합니다.

다운스트림 연결은 HTTP1.1 및 HTTP2를 지원하며 Envoy는 클라이언트 연결에서 업그레이드를 요구하는 경우 연결을 자동으로 검색하고 업그레이드합니다.

업스트림 연결은 transport 개체에서 속성을 설정하는 방식으로 정의됩니다.

포털 종속성

Azure Container Apps의 모든 앱에는 URL이 두 개 있습니다.

Container Apps 런타임은 처음에 앱에 액세스하는 데 사용되는 FQDN(정규화된 도메인 이름)을 생성합니다. 컨테이너 앱의 FQDN은 Azure Portal에서 컨테이너 앱의 개요 창에 있는 애플리케이션 URL을 참조하세요.

두 번째 URL도 자동으로 생성됩니다. 이 위치는 로그 스트리밍 서비스와 콘솔에 대한 액세스 권한을 부여합니다. 필요한 경우 방화벽 또는 프록시의 허용 목록에 https://azurecontainerapps.dev/를 추가해야 할 수 있습니다.

포트 및 IP 주소

다음 포트는 인바운드 연결을 위해 노출됩니다.

프로토콜 포트
HTTP/HTTPS 80, 443

IP 주소는 다음 유형으로 세분화됩니다.

유형 설명
공용 인바운드 IP 주소 외부 배포의 애플리케이션 트래픽과 내부 및 외부 배포 모두의 관리 트래픽에 사용됩니다.
아웃바운드 공용 IP 가상 네트워크에서 나가는 아웃바운드 연결의 "원본" IP로 사용됩니다. 이러한 연결은 VPN을 통해 라우팅되지 않습니다. 아웃바운드 IP는 시간이 경과함에 따라 변할 수 있습니다. 워크로드 프로필 환경에서는 Container Apps 환경의 아웃바운드 트래픽에 NAT Gateway이나 기타 프록시만 사용할 수 있습니다.
내부 부하 분산 장치 IP 주소 이 주소는 내부 배포에만 존재합니다.

다음 단계