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 Gerenciamento de API do Azure Premium v2 (versão prévia) em uma rede virtual.
Observação
Para injetar uma instância de camada Premium ou Desenvolvedor clássica em uma rede virtual, os requisitos e a configuração são diferentes. Saiba mais.
Quando uma instância do Gerenciamento de API Premium v2 é injetada em uma rede virtual:
- O ponto de extremidade do gateway de Gerenciamento de API é acessível por meio 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 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 pela 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 (versão prévia). 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. Você não pode 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 é criada.
- Atualmente, você não pode alternar entre a injeção de rede virtual e a integração de rede virtual para uma instância Premium v2.
Pré-requisitos
- Uma instância do Gerenciamento de API do Azure no tipo de preço Premium v2.
- Uma rede virtual em que seus aplicativos cliente e suas APIs de back-end do 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 do 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 ser associado à sub-rede.
Delegação de sub-rede
A sub-rede precisa ser delegada ao serviço Microsoft.Web/hostingEnvironments.
Observação
Talvez seja necessário registrar o provedor de recursos Microsoft.Web/hostingEnvironments
na assinatura para que você possa 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 no nível Premium v2 requer que a addressPrefix
propriedade de sub-rede seja configurada como um bloco CIDR válido.
Se você configurar a sub-rede usando o portal do Azure, a sub-rede definirá uma propriedade addressPrefixes
(plural) que consiste em uma lista de prefixos de endereço. No entanto, o Gerenciamento de API requer um único bloco CIDR como valor da propriedade addressPrefix
.
Para criar ou atualizar uma sub-rede com addressPrefix
, 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 do Azure PowerShell Set-AzVirtualNetworkSubnetConfig:
# 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/read | Ler a definição de rede virtual |
Microsoft.Network/virtualNetworks/subnets/read | Ler uma definição de sub-rede de rede virtual |
Microsoft.Network/virtualNetworks/subnets/join/action | Ingressar em uma rede virtual |
Injetar o Gerenciamento de API em uma rede virtual
Ao criar uma instância Premium v2 usando o portal do Azure, opcionalmente, você pode definir configurações para injeção de rede virtual.
- No assistente Criar serviço de Gerenciamento de API, selecione a guia de Rede.
- No tipo 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:
- Configurar uma zona privada 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 do 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 no servidor DNS para acessar a instância de Gerenciamento de API de dentro de sua rede virtual. Mapeie o registro de ponto de extremidade para o endereço VIP privado da instância de Gerenciamento de API.
Para fins de teste, você pode atualizar o arquivo de hosts em uma máquina virtual em uma sub-rede conectada à rede virtual na qual o Gerenciamento de API é 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 de 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 |