IP-adressen in Azure Functions

In dit artikel worden de volgende concepten met betrekking tot IP-adressen van functie-apps uitgelegd:

  • Zoeken naar de IP-adressen die momenteel worden gebruikt door een functie-app.
  • Voorwaarden die ertoe leiden dat IP-adressen van functie-apps worden gewijzigd.
  • De IP-adressen beperken die toegang hebben tot een functie-app.
  • Toegewezen IP-adressen definiëren voor een functie-app.

IP-adressen zijn gekoppeld aan functie-apps, niet aan afzonderlijke functies. Inkomende HTTP-aanvragen kunnen het binnenkomende IP-adres niet gebruiken om afzonderlijke functies aan te roepen; ze moeten de standaarddomeinnaam (functionappname.azurewebsites.net) of een aangepaste domeinnaam gebruiken.

Inkomend IP-adres van functie-app

Elke functie-app begint met behulp van één binnenkomend IP-adres. Wanneer u in een Consumption- of Premium-abonnement wordt uitgevoerd, kunnen extra binnenkomende IP-adressen worden toegevoegd wanneer uitschalen op basis van gebeurtenissen plaatsvindt. Als u het binnenkomende IP-adres of de adressen wilt vinden die door uw app worden gebruikt, gebruikt u het nslookup hulpprogramma vanaf uw lokale computer, zoals in het volgende voorbeeld:

nslookup <APP_NAME>.azurewebsites.net

Vervang in dit voorbeeld door <APP_NAME> de naam van uw functie-app. Als uw app een aangepaste domeinnaam gebruikt, gebruikt nslookup u in plaats daarvan voor die aangepaste domeinnaam.

Uitgaande IP-adressen van functie-apps

Elke functie-app heeft een set beschikbare uitgaande IP-adressen. Elke uitgaande verbinding van een functie, zoals naar een back-enddatabase, gebruikt een van de beschikbare uitgaande IP-adressen als het oorspronkelijke IP-adres. U kunt van tevoren niet weten welk IP-adres een bepaalde verbinding gebruikt. Daarom moet uw back-endservice de firewall openen voor alle uitgaande IP-adressen van de functie-app.

Tip

Voor sommige functies op platformniveau, zoals Key Vault verwijzingen, is het oorspronkelijke IP-adres mogelijk geen van de uitgaande IP-adressen en moet u de doelresource niet configureren om te vertrouwen op deze specifieke adressen. Het wordt aanbevolen dat de app in plaats daarvan een virtuele netwerkintegratie gebruikt, omdat het platform verkeer via dat netwerk naar de doelresource leidt.

De uitgaande IP-adressen zoeken die beschikbaar zijn voor een functie-app:

  1. Meld u aan bij Azure Resource Explorer.
  2. Selecteer abonnementen > {uw abonnement} > providers > Microsoft.Websites>.
  3. Zoek in het JSON-deelvenster de site met een id eigenschap die eindigt op de naam van uw functie-app.
  4. Zie outboundIpAddresses en possibleOutboundIpAddresses.

De set van outboundIpAddresses is momenteel beschikbaar voor de functie-app. De set van possibleOutboundIpAddresses bevat IP-adressen die alleen beschikbaar zijn als de functie-app wordt geschaald naar andere prijscategorieën.

Notitie

Wanneer een functie-app die wordt uitgevoerd op het Verbruiksabonnement of het Premium-abonnement wordt geschaald, kan een nieuw bereik van uitgaande IP-adressen worden toegewezen. Wanneer u een van deze abonnementen uitvoert, kunt u niet vertrouwen op de gerapporteerde uitgaande IP-adressen om een definitieve acceptatielijst te maken. Als u alle mogelijke uitgaande adressen wilt opnemen die tijdens dynamisch schalen worden gebruikt, moet u het hele datacenter toevoegen aan uw acceptatielijst.

Uitgaande IP-adressen van datacenters

Als u de uitgaande IP-adressen die door uw functie-apps worden gebruikt, wilt toevoegen aan een acceptatielijst, kunt u het datacenter van de functie-apps (Azure-regio) ook toevoegen aan een acceptatielijst. U kunt een JSON-bestand downloaden met ip-adressen voor alle Azure-datacenters. Zoek vervolgens het JSON-fragment dat van toepassing is op de regio waarin uw functie-app wordt uitgevoerd.

Het volgende JSON-fragment is bijvoorbeeld hoe de acceptatielijst voor West-Europa eruit kan zien:

{
  "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"
    ]
  }
}

