Injetar uma instância de Gerenciamento de API do Azure em uma rede virtual privada - camada Premium v2
APLICA-SE A: Premium v2
Este artigo orienta você pelos requisitos para injetar sua instância do Azure API Management Premium v2 (visualização) em uma rede virtual.
Nota
Para injetar uma instância clássica de camada Developer ou Premium em uma rede virtual, os requisitos e a configuração são diferentes. Mais informações.
Quando uma instância do API Management Premium v2 é injetada em uma rede virtual:
- O ponto de extremidade do gateway de Gerenciamento de API é acessível através da rede virtual em um endereço IP privado.
- O Gerenciamento de API pode fazer solicitações de saída para back-ends de API isolados na rede.
Essa configuração é recomendada para cenários em que você deseja isolar o tráfego de rede para a instância de Gerenciamento de API e as APIs de back-end.
Se você quiser habilitar o acesso público de entrada a uma instância de Gerenciamento de API na camada Standard v2 ou Premium v2, mas limitar o acesso de saída a back-ends isolados de rede, consulte Integrar com uma rede virtual para conexões de saída.
Importante
- A injeção de rede virtual descrita neste artigo está disponível apenas para instâncias de Gerenciamento de API na camada Premium v2 (visualização). Para obter opções de rede nas diferentes camadas, consulte Usar uma rede virtual com o Gerenciamento de API do Azure.
- Atualmente, você pode injetar uma instância Premium v2 em uma rede virtual somente quando a instância é criada. Não é possível injetar uma instância Premium v2 existente em uma rede virtual. No entanto, você pode atualizar as configurações de sub-rede para injeção depois que a instância for criada.
- Atualmente, não é possível alternar entre injeção de rede virtual e integração de rede virtual para uma instância Premium v2.
Pré-requisitos
- Uma instância de Gerenciamento de API do Azure na camada de preço Premium v2 .
- Uma rede virtual onde seus aplicativos cliente e suas APIs de back-end de Gerenciamento de API estão hospedados. Consulte as seções a seguir para obter requisitos e recomendações para a rede virtual e a sub-rede usadas para a instância de Gerenciamento de API.
Local da rede
- A rede virtual deve estar na mesma região e assinatura do Azure que a instância de Gerenciamento de API.
Requisitos de sub-rede
- A sub-rede da instância de Gerenciamento de API não pode ser compartilhada com outro recurso do Azure.
Tamanho da sub-rede
- Mínimo: /27 (32 endereços)
- Recomendado: /24 (256 endereços) - para acomodar o dimensionamento da instância de Gerenciamento de API
Grupo de segurança de rede
Um grupo de segurança de rede deve estar associado à sub-rede.
Delegação de sub-rede
A sub-rede precisa ser delegada ao serviço Microsoft.Web/hostingEnvironments .
Nota
Talvez seja necessário registrar o Microsoft.Web/hostingEnvironments
provedor de recursos na assinatura para poder delegar a sub-rede ao serviço.
Para obter mais informações sobre como configurar a delegação de sub-rede, consulte Adicionar ou remover uma delegação de sub-rede.
propriedade addressPrefix
A injeção de rede virtual na camada Premium v2 requer que a addressPrefix
propriedade de sub-rede esteja definida como um bloco CIDR válido.
Se você configurar a sub-rede usando o portal do Azure, a sub-rede definirá uma addressPrefixes
propriedade (plural) que consiste em uma lista de prefixos de endereço. No entanto, o addressPrefix
Gerenciamento de API requer um único bloco CIDR como o valor da propriedade.
Para criar ou atualizar uma sub-rede com addressPrefix
o , use uma ferramenta como o Azure PowerShell, um modelo do Azure Resource Manager ou a API REST. Por exemplo, atualize uma sub-rede usando o cmdlet Set-AzVirtualNetworkSubnetConfig do Azure PowerShell:
# 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
Permissões
Você deve ter pelo menos as seguintes permissões de controle de acesso baseado em função na sub-rede ou em um nível superior para configurar a injeção de rede virtual:
Ação | Descrição |
---|---|
Microsoft.Network/virtualNetworks/ler | Leia a definição de rede virtual |
Microsoft.Network/virtualNetworks/sub-redes/leitura | Ler uma definição de sub-rede de rede virtual |
Microsoft.Network/virtualNetworks/subnets/join/action | Junta-se a uma rede virtual |
Injetar gerenciamento de API em uma rede virtual
Ao criar uma instância Premium v2 usando o portal do Azure, você pode, opcionalmente, definir configurações para injeção de rede virtual.
- No assistente Criar serviço de Gerenciamento de API, selecione a guia Rede.
- Em Tipo de conectividade, selecione Rede virtual.
- Em Tipo, selecione Injeção de rede virtual.
- Em Configurar redes virtuais, selecione a rede virtual e a sub-rede delegada que você deseja injetar.
- Conclua o assistente para criar a instância de Gerenciamento de API.
Configurações de DNS para acesso ao endereço IP privado
Quando uma instância de Gerenciamento de API Premium v2 é injetada em uma rede virtual, você precisa gerenciar seu próprio DNS para habilitar o acesso de entrada ao Gerenciamento de API.
Embora você tenha a opção de usar seu próprio servidor DNS personalizado, recomendamos:
- Configure uma zona privada do DNS do Azure.
- Vincule a zona privada do DNS do Azure à rede virtual.
Saiba como configurar uma zona privada no DNS do Azure.
Acesso ao ponto de extremidade no nome de host padrão
Quando você cria uma instância de Gerenciamento de API na camada Premium v2, o seguinte ponto de extremidade recebe um nome de host padrão:
- Gateway - exemplo:
contoso-apim.azure-api.net
Configurar registro DNS
Crie um registro A em seu servidor DNS para acessar a instância de Gerenciamento de API de dentro de sua rede virtual. Mapeie o registro do ponto de extremidade para o endereço VIP privado da sua instância de Gerenciamento de API.
Para fins de teste, você pode atualizar o arquivo hosts em uma máquina virtual em uma sub-rede conectada à rede virtual na qual o Gerenciamento de API está implantado. Supondo que o endereço IP virtual privado para sua instância de Gerenciamento de API seja 10.1.0.5, você pode mapear o arquivo hosts conforme mostrado no exemplo a seguir. O arquivo de mapeamento de hosts está em %SystemDrive%\drivers\etc\hosts
(Windows) ou /etc/hosts
(Linux, macOS). Por exemplo:
Endereço IP virtual interno | Nome do host do gateway |
---|---|
10.1.0.5 | contoso-apim.portal.azure-api.net |