다음을 통해 공유


Azure Container Apps 환경의 가상 네트워크에 대한 프라이빗 엔드포인트 및 DNS

Azure 프라이빗 엔드포인트를 사용하면 개인 네트워크에 있는 클라이언트가 Azure Private Link를 통해 Azure Container Apps 환경에 안전하게 연결할 수 있습니다. 프라이빗 링크 연결을 사용하면 공용 인터넷에 노출될 염려가 없습니다. 프라이빗 엔드포인트는 Azure 가상 네트워크 주소 공간에서 개인 IP 주소를 사용하며 일반적으로 프라이빗 DNS 영역으로 구성됩니다.

프라이빗 엔드포인트는 워크로드 프로필 환경에서 소비 및 전용 계획 모두에 대해 지원됩니다.

결제

프라이빗 엔드포인트에는 추가 요금이 발생합니다. Azure Container Apps에서 프라이빗 엔드포인트를 사용하도록 설정하면 다음 요금이 청구됩니다.

  1. Azure Private Link - Azure Private Link 리소스 자체에 대한 청구입니다.
  2. Azure Container Apps - 별도의 "전용 계획 관리" 요금으로 표시되고 소비 및 전용 요금제 모두에 적용되는 Azure Container Apps 전용 프라이빗 엔드포인트 인프라에 대한 청구입니다.

튜토리얼

고려 사항

  • 프라이빗 엔드포인트를 사용하려면 공용 네트워크 액세스를 사용하지 않도록 설정해야 합니다. 기본적으로 공용 네트워크 액세스는 사용하도록 설정되어 있으며, 이는 프라이빗 엔드포인트가 사용하지 않도록 설정되어 있음을 의미합니다.
  • 사용자 지정 도메인과 Apex 도메인호스트 이름 레코드 종류로 사용하는 프라이빗 엔드포인트를 사용하려면 공용 DNS와 동일한 이름으로 프라이빗 DNS 영역을 구성해야 합니다. 레코드 집합에서 컨테이너 앱 환경의 IP 주소 대신 프라이빗 엔드포인트의 개인 IP 주소를 구성합니다. CNAME을 사용하여 사용자 지정 도메인을 구성하는 경우 설정은 변경되지 않습니다. 자세한 내용은 기존 인증서로 사용자 지정 도메인 설정을 참조하세요.
  • 프라이빗 엔드포인트의 VNet은 컨테이너 앱과 통합된 VNet과 분리될 수 있습니다.
  • 새 워크로드 프로필 환경과 기존 워크로드 프로필 환경 모두에 프라이빗 엔드포인트를 추가할 수 있습니다.

프라이빗 엔드포인트를 통해 컨테이너 앱에 연결하려면 프라이빗 DNS 영역을 구성해야 합니다.

서비스 하위 리소스 프라이빗 DNS 영역 이름
Azure Container Apps(Microsoft.App/ManagedEnvironments) 관리되는 환경 privatelink.{regionName}.azurecontainerapps.io

Application Gateway 대신 Azure Front Door에 대한 프라이빗 연결이 있는 프라이빗 엔드포인트를 사용할 수도 있습니다.

디엔에스 (DNS)

Azure Container Apps 환경의 가상 네트워크에서 DNS를 구성하는 것은 다음과 같은 이유로 중요합니다.

  • DNS를 사용하면 컨테이너 앱이 도메인 이름을 IP 주소로 확인할 수 있습니다. 이를 통해 가상 네트워크 내부 및 외부의 서비스를 검색하고 통신할 수 있습니다. 여기에는 Azure Application Gateway, 네트워크 보안 그룹 및 프라이빗 엔드포인트와 같은 서비스가 포함됩니다.

  • 사용자 지정 DNS 설정은 컨테이너 앱에서 만든 DNS 쿼리를 제어하고 모니터링할 수 있도록 하여 보안을 강화합니다. 이렇게 하면 컨테이너 앱이 신뢰할 수 있는 도메인과만 통신하도록 하여 잠재적인 보안 위협을 식별하고 완화하는 데 도움이 됩니다.