Vouw de sectie Details van de pagina Downloadcentrum uit voor informatie over wanneer dit bestand wordt bijgewerkt en wanneer de IP-adressen veranderen.

Wijzigingen in inkomend IP-adres

Het binnenkomende IP-adres kan veranderen wanneer u:

  • Verwijder een functie-app en maak deze opnieuw in een andere resourcegroep.
  • Verwijder de laatste functie-app in een resourcegroep en regiocombinatie en maak deze opnieuw.
  • Een TLS-binding verwijderen, bijvoorbeeld tijdens het vernieuwen van het certificaat.

Wanneer uw functie-app wordt uitgevoerd in een Verbruiksabonnement of in een Premium-abonnement, kan het binnenkomende IP-adres ook worden gewijzigd, zelfs wanneer u geen acties hebt ondernomen zoals hierboven vermeld.

Wijzigingen in uitgaand IP-adres

De relatieve stabiliteit van het uitgaande IP-adres is afhankelijk van het hostingabonnement.

Verbruiks- en Premium-abonnementen

Vanwege automatisch schalen kan het uitgaande IP-adres op elk gewenst moment worden gewijzigd wanneer het wordt uitgevoerd in een Verbruiksabonnement of in een Premium-abonnement.

Als u het uitgaande IP-adres van uw functie-app wilt beheren, bijvoorbeeld wanneer u deze wilt toevoegen aan een acceptatielijst, kunt u overwegen om een NAT-gateway voor een virtueel netwerk te implementeren terwijl u wordt uitgevoerd in een Premium-hostingabonnement. U kunt dit ook doen door uit te voeren in een Dedicated -abonnement (App Service).

Toegewezen abonnementen

Bij het uitvoeren van toegewezen abonnementen (App Service), kan de set beschikbare uitgaande IP-adressen voor een functie-app worden gewijzigd wanneer u:

  • Voer een actie uit die het binnenkomende IP-adres kan wijzigen.
  • Wijzig de prijscategorie van uw Dedicated-abonnement (App Service). De lijst met alle mogelijke uitgaande IP-adressen die uw app voor alle prijscategorieën kan gebruiken, bevindt zich in de possibleOutboundIPAddresses eigenschap. Zie Uitgaande IP-adressen zoeken.

Een wijziging van het uitgaande IP-adres afdwingen

Gebruik de volgende procedure om bewust een wijziging van het uitgaande IP-adres af te dwingen in een Dedicated-abonnement (App Service):

  1. Schaal uw App Service plan omhoog of omlaag tussen de prijscategorieën Standard en Premium v2.

  2. Wacht tien minuten.

  3. Schaal terug naar waar u bent begonnen.

IP-adresbeperkingen

U kunt een lijst met IP-adressen configureren die u toegang tot een functie-app wilt toestaan of weigeren. Zie Azure App Service statische IP-beperkingen voor meer informatie.

Toegewezen IP-adressen

Er zijn verschillende strategieën die u kunt verkennen wanneer uw functie-app statische, toegewezen IP-adressen vereist.

NAT-gateway van virtueel netwerk voor uitgaand statisch IP-adres

U kunt het IP-adres van uitgaand verkeer van uw functies beheren met behulp van een NAT-gateway van een virtueel netwerk om verkeer via een statisch openbaar IP-adres te leiden. U kunt deze topologie gebruiken wanneer u een Premium-abonnement of een Dedicated-abonnement (App Service) uitvoert. Zie Zelfstudie: Uitgaande IP-Azure Functions beheren met een NAT-gateway van een virtueel Azure-netwerk voor meer informatie.

App Service-omgevingen

Voor volledige controle over de IP-adressen, zowel inkomend als uitgaand, raden we App Service Environments (de geïsoleerde laag van App Service-abonnementen) aan. Zie ip-adressen App Service Environment en Binnenkomend verkeer naar een App Service Environment beheren voor meer informatie.

Ga als volgende te werk om erachter te komen of uw functie-app wordt uitgevoerd in een App Service Environment:

  1. Meld u aan bij de Azure-portal.
  2. Navigeer naar de functie-app.
  3. Selecteer het tabblad Overzicht.
  4. De App Service-abonnementslaag wordt weergegeven onder App Service abonnement/prijscategorie. De App Service Environment prijscategorie is Geïsoleerd.

De App Service Environment sku is Isolated.

Volgende stappen

Een veelvoorkomende oorzaak van IP-wijzigingen is wijzigingen in de schaal van functie-apps. Meer informatie over het schalen van functie-apps.