Azure API Management에서 가상 네트워크 사용

API Management는 Azure 가상 네트워크를 사용하여 API Management 인스턴스 및 API에 대한 액세스를 보호하는 몇 가지 옵션을 제공합니다. API Management는 함께 사용할 수 없는 다음 옵션을 지원합니다.

  • API Management 인스턴스를 가상 네트워크에 통합(삽입)하여 게이트웨이가 네트워크의 리소스에 액세스할 수 있도록 합니다.

    외부 또는 내부의 두 통합 모드 중 하나를 선택할 수 있습니다. 게이트웨이 및 기타 API Management 엔드포인트에 대한 인바운드 연결이 인터넷에서 허용되는지 아니면 가상 네트워크 내에서만 허용되는지에 따라 다릅니다.

  • 프라이빗 엔드포인트(미리 보기)를 사용하여 API Management 게이트웨이에 대한 보안 및 프라이빗 연결을 사용하도록 설정합니다.

다음 표에서는 가상 네트워킹 옵션을 비교해서 보여 줍니다. 자세한 내용은 이 문서의 이후 섹션 및 자세한 지침에 대한 링크를 참조하세요.

네트워킹 모델 지원되는 계층 지원되는 구성 요소 지원되는 트래픽 사용 시나리오
가상 네트워크 - 외부 개발자, 프리미엄 Azure Portal, 게이트웨이, 관리 평면 및 Git 리포지토리 인터넷, 피어된 가상 네트워크, Express Route 및 S2S VPN 연결에 대한 인바운드 및 아웃바운드 트래픽이 허용될 수 있습니다. 프라이빗 및 온-프레미스 백 엔드에 대한 외부 액세스
가상 네트워크 - 내부 개발자, 프리미엄 개발자 포털, 게이트웨이, 관리 평면 및 Git 리포지토리 피어된 가상 네트워크, Express Route 및 S2S VPN 연결에 대한 인바운드 및 아웃바운드 트래픽이 허용될 수 있습니다. 프라이빗 및 온-프레미스 백 엔드에 대한 내부 액세스
프라이빗 엔드포인트(미리 보기) 개발자, 기본, 표준 및 프리미엄 게이트웨이만(관리형 게이트웨이 지원됨, 자체 호스팅 게이트웨이는 지원되지 않음) 인터넷, 피어된 가상 네트워크, Express Route 및 S2S VPN 연결의 인바운드 트래픽만 허용될 수 있습니다. API Management 게이트웨이에 대한 보안 클라이언트 연결

가상 네트워크 통합

Azure VNet(가상 네트워크)을 사용하면 액세스를 제어하는 인터넷 라우팅이 불가능한 네트워크에 API Management 인스턴스를 배치(“삽입”)할 수 있습니다. 가상 네트워크에서 API Management 인스턴스는 다른 네트워크로 연결된 Azure 리소스에 안전하게 액세스하고 다양한 VPN 기술을 사용하여 온-프레미스 네트워크에 연결할 수도 있습니다. Azure VNet에 대해 자세히 알아보려면 Azure Virtual Network 개요의 내용부터 참조하세요.

구성을 위해 Azure Portal, Azure CLI, Azure Resource Manager 템플릿 또는 기타 도구를 사용할 수 있습니다. 네트워크 보안 그룹을 사용하여 API Management가 배포된 서브넷에 대한 인바운드 및 아웃바운드 트래픽을 제어합니다.

자세한 배포 단계와 네트워크 구성은 다음을 참조하세요.

액세스 옵션

