다음을 통해 공유


프라이빗 가상 네트워크에 Azure API Management 인스턴스 삽입 - 프리미엄 v2 계층

적용 대상: 프리미엄 v2

이 문서에서는 가상 네트워크에 Azure API Management Premium v2(미리 보기) 인스턴스를 삽입하기 위한 요구 사항을 안내합니다.

참고 항목

클래식 개발자 또는 프리미엄 계층 인스턴스를 가상 네트워크에 삽입하기 위해 요구 사항과 구성은 다릅니다. 자세히 알아보기.

API Management Premium v2 인스턴스가 가상 네트워크에 삽입되는 경우:

  • API Management 게이트웨이 엔드포인트는 개인 IP 주소의 가상 네트워크를 통해 액세스할 수 있습니다.
  • API Management는 네트워크에서 격리된 API 백 엔드에 아웃바운드 요청을 수행할 수 있습니다.

이 구성은 API Management 인스턴스와 백 엔드 API 모두에 대한 네트워크 트래픽을 격리하려는 시나리오에 권장됩니다.

인바운드 및 아웃바운드 트래픽을 격리하기 위해 가상 네트워크에 API Management 인스턴스를 삽입하는 다이어그램

표준 v2 또는 프리미엄 v2 계층에서 API Management 인스턴스에 대한 공용 인바운드 액세스를 사용하도록 설정하지만 네트워크 격리 백 엔드에 대한 아웃바운드 액세스를 제한하려면 아웃바운드 연결을 위해 가상 네트워크와 통합을 참조하세요.

Important

  • 이 문서에 설명된 가상 네트워크 주입은 프리미엄 v2 계층(미리 보기)의 API Management 인스턴스에만 사용할 수 있습니다. 다른 계층의 네트워킹 옵션은 Azure API Management에서 가상 네트워크 사용을 참조하세요.
  • 현재는 인스턴스를 만들 때만 프리미엄 v2 인스턴스를 가상 네트워크에 삽입할 수 있습니다. 기존 Premium v2 인스턴스를 가상 네트워크에 삽입할 수 없습니다. 그러나 인스턴스를 만든 후 삽입에 대한 서브넷 설정을 업데이트할 수 있습니다.
  • 현재 프리미엄 v2 인스턴스에 대한 가상 네트워크 삽입과 가상 네트워크 통합 간에 전환할 수 없습니다.

필수 조건

  • Premium v2 가격 책정 계층의 Azure API Management 인스턴스입니다.
  • 클라이언트 앱과 API Management 백 엔드 API가 호스트되는 가상 네트워크입니다. API Management 인스턴스에 사용되는 가상 네트워크 및 서브넷에 대한 요구 사항 및 권장 사항은 다음 섹션을 참조하세요.

네트워크 위치

  • 가상 네트워크는 API Management 인스턴스와 동일한 지역 및 Azure 구독에 있어야 합니다.

서브넷 요구 사항

  • API Management 인스턴스의 서브넷은 다른 Azure 리소스와 공유할 수 없습니다.

서브넷 크기

  • 최소: /27(32개 주소)
  • 권장: /24(256개 주소) - API Management 인스턴스의 크기 조정을 수용

네트워크 보안 그룹

네트워크 보안 그룹은 서브넷과 연결되어야 합니다.

서브넷 위임

서브넷은 Microsoft.Web/hostingEnvironments 서비스에 위임 되어야 합니다 .

포털에서 Microsoft.Web/hostingEnvironments에 대한 서브넷 위임을 보여 주는 스크린샷.

참고 항목

서브넷을 서비스에 위임할 수 있도록 구독에 Microsoft.Web/hostingEnvironments 리소스 공급자를 등록해야 할 수 있습니다.

서브넷 위임 구성에 대한 자세한 내용은 서브넷 위임 추가 또는 제거를 참조하세요.

addressPrefix 속성

프리미엄 v2 계층에서 가상 네트워크를 주입하려면 서브넷 속성이 유효한 CIDR 블록으로 설정되어야 합니다 addressPrefix .

