Endereços IP do Gerenciamento de API do Azure

APLICA-SE A: todas as camadas do Gerenciamento de API

Neste artigo, descreveremos como recuperar endereços IP do serviço de Gerenciamento de API do Azure. Caso o serviço esteja em uma rede virtual, os endereços IP poderão ser públicos ou privados. É possível usar endereços IP para criar regras de firewall, filtrar o tráfego de entrada nos serviços de back-end ou restringir o tráfego de saída.

Endereços IP do serviço de Gerenciamento de API

Cada instância de serviço do Gerenciamento de API na camada Desenvolvedor, Básica, Standard ou Premium tem endereços IP públicos, que são exclusivos somente para essa instância de serviço (eles não são compartilhados com outros recursos).

É possível recuperar os endereços IP no painel de visão geral do seu recurso no portal do Azure.

Endereço IP do Gerenciamento de API

Também é possível obtê-los de modo programático usando a seguinte chamada à API:

GET https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>?api-version=<api-version>

Os endereços IP públicos farão parte desta resposta:

{
  ...
  "properties": {
    ...
    "publicIPAddresses": [
      "13.77.143.53"
    ],
    ...
  }
  ...
}

Em implantações multirregionais, cada implantação regional terá um endereço IP público.

Endereços IP do serviço de Gerenciamento de API na VNet

Caso o serviço de Gerenciamento de API esteja dentro de uma rede virtual, ele terá dois tipos de endereços IP: público e privado.

  • Os endereços IP públicos são usados para estabelecer uma comunicação interna na porta 3443 a fim de gerenciar a configuração (por exemplo, por meio do Azure Resource Manager). Na configuração de VNet externa, elas também são usadas para tráfego de API de runtime. Na configuração de VNet interna, os endereços IP públicos são usados apenas para operações de gerenciamento interno do Azure e não expõem sua instância à Internet.

  • Os endereços IP virtuais (VIP) privados, disponíveis somente no modo VNet interna, são usados para se conectar de dentro da rede a pontos de extremidade de Gerenciamento de API e gateways, bem como ao portal do desenvolvedor e ao plano de gerenciamento para obter um acesso direto à API. É possível usá-los para configurar registros DNS na rede.

Será possível conferir os endereços de ambos os tipos no portal do Azure e na resposta da chamada à API:

Executar o Gerenciamento de API no endereço IP da VNet

GET https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>?api-version=<api-version>

{
  ...
  "properties": {
    ...
    "publicIPAddresses": [
      "13.85.20.170"
    ],
    "privateIPAddresses": [
      "192.168.1.5"
    ],
    ...
  },
  ...
}

Importante

Os endereços de IP privados do balanceador de carga interno e das unidades de Gerenciamento de API são atribuídos dinamicamente. Portanto, é impossível prever o IP privado da instância de Gerenciamento de API antes da sua implantação. Além disso, alterar para uma sub-rede diferente e retornar pode causar uma alteração no endereço de IP privado.

Endereços IP para tráfego de saída

O Gerenciamento de API usa um endereço de IP público em uma conexão fora da VNet ou de uma VNet emparelhada e usa um endereço de IP privado em uma conexão na VNet ou em uma VNet emparelhada.

  • Quando o Gerenciamento de API é implantado em uma rede virtual interna ou externa e o Gerenciamento de API se conecta a back-ends privados (voltados para a intranet), os endereços IP internos (IP dinâmico ou endereços DIP) da sub-rede são usados para o tráfego da API de runtime. Ao enviar uma solicitação do Gerenciamento de API a um back-end privado, um endereço IP privado ficará visível como a origem da solicitação.

    Portanto, se a restrição de IP listar recursos seguros dentro da VNet ou de uma VNet emparelhada, é recomendável usar todo o intervalo de sub-redes do Gerenciamento de API com uma regra de IP, e (no modo interno) não apenas o endereço IP privado associado ao recurso de Gerenciamento de API.

  • Ao enviar uma solicitação do Gerenciamento de API a um back-end público (voltado para a Internet), um endereço IP público sempre ficará visível como a origem da solicitação.

Endereços IP do serviço de Gerenciamento de API das camadas Consumo, Básico v2 e Standard v2

Se a sua instância do Gerenciamento de API for criada em uma camada de serviço executada em uma infraestrutura compartilhada, ela não terá um endereço IP dedicado. Atualmente, as instâncias nas seguintes camadas de serviço são executadas em uma infraestrutura compartilhada e sem um endereço IP determinístico: Consumo, Basic v2, Standard v2.

Caso você precise adicionar os endereços IP de saída usados pela sua instância das camadas Consumo, Básico v2 ou Standard v2 a uma lista de permitidos, adicione o data center da instância (região do Azure) a uma lista de permitidos. Você pode fazer o download de um arquivo JSON que lista endereços IP para todos os datacenters do Azure. Em seguida, localize o fragmento JSON que se aplica à região em que a instância é executada.

Por exemplo, o fragmento JSON a seguir é o que a lista de permitidos para a Europa Ocidental pode se parecer:

{
  "name": "AzureCloud.westeurope",
  "id": "AzureCloud.westeurope",
  "properties": {
    "changeNumber": 9,
    "region": "westeurope",
    "platform": "Azure",
    "systemService": "",
    "addressPrefixes": [
      "13.69.0.0/17",
      "13.73.128.0/18",
      ... Some IP addresses not shown here
     "213.199.180.192/27",
     "213.199.183.0/24"
    ]
  }
}

Para obter informações sobre quando este arquivo é atualizado e quando os endereços IP são alterados, expanda a seção Detalhes da página do Centro de Download.

Alterações de endereços IP

Nas camadas Desenvolvedor, Básica, Standard e Premium do Gerenciamento de API, o endereço ou os endereços IP públicos (VIP) e os endereços IP privados (se configurados no modo de VNet interna) são estáticos durante o tempo de vida de um serviço, exceto nos seguintes cenários:

  • O serviço do Gerenciamento de API é excluído e recriado.

  • A assinatura do serviço é desabilitada ou avisada (por exemplo, por não pagamento) e, depois, reintegrada. Saiba mais sobre os estados das assinaturas

  • (Camadas Desenvolvedor e Premium) A Rede Virtual do Azure é adicionada ao serviço ou removida dele.

  • (Camadas Desenvolvedor e Premium) O serviço de Gerenciamento de API é alternado entre o modo de implantação de VNet externa e interna.

  • (Camadas Desenvolvedor e Premium) O serviço de Gerenciamento de API é movido para uma sub-rede diferente ou migrado do stv1 para a plataforma de computação stv2.

  • (Camada Premium) As zonas de disponibilidade estão habilitadas, foram adicionadas ou removidas.

  • (Camada Premium) Em implantações multirregionais, o endereço IP regional é alterado caso uma região esteja vazia, depois ele é restabelecido.

    Importante

    Ao mudar de uma rede virtual externa para interna (ou vice-versa), mudar sub-redes na rede ou atualizar zonas de disponibilidade para a instância de Gerenciamento de API, você deve configurar um recurso de endereço IP público diferente do configurado anteriormente. Você pode trocar novamente para o endereço IP original, se necessário.