가상 네트워크를 사용하여 인터넷(외부 모드)에서 또는 VNet(내부 모드) 내에서만 개발자 포털, API 게이트웨이 및 기타 API Management 엔드포인트에 액세스할 수 있도록 구성할 수 있습니다.

  • 외부 - 외부 부하 분산 장치를 통해 퍼블릭 인터넷에서 API Management 게이트웨이에 액세스할 수 있습니다. 게이트웨이에서 VNet 내의 리소스에 액세스할 수 있습니다.

    Diagram showing a connection to external VNet.

    외부 모드에서 API Management를 사용하여 가상 네트워크에 배포된 백 엔드 서비스에 액세스합니다.

  • 내부 - 내부 부하 분산 장치를 통해 VNet 내에서만 API Management 게이트웨이에 액세스할 수 있습니다. 게이트웨이에서 VNet 내의 리소스에 액세스할 수 있습니다.

    Diagram showing a connection to internal VNet.

    내부 모드에서 API Management를 사용하여 다음을 수행합니다.

    • Azure VPN 연결 또는 Azure ExpressRoute를 사용하여 타사에서 프라이빗 데이터 센터에 호스트된 API에 안전하게 액세스할 수 있게 합니다.
    • 공통 게이트웨이를 통해 클라우드 기반 API와 온-프레미스 API를 공개함으로써 하이브리드 클라우드 시나리오를 사용하도록 설정합니다.
    • 단일 게이트웨이 엔드포인트를 사용하여 여러 지리적 위치에서 호스팅되는 API를 관리합니다.

네트워크 리소스 요구 사항

다음은 API Management의 가상 네트워크 리소스 요구 사항입니다. 일부 요구 사항은 API Management 인스턴스를 호스트하는 컴퓨팅 플랫폼의 버전(stv2 또는 stv1)에 따라 다릅니다.

  • Azure Resource Manager 가상 네트워크가 필요합니다.
  • 가상 네트워크와 서브넷을 지정하는 것 외에도 표준 SKU 공용 IPv4 주소를 제공해야 합니다.
  • API Management 인스턴스에 연결하는 데 사용되는 서브넷에는 다른 Azure 리소스 종류가 포함될 수 있습니다.
  • 위의 서브넷에 연결된 네트워크 보안 그룹. API Management에서 내부적으로 사용하는 부하 분산 장치는 기본적으로 안전하고 모든 인바운드 트래픽을 거부하기 때문에 인바운드 연결을 명시적으로 허용하려면 NSG(네트워크 보안 그룹)가 필요합니다.
  • API Management 서비스, 가상 네트워크 및 서브넷과 공용 IP 주소 리소스는 동일한 지역과 구독에 있어야 합니다.
  • 다중 지역 API Management 배포의 경우 각 위치에 대해 개별적으로 가상 네트워크 리소스를 구성합니다.

서브넷 크기

API Management가 배포될 수 있는 서브넷의 최소 크기는 /29이며 유용한 3개의 IP 주소를 제공합니다. API Management의 추가 배율 단위마다 두 개의 IP 주소가 더 필요합니다. 최소 크기 요구 사항은 다음 고려 사항을 기반으로 합니다.

  • Azure는 사용할 수 없는 각 서브넷 내의 일부 IP 주소를 예약합니다. 서브넷의 첫 번째 및 마지막 IP 주소는 프로토콜 적합성을 위해 예약되어 있습니다. Azure 서비스에는 세 개의 주소가 더 사용됩니다. 자세한 내용은 이러한 서브넷 내에서 IP 주소를 사용하는데 제한 사항이 있습니까?를 참조하세요.

  • Azure VNet 인프라에 사용되는 IP 주소 외에도, 서브넷의 각 API Management 인스턴스는 다음을 사용합니다.

    • 프리미엄 SKU 단위당 두 개의 IP 주소
    • 개발자 SKU에 대해 하나의 IP 주소
  • 내부 VNet에 배포하는 경우 인스턴스에는 내부 부하 분산에 대한 추가 IP 주소가 필요합니다.

라우팅

외부 VNet 또는 내부 VNet에 API Management 인스턴스를 배포하는 경우 라우팅 참고 자료를 참조하세요.

API Management의 IP 주소에 대해 자세히 알아봅니다.