사용자 지정 DNS

VNet에서 기본 Azure 제공 DNS 서버 대신 사용자 지정 DNS 서버를 사용하는 경우 해결되지 않은 DNS 쿼리를 168.63.129.16으로 전달하도록 DNS 서버를 구성합니다. Azure 재귀 확인자는 이 IP 주소를 사용하여 요청을 확인합니다.

NSG(네트워크 보안 그룹) 또는 방화벽을 구성할 때 DNS 요구 사항은 워크로드 프로필 유형 간에 다릅니다.

  • 소비 계획: 트래픽을 AzurePlatformDNS 서비스 태그(168.63.129.16 포함)에 대해 허용해야 합니다. 사용자 지정 DNS 서버가 구성된 경우에도 이 서비스 태그를 차단하면 Container Apps 환경이 제대로 작동하지 않습니다.

  • 전용 워크로드 프로필: 전용 워크로드 프로필이 기본 기능을 위해 Azure 플랫폼 DNS에 액세스할 필요가 없으므로 원하는 경우 서비스 태그를 차단 AzurePlatformDNS 할 수 있습니다.

중요합니다

엄격한 DNS 보안 요구 사항(예: 뱅킹 및 의료)이 있는 조직의 경우 전용 워크로드 프로필은 Azure 플랫폼 DNS 액세스를 요구하지 않고 사용자 지정 DNS 서버를 통해 DNS 트래픽 흐름을 완전히 제어하는 옵션을 제공합니다.

VNet 범위 수신

내부 환경에서 VNet 범위 인그레스를 사용할 계획이라면 다음 방법 중 하나로 도메인을 구성합니다.

  1. 사용자 지정이 아닌 도메인: 사용자 지정 도메인을 사용하지 않으려면 Container Apps 환경의 기본 도메인을 Container Apps 환경의 고정 IP 주소로 확인하는 프라이빗 DNS 영역을 만듭니다. Azure 프라이빗 DNS 또는 자체 DNS 서버를 사용할 수 있습니다. Azure 프라이빗 DNS를 사용하는 경우 <UNIQUE_IDENTIFIER>.<REGION_NAME>.azurecontainerapps.io 레코드를 사용하여 Container Apps 환경의 기본 도메인(A)으로 명명된 프라이빗 DNS 영역을 만듭니다. A 레코드에는 이름 *<DNS Suffix>와 Container Apps 환경의 고정 IP 주소가 포함됩니다. 자세한 내용은 Azure 프라이빗 DNS 영역 만들기 및 구성을 참조하세요.

  2. 사용자 지정 도메인: 사용자 지정 도메인을 사용하려고 하고 기존 Container Apps 환경을 사용하고 있는 경우 공개적으로 확인 가능한 도메인을 사용하여 컨테이너 앱에 사용자 지정 도메인과 인증서를 추가합니다. 내부 Container Apps 환경을 사용하는 경우 가상 네트워크 내에서만 클러스터를 사용할 수 있으므로 DNS 바인딩에 대한 유효성 검사가 없습니다. 또한 Apex 도메인을 Container Apps 환경의 고정 IP 주소로 확인하는 프라이빗 DNS 영역을 만듭니다. Azure 프라이빗 DNS 또는 자체 DNS 서버를 사용할 수 있습니다. Azure 프라이빗 DNS를 사용하는 경우 Container Apps 환경의 고정 IP 주소를 가리키는 A 레코드를 사용하여 Apex 도메인으로 명명된 프라이빗 DNS 영역을 만듭니다.

Azure Portal에 있는 컨테이너 앱 페이지의 사용자 지정 DNS 접미사에서 또는 Azure CLI az containerapp env list 명령을 사용하여 Container Apps 환경의 고정 IP 주소를 사용할 수 있습니다.

다음 단계