Endereços IP no Azure

Este artigo explica os seguintes conceitos relacionados a endereços IP de aplicativos de funções:

  • Localizar os endereços IP atualmente em uso por um aplicativo de funções.
  • Condições que fazem com que os endereços IP do aplicativo de funções sejam alterados.
  • Restringir os endereços IP que podem acessar um aplicativo de funções.
  • Definir endereços IP dedicados para um aplicativo de funções.

Os endereços IP estão associados a aplicativos de função, não a funções individuais. Solicitações HTTP de entrada não podem usar o endereço IP de entrada para chamar funções individuais; eles devem usar o nome de domínio padrão (functionappname.azurewebsites.net) ou um nome de domínio personalizado.

Endereço IP de entrada do aplicativo de função

Cada aplicativo de funções começa usando um único endereço IP de entrada. Ao serem executados em um plano Consumo ou Premium, endereços IP de entrada adicionais podem ser adicionados à medida que ocorre uma expansão controlada por eventos. Para localizar o endereço IP de entrada ou os endereços que estão sendo usados pelo aplicativo, use o utilitário nslookup do computador local, como no exemplo a seguir:

nslookup <APP_NAME>.azurewebsites.net

Neste exemplo, substitua <APP_NAME> pelo nome do aplicativo de funções. Se o aplicativo usar um nome de domínio personalizado, use nslookup para esse nome de domínio personalizado.

Função de endereços IP de saída do aplicativo

Cada aplicativo de função tem um conjunto de endereços IP de saída disponíveis. Qualquer conexão de saída de uma função, como um banco de dados back-end, usa um dos endereços IP de saída disponíveis como o endereço IP de origem. Você não pode saber de antemão qual endereço IP uma determinada conexão usará. Por esse motivo, seu serviço de back-end deve abrir seu firewall para todos os endereços IP de saída do aplicativo de função.

Dica

Para alguns recursos no nível da plataforma, como Referências do Key Vault, o IP de origem pode não ser um dos IPs de saída e você não deve configurar o recurso de destino para confiar nesses endereços específicos. Em vez disso, é recomendável que o aplicativo utilize uma integração de rede virtual, pois a plataforma roteará o tráfego para o recurso de destino através dessa rede.

Para encontrar os endereços IP de saída disponíveis para um aplicativo de função:

  1. Faça login no Azure Resource Explorer.
  2. Selecione assinaturas > {sua assinatura} > provedores > Microsoft.Web > sites.
  3. No painel JSON, encontre o site com uma propriedade id que termine no nome do seu aplicativo de função.
  4. Veja outboundIpAddresses e possibleOutboundIpAddresses.

O conjunto de outboundIpAddresses está atualmente disponível para o aplicativo de função. O conjunto de possibleOutboundIpAddresses inclui endereços IP que estarão disponíveis somente se o aplicativo de função for dimensionado para outras camadas de preços.

Observação

Quando um aplicativo de funções executado no plano de Consumo ou no plano Premium é escalado, um novo intervalo de endereços IP de saída pode ser atribuído. Ao executar em qualquer um desses planos, você não pode contar com os endereços IP de saída relatados para criar uma lista de permitidos definitiva. Para poder incluir todos os possíveis endereços de saída usados durante o dimensionamento dinâmico, você precisará adicionar todo o data center à lista de permitidos.

Endereços IP de saída do data center

Se você precisar adicionar os endereços IP de saída usados pelos aplicativos de funções a uma lista de permitidos, outra opção é adicionar o data center dos aplicativos de funções (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 elemento JSON que se aplica à região em que seu aplicativo de função é executado.

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.

Mudanças no endereço IP de entrada

O endereço IP de entrada pode mudar quando você:

  • Exclua um aplicativo de função e recrie-o em um grupo de recursos diferente.
  • Exclua o último aplicativo de função em uma combinação de grupo de recursos e região e recrie-o.
  • Exclua uma associação TLS, como durante a renovação do certificado.

Quando o aplicativo de funções é executado em um plano de Consumo ou em um plano Premium, o endereço IP de entrada também pode mudar, mesmo que você não tenha realizado nenhuma ação, como as listadas acima.

Mudanças no endereço IP de saída

A estabilidade relativa do endereço IP de saída depende do plano de hospedagem.

Planos de Consumo e Premium.

Devido aos comportamentos de dimensionamento automático, o IP de saída pode mudar a qualquer momento durante a execução em um plano de Consumo ou Premium.

Se você precisar controlar o endereço IP de saída de seu aplicativo de funções, por exemplo, quando precisar adicioná-lo a uma lista de permissões, considere a implementação de um gateway da NAT de rede virtual na execução de seu plano de hospedagem Premium. Você também pode fazer isso executando em um plano Dedicado (Serviço de Aplicativo).

Planos dedicados

Quando executado em planos dedicados (Serviço de Aplicativo), o conjunto de endereços IP de saída disponíveis para um aplicativo de funções pode mudar quando você:

  • Execute qualquer ação que possa alterar o endereço IP de entrada.
  • Alterar a camada de preços do seu plano de Serviço de Aplicativo dedicado. A lista de todos os possíveis endereços IP de saída que seu aplicativo pode usar, para todas as camadas de preços, está na possibleOutboundIPAddressespropriedade. Consulte Localizar IPs de saída.

Preparar-se para a alteração de endereço IP de saída

Use o procedimento a seguir para forçar deliberadamente uma alteração de endereço IP de saída em um plano dedicado (Serviço de Aplicativo):

  1. Expanda seu plano de serviço de aplicativos para cima ou para baixo entre os níveis de preços Padrão e Premium v2.

  2. Esperar 10 minutos.

  3. Volte para onde você começou.

Restrições de endereço IP

Você pode configurar uma lista de endereços IP que você deseja permitir ou negar acesso a um aplicativo de função. Para obter mais informações, consulte Restrições de IP estático do Serviço de Aplicativo do Azure.

Endereços IP dedicados

Há várias estratégias para explorar quando o aplicativo de funções requer endereços IP dedicados e estáticos.

Gateway NAT de rede virtual para IP estático de saída

Você pode controlar o endereço IP do tráfego de saída nas funções usando um gateway NAT de rede virtual para direcionar o tráfego por meio de um endereço IP público estático. Você pode usar essa topologia quando estiver executando em um plano Premium ou em um plano Dedicado (Serviço de Aplicativo). Para saber mais, veja Tutorial: Controlar o IP de saída do Azure Functions com um gateway NAT da rede virtual do Azure.

Ambientes de Serviço de Aplicativo

Para ter controle total sobre os endereços IP, tanto de entrada como de saída, recomendamos Ambientes do Serviço de Aplicativo (a camada isolada de planos do serviço de aplicativo). Para obter mais informações, consulte Endereços IP do Ambiente de Serviço de Aplicativo e Como controlar o tráfego de entrada para um Ambiente de Serviço de Aplicativo.

Para descobrir se seu aplicativo de função é executado em um Ambiente de Serviço de Aplicativo:

  1. Entre no portal do Azure.
  2. Navegue até o aplicativo de função.
  3. Selecione a guia Visão geral.
  4. A camada do plano de Serviço de Aplicativo aparece em Plano de serviço de aplicativo / camada de preço. A camada de preços do Ambiente de Serviço de Aplicativo é Isolado.

O Ambiente do Serviço de Aplicativo sku é Isolated.

Próximas etapas

Uma causa comum de alterações de IP é a função de escala de aplicativos. Saiba mais sobre o dimensionamento do aplicativo de função.