Azure Portal을 사용하여 서브넷을 구성하는 경우 서브넷은 주소 접두사 목록으로 구성된 (복수) 속성을 설정합니다 addressPrefixes . 그러나 API Management에는 속성 값으로 단일 CIDR 블록이 addressPrefix 필요합니다.

서브넷 addressPrefix을 만들거나 업데이트하려면 Azure PowerShell, Azure Resource Manager 템플릿 또는 REST API와 같은 도구를 사용합니다. 예를 들어 Set-AzVirtualNetworkSubnetConfig Azure PowerShell cmdlet을 사용하여 서브넷을 업데이트합니다.

# Set values for the variables that are appropriate for your environment.

$resourceGroupName = "MyResourceGroup"
$virtualNetworkName = "MyVirtualNetwork"
$subnetName = "ApimSubnet"
$addressPrefix = "10.0.3.0/24"


$virtualNetwork = Get-AzVirtualNetwork -Name $virtualNetworkName -ResourceGroupName $resourceGroupName

Set-AzVirtualNetworkSubnetConfig -Name $subnetName -VirtualNetwork $virtualNetwork -AddressPrefix $addressPrefix

$virtualNetwork | Set-AzVirtualNetwork

사용 권한

가상 네트워크 삽입을 구성하려면 서브넷 또는 더 높은 수준에서 다음 역할 기반 액세스 제어 권한이 있어야 합니다.

작업 설명
Microsoft.Network/virtualNetworks/read 가상 네트워크 정의를 읽습니다.
Microsoft.Network/virtualNetworks/subnets/read 가상 네트워크 서브넷 정의를 읽습니다.
Microsoft.Network/virtualNetworks/subnets/join/action 가상 네트워크를 연결합니다.

가상 네트워크에 API Management 삽입

Azure Portal을 사용하여 프리미엄 v2 인스턴스를 만들 때 필요에 따라 가상 네트워크 주입에 대한 설정을 구성할 수 있습니다.

  1. API Management 서비스 만들기 마법사에서 네트워킹 탭을 선택합니다.
  2. 연결 유형에서 가상 네트워크를 선택합니다.
  3. 형식에서 Virtual Network 삽입을 선택합니다.
  4. 가상 네트워크 구성에서 삽입할 가상 네트워크 및 위임된 서브넷을 선택합니다.
  5. 마법사를 완료하여 API Management 인스턴스를 만듭니다.

개인 IP 주소에 액세스하기 위한 DNS 설정

프리미엄 v2 API Management 인스턴스가 가상 네트워크에 삽입되면 자체 DNS를 관리하여 API Management에 대한 인바운드 액세스를 사용하도록 설정해야 합니다.

사용자 고유의 사용자 지정 DNS 서버를 사용할 수 있는 옵션이 있지만 다음을 수행하는 것이 좋습니다.

  1. Azure DNS 프라이빗 영역을 구성합니다.
  2. Azure DNS 프라이빗 영역을 가상 네트워크에 연결합니다.

Azure DNS에서 프라이빗 영역을 설정하는 방법을 알아봅니다.

기본 호스트 이름의 엔드포인트 액세스

Premium v2 계층에서 API Management 인스턴스를 만들면 다음 엔드포인트에 기본 호스트 이름이 할당됩니다.

  • 게이트웨이 - 예: contoso-apim.azure-api.net

DNS 레코드 구성

DNS 서버에 A 레코드를 만들어 가상 네트워크 내에서 API Management 인스턴스에 액세스합니다. 엔드포인트 레코드를 API Management 인스턴스의 개인 VIP 주소에 매핑합니다.

테스트를 위해 API Management가 배포된 가상 네트워크에 연결된 서브넷의 가상 머신에서 호스트 파일을 업데이트할 수 있습니다. API Management 인스턴스의 개인 가상 IP 주소가 10.1.0.5라고 가정하면 다음 예제와 같이 호스트 파일을 매핑할 수 있습니다. 호스트 매핑 파일은 %SystemDrive%\drivers\etc\hosts(Windows) 또는 /etc/hosts(Linux, macOS)에 있습니다. 예시:

내부 가상 IP 주소 게이트웨이 호스트 이름
10.1.0.5 contoso-apim.portal.azure-api.net