Azure Container Apps 네트워킹 - 랜딩 존 가속기
Container Apps는 Container Apps 환경이라고 하는 환경에서 OS 업데이트, 크기 조정, 장애 조치(failover) 프로세스 및 리소스 할당을 담당합니다. 환경은 VNet(가상 네트워크)을 통해 보안 경계를 만들어 하나 이상의 컨테이너 앱 또는 작업을 캡슐화합니다.
기본적으로 컨테이너 앱 환경에 대해 VNet이 자동으로 만들어집니다. 그러나 네트워크를 보다 자세히 제어하려면 컨테이너 앱 환경을 만들 때 기존 VNet을 사용할 수 있습니다.
환경은 외부 요청을 수락하거나 내부 요청으로만 잠글 수 있습니다.
외부 환경은 공용 인터넷을 통해 액세스할 수 있는 가상 IP 주소를 사용하여 컨테이너 앱을 노출합니다. 또는 내부 환경은 가상 네트워크 내의 IP 주소에 컨테이너 앱을 노출합니다. 컨테이너 앱 환경 내에서 또는 가상 네트워크를 통해 트래픽을 제한할 수 있습니다. 자세한 내용은 Azure Container Apps 랜딩 존 가속기 보안 고려 사항을 참조 하세요.
고려 사항
서브넷 요구 사항:
- 가상 네트워크의 환경에는 전용 서브넷이 필요합니다. 서브넷의 CIDR은 사용량 전용 환경
/27
의 경우 더 크거나 크거나 워크로드 프로필 환경의 경우 더 커야 합니다/23
.
- 가상 네트워크의 환경에는 전용 서브넷이 필요합니다. 서브넷의 CIDR은 사용량 전용 환경
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 포트를 통해 애플리케이션을 노출합니다.