DNS

  • 외부 모드에서 VNet은 API Management 엔드포인트와 기타 Azure 리소스에 대해 기본적으로 Azure에서 제공하는 이름 확인을 사용하도록 설정합니다. 온-프레미스 리소스에 대한 이름 확인을 제공하지 않습니다. 필요에 따라 고유한 DNS 솔루션을 구성합니다.

  • 내부 모드에서 API Management 엔드포인트와 기타 필요한 Azure 리소스에 대한 이름 확인을 보장하려면 고유한 DNS 솔루션을 제공해야 합니다. Azure 프라이빗 DNS 영역을 구성하는 것이 좋습니다.

자세한 내용은 외부 VNet 또는 내부 VNet에 API Management 인스턴스를 배포하는 경우 DNS 참고 자료를 참조하세요.

관련 정보:

중요

VNet에 사용자 지정 DNS 솔루션을 사용하려는 경우에는 API Management 서비스를 배포하기 전에 설정합니다. 그렇지 않으면 네트워크 구성 작업 적용을 실행하거나 Azure Portal의 서비스 인스턴스의 네트워크 구성 창에서 네트워크 구성 적용을 선택하여 DNS 서버를 변경할 때마다 API Management 서비스를 업데이트해야 합니다.

제한 사항

일부 가상 네트워크 제한 사항은 API Management 인스턴스를 호스트하는 컴퓨팅 플랫폼의 버전(stv2 또는 stv1)에 따라 다릅니다.

  • API Management 인스턴스가 포함된 서브넷은 구독 간에 이동할 수 없습니다.
  • 내부 VNET 모드에서 구성된 다중 지역 API Management 배포의 경우 사용자가 라우팅을 소유하며, 여러 지역 사이에서 부하 분산을 관리할 책임이 있습니다.
  • OpenAPI 사양에서 API Management로 API를 가져오려면 사양 URL이 공개적으로 액세스할 수 있는 인터넷 주소에서 호스트되어야 합니다.

프라이빗 엔드포인트

API Management는 프라이빗 엔드포인트를 지원합니다. 프라이빗 엔드포인트를 사용하면 가상 네트워크 및 Azure Private Link의 개인 IP 주소를 사용하여 API Management 인스턴스에 대한 클라이언트 연결을 보호할 수 있습니다.

Diagram showing a secure connection to API Management using private endpoint.

프라이빗 엔드포인트 및 Private Link를 사용하면 다음을 수행할 수 있습니다.

  • API Management 인스턴스에 대한 여러 Private Link 연결을 만듭니다.
  • 프라이빗 엔드포인트를 사용하여 보안 연결에서 인바운드 트래픽을 보냅니다.
  • 정책을 사용하여 프라이빗 엔드포인트에서 제공하는 트래픽을 구분합니다.
  • 들어오는 트래픽을 프라이빗 엔드포인트로만 제한하여 데이터 반출을 방지합니다.

중요

  • 프라이빗 엔드포인트에 대한 API Management 지원은 현재 미리 보기에 있습니다.
  • 미리 보기 기간 동안 프라이빗 엔드포인트 연결은 API Management 관리형 게이트웨이로 들어오는 트래픽만 지원합니다.

자세한 내용은 프라이빗 엔드포인트를 사용하여 API Management에 비공개로 연결을 참조하세요.

고급 네트워킹 구성

웹 애플리케이션 방화벽을 사용하는 보안 API Management 엔드포인트

API Management 인스턴스에 대한 보안 외부 및 내부 액세스와 프라이빗 및 온-프레미스 백 엔드에 대한 유연성이 모두 필요한 시나리오가 있을 수 있습니다. 이러한 시나리오에서는 WAF(웹 애플리케이션 방화벽)를 사용하여 API Management 인스턴스의 엔드포인트에 대한 외부 액세스를 관리하도록 선택할 수 있습니다.

한 가지 예는 내부 가상 네트워크에 API Management 인스턴스를 배포하고 인터넷 연결 Azure Application Gateway를 사용하여 퍼블릭 액세스를 라우팅하는 것입니다.

Diagram showing Application Gateway in front of API Management instance.

자세한 내용은 내부 가상 네트워크의 API Management를 Application Gateway와 통합을 참조하세요.

다음 단계

다음에 대해 자세히 알아봅니다.

API Management가 있는 가상 네트워크 구성:

관련 문서: