다음을 통해 공유


Azure Container Apps 네트워킹 - 랜딩 존 가속기

Container Apps는 Container Apps 환경이라고 하는 환경에서 OS 업데이트, 크기 조정, 장애 조치(failover) 프로세스 및 리소스 할당을 담당합니다. 환경은 VNet(가상 네트워크)을 통해 보안 경계를 만들어 하나 이상의 컨테이너 앱 또는 작업을 캡슐화합니다.

기본적으로 컨테이너 앱 환경에 대해 VNet이 자동으로 만들어집니다. 그러나 네트워크를 보다 자세히 제어하려면 컨테이너 앱 환경을 만들 때 기존 VNet을 사용할 수 있습니다.

환경은 외부 요청을 수락하거나 내부 요청으로만 잠글 수 있습니다.

외부 환경은 공용 인터넷을 통해 액세스할 수 있는 가상 IP 주소를 사용하여 컨테이너 앱을 노출합니다. 또는 내부 환경은 가상 네트워크 내의 IP 주소에 컨테이너 앱을 노출합니다. 컨테이너 앱 환경 내에서 또는 가상 네트워크를 통해 트래픽을 제한할 수 있습니다. 자세한 내용은 Azure Container Apps 랜딩 존 가속기 보안 고려 사항을 참조 하세요.

고려 사항

  • 서브넷 요구 사항:

    • 가상 네트워크의 환경에는 전용 서브넷이 필요합니다. 서브넷의 CIDR은 사용량 전용 환경 /27 의 경우 더 크거나 크거나 워크로드 프로필 환경의 경우 더 커야 합니다/23.
  • IP 주소 관리:

    • 60 IP의 기준은 VNet에 예약되어 있습니다. 각 앱 수정 버전이 서브넷에서 IP 주소를 가져오면 컨테이너 환경이 확장됨에 따라 이 크기가 증가할 수 있습니다. 아웃바운드 IP는 시간이 지남에 따라 변경될 수 있습니다.

    • IPv4 주소만 지원됩니다(IPv6은 지원되지 않음).

    • 관리되는 공용 IP 리소스는 외부 또는 내부 환경이 있는지 여부에 관계없이 아웃바운드 요청 및 관리 트래픽을 처리합니다.

  • 네트워크 보안:

    • 환경에 대한 모든 인바운드 및 아웃바운드 트래픽을 제어하는 기본 NSG 규칙보다 더 제한적인 규칙으로 NSG(네트워크 보안 그룹)를 통해 네트워크를 잠글 수 있습니다.
  • 프록시 및 암호화:

    • Container Apps는 Envoy 프록시를 에지 HTTP 프록시로 사용합니다. 모든 HTTP 요청은 HTTP로 자동으로 리디렉션됩니다. Envoy는 경계를 넘은 후 TLS(전송 계층 보안)를 종료합니다. mTLS(상호 전송 계층 보안)는 Dapr을 사용하는 경우에만 사용할 수 있습니다. 그러나 Envoy가 mTLS를 종료하기 때문에 Envoy에서 Dapr 지원 컨테이너 앱으로의 인바운드 호출은 암호화되지 않습니다.
  • DNS 고려 사항:

    • 환경이 배포되면 Container Apps는 많은 DNS 조회를 수행합니다. 이러한 조회 중 일부는 내부 Azure do기본를 참조합니다. 사용자 지정 DNS 솔루션을 통해 DNS 트래픽을 강제로 적용하는 경우 해결되지 않은 DNS 쿼리를 Azure DNS로 전달하도록 DNS 서버를 구성합니다.

    • Container Apps에서 내부적으로 실행되는 애플리케이션의 경우 시스템은 Azure 프라이빗 DNS 영역을 사용하여 DNS 이름을 내부 IP 주소로 확인합니다. 프라이빗 DNS 영역 내에서 와일드카드(*) A 레코드를 내부 부하 분산 장치 IP 주소를 가리킬 수 있습니다.

  • 아웃바운드 트래픽 관리:

    • 아웃바운드 네트워크 트래픽(송신)은 Azure Firewall 또는 네트워크 가상 어플라이언스 클러스터를 통해 라우팅되어야 합니다.
  • 환경 간 부하 분산:

    • 복원력 또는 근접성을 위해 여러 Container Apps 환경에서 애플리케이션을 실행하려면 Azure Traffic Manager 또는 Azure Front Door와 같은 글로벌 부하 분산 서비스를 사용하는 것이 좋습니다.
  • 네트워크 보안:

    • NSG(네트워크 보안 그룹)를 사용하여 네트워크를 보호하고 불필요한 인바운드 및 아웃바운드 트래픽을 차단합니다.

    • Azure Container Apps 환경에 Azure DDoS Protection을 사용합니다.

    • 프라이빗 링크를 사용하여 다른 관리형 Azure 서비스에 대한 보안 네트워크 연결 및 개인 IP 기반 연결을 사용할 수 있습니다.

    • 솔루션의 모든 엔드포인트(내부 및 외부)가 TLS 암호화 연결(HTTPS)만 허용하는지 확인합니다.

    • 인터넷 연결 및 보안에 중요한 내부 연결 웹 애플리케이션에 HTTPS/TCP 수신과 함께 웹 애플리케이션 방화벽을 사용합니다.

    • 일부 시나리오에서는 Container Apps 웹 애플리케이션을 인터넷에 직접 노출하고 타사 CDN/WAF 서비스로 보호할 수 있습니다.

권장 사항

  • 네트워크 구성: 사용자 지정 가상 네트워크에 컨테이너 앱을 배포하여 네트워크 구성을 보다 자세히 제어할 수 있습니다.

  • 보안 인바운드 연결: 인터넷 연결 서비스를 게시할 때 Azure 애플리케이션 게이트웨이(WAF_v2 SKU) 또는 Azure Front Door(웹 애플리케이션 방화벽 포함)를 사용하여 인바운드 연결을 보호합니다.

  • 내부 트래픽 관리: Azure 애플리케이션 Gateway 또는 Azure Front Door와 같은 서비스에 내부 네트워크 구성을 사용하여 부하 분산 장치에서 Azure Container Apps 환경으로의 트래픽이 내부 연결을 사용하도록 합니다.

  • 애플리케이션 노출: 수신을 사용하여 HTTP 또는 TCP 포트를 통해 애플리케이션을 노출합니다.

참조