IP-adresser i Azure Functions

I den här artikeln beskrivs följande begrepp som rör IP-adresser för funktionsappar:

  • Hitta de IP-adresser som för närvarande används av en funktionsapp.
  • Villkor som gör att funktionsappens IP-adresser ändras.
  • Begränsning av de IP-adresser som kan komma åt en funktionsapp.
  • Definiera dedikerade IP-adresser för en funktionsapp.

IP-adresser är associerade med funktionsappar, inte med enskilda funktioner. Inkommande HTTP-begäranden kan inte använda den inkommande IP-adressen för att anropa enskilda funktioner. De måste använda standarddomännamnet (functionappname.azurewebsites.net) eller ett anpassat domännamn.

Funktionsappens inkommande IP-adress

Varje funktionsapp börjar med en enda inkommande IP-adress. När en funktionell app körs i en konsumtions- eller Premium-plan kan fler inkommande IP-adresser läggas till när händelsedriven utskalning sker. Om du vill hitta den inkommande IP-adress eller de adresser som används av din app använder nslookup du verktyget från den lokala datorn, som i följande exempel:

nslookup <APP_NAME>.azurewebsites.net

I det här exemplet ersätter du <APP_NAME> med funktionsappens namn. Om din app använder ett anpassat domännamn använder du nslookup det anpassade domännamnet i stället.

Utgående IP-adresser för funktionsapp

Varje funktionsapp har en uppsättning tillgängliga utgående IP-adresser. Alla utgående anslutningar från en funktion, till exempel till en serverdelsdatabas, använder en av de tillgängliga utgående IP-adresserna som ursprungs-IP-adress. Du kan inte veta i förväg vilken IP-adress en viss anslutning använder. Därför måste serverdelstjänsten öppna brandväggen för alla funktionsappens utgående IP-adresser.

Tips/Råd

För vissa funktioner på plattformsnivå, till exempel Key Vault-referenser, är ursprungs-IP-adressen kanske inte en av de utgående IP-adresserna och du bör inte konfigurera målresursen så att den förlitar sig på dessa specifika adresser. Vi rekommenderar att appen i stället använder en integrering av virtuella nätverk eftersom plattformen dirigerar trafik till målresursen via nätverket.

Så här hittar du de utgående IP-adresserna som är tillgängliga för en funktionsapp:

  1. Logga in på portalen Azure och gå till Resource Explorer.
  2. Expandera din prenumeration > resursgrupp i resursträdet och välj sedan funktionsappen under Microsoft. Web>sites.
  3. I JSON som visas i den högra rutan, hitta egenskaperna outboundIpAddresses och possibleOutboundIpAddresses.

Uppsättningen outboundIpAddresses är för närvarande tillgänglig för funktionsappen. Uppsättningen possibleOutboundIpAddresses innehåller IP-adresser som endast är tillgängliga om funktionsappen skalar till andra prisnivåer.

Anmärkning

När en funktionsapp som körs i förbrukningsplanen eller Premium-planen skalas kan ett nytt intervall med utgående IP-adresser tilldelas. När du kör något av dessa planer kan du inte förlita dig på de rapporterade utgående IP-adresserna för att skapa en slutgiltig lista över tillåtna. För att kunna inkludera alla potentiella utgående adresser som används under dynamisk skalning måste du lägga till hela datacentret i listan över tillåtna adresser.

Utgående IP-adresser för datacenter

Om du behöver lägga till de utgående IP-adresser som används av dina funktionsappar i en tillåtna lista är ett annat alternativ att lägga till funktionsapparnas datacenter (Azure-region) i en tillåtna lista. Du kan ladda ned en JSON-fil som visar IP-adresser för alla Azure-datacenter. Sök sedan efter de JSON-fragment som gäller för regionen som funktionsappen körs i.

Följande JSON-fragment är till exempel hur listan över tillåtna för Västeuropa kan se ut:

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

Information om när den här filen uppdateras och när IP-adresserna ändras finns i avsnittet Informationsidan Ladda ned center.

Inkommande IP-adressändringar

Den inkommande IP-adressen kan ändras när du:

  • Tar bort en funktionsapp och återskapar den i en annan resursgrupp.
  • Tar bort den sista funktionsappen i en kombination av resursgrupp och region och skapar den igen.
  • Ta bort en TLS-bindning, till exempel under certifikatförnyelse.

När din funktionsapp körs i en förbrukningsplan eller i en Premium-plan kan den inkommande IP-adressen också ändras även om du inte har vidtagit några åtgärder som de här.

Utgående IP-adressändringar

Den relativa stabiliteten för den utgående IP-adressen beror på värdplanen.

Förbruknings- och Premium-abonnemang

På grund av autokaleringsbeteenden kan den utgående IP-adressen ändras när som helst när det används med en förbrukningsplan eller i en Premium-plan.

Om du behöver styra den utgående IP-adressen för din funktionsapp, till exempel när du behöver lägga till den i en allowlist, kan du överväga att implementera en NAT-gateway för virtuella nätverk när du kör en Premium-värdplan. Du kan också göra detta genom att köra i en dedikerad plan (App Service).

Dedikerade planer

När en funktionsapp körs på dedikerade (App Service)-planer kan uppsättningen med tillgängliga utgående IP-adresser för en funktionsapp ändras när du:

  • Vidta alla åtgärder som kan ändra den inkommande IP-adressen.
  • Ändra prisnivån för din dedikerade plan (App Service). Listan över alla möjliga utgående IP-adresser som appen kan använda finns i possibleOutboundIPAddresses egenskapen för alla prisnivåer. Se Hitta utgående IP-adresser.

Tvinga fram en utgående IP-adressändring

Använd följande procedur för att avsiktligt tvinga fram en utgående IP-adressändring i en dedikerad plan (App Service):

  1. Skala upp eller ned din App Service-plan mellan prisnivåerna Standard och Premium v2.

  2. Vänta i 10 minuter.

  3. Gå tillbaka till där du började.

IP-adressbegränsningar

Du kan konfigurera en lista över IP-adresser som du vill tillåta eller neka åtkomst till en funktionsapp. Mer information finns i Åtkomstbegränsningar för Azure App Service.

Dedikerade IP-adresser

Det finns flera strategier att utforska när din funktionsapp kräver statiska, dedikerade IP-adresser.

NAT-gateway för virtuellt nätverk för utgående statisk IP

Du kan styra IP-adressen för utgående trafik från dina funktioner genom att använda en NAT-gateway för virtuella nätverk för att dirigera trafik via en statisk offentlig IP-adress. Du kan använda den här topologin när du kör i en Premium-plan eller i en dedikerad värdplan. Mer information finns i Självstudie: Kontrollera utgående IP-adress för Azure Functions med en NAT-gateway för virtuella Azure-nätverk.

App Service-miljöer

För fullständig kontroll över IP-adresserna, både inkommande och utgående, rekommenderar vi App Service-miljöer ( den isolerade nivån för App Service-planer). Mer information finns i Översikt över App Service Environment.

Så här tar du reda på om funktionsappen körs i en App Service-miljö:

  1. Logga in på Azure-portalen.
  2. Gå till funktionsappen.
  3. Välj fliken Översikt.
  4. App Service-plannivån visas under App Service-plan/prisnivå. Prisnivån För App Service Environment är isolerad.

App Service-miljön sku är Isolated.

Nästa steg

En vanlig orsak till IP-ändringar är funktionsappens skalningsändringar. Läs mer om skalning av funktionsappar.