IP-adresser i Azure Functions

Den här artikeln beskriver 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änsa 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 du kör i en förbruknings- eller Premium-plan kan ytterligare 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 <APP_NAME> du med funktionsappens namn. Om din app använder ett anpassat domännamn använder nslookup du för 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 i förväg veta vilken IP-adress en viss anslutning kommer att använda. Därför måste serverdelstjänsten öppna brandväggen för alla funktionsappens utgående IP-adresser.

Tips

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 ett virtuellt 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å Azure Resource Explorer.
  2. Välj prenumerationer > {din prenumeration} > providers > Microsoft.Web > sites.
  3. I JSON-panelen letar du upp webbplatsen med en id egenskap som slutar med namnet på din funktionsapp.
  4. Se 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.

Anteckning

När en funktionsapp som körs på förbrukningsplanen eller Premium-planen skalas kan ett nytt intervall med utgående IP-adresser tilldelas. När du kör någon 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 allowlist är ett annat alternativ att lägga till funktionsapparnas datacenter (Azure-region) i en lista över tillåtna. Du kan ladda ned en JSON-fil som listar IP-adresser för alla Azure-datacenter. Leta sedan reda på JSON-fragmentet som gäller för den region 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"
    ]
  }
}

Om du vill ha information om när den här filen uppdateras och när IP-adresserna ändras expanderar du avsnittet Informationsidan Download Center.

Ändringar av inkommande IP-adresser

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

  • Ta bort en funktionsapp och återskapa den i en annan resursgrupp.
  • Ta bort den senaste funktionsappen i en kombination av resursgrupp och region och återskapa den.
  • Ta bort en TLS-bindning, till exempel under certifikatförnyelsen.

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 som anges ovan.

Ändringar av utgående IP-adress

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

Förbruknings- och Premium-planer

På grund av autoskalningsbeteenden kan den utgående IP-adressen ändras när som helst när den körs i 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 lista över tillåtna, bör du överväga att implementera en VIRTUELL NÄTVERKS-NAT-gateway när du kör i en Premium-värdplan. Du kan också göra detta genom att köra i en dedikerad (App Service) plan.

Dedikerade planer

När du kör 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 (App Service) plan. Listan över alla möjliga utgående IP-adresser som din app kan använda finns i possibleOutboundIPAddresses egenskapen för alla prisnivåer. Se Hitta utgående IP-adresser.

Framtvinga ändring av utgående IP-adress

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

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

  2. Vänta i 10 minuter.

  3. Skala tillbaka till där du började.

IP-adressbegränsningar

Du kan konfigurera en lista med IP-adresser som du vill tillåta eller neka åtkomst till en funktionsapp. Mer information finns i Azure App Service statiska IP-begränsningar.

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-adress

Du kan styra IP-adressen för utgående trafik från dina funktioner genom att använda en NAT-gateway för virtuellt 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 (App Service) plan. Mer information finns i Självstudie: Kontrollera Azure Functions utgående IP-adress med en NAT-gateway för virtuella Azure-nätverk.

Apptjänstmiljö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 App Service-miljön IP-adresser och Så här styr du inkommande trafik till en App Service-miljön.

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

  1. Logga in på Azure-portalen.
  2. Navigera till funktionsappen.
  3. Välj fliken Översikt.
  4. Nivån App Service plan visas under App Service plan-/prisnivå. Prisnivån App Service-miljön är Isolerad.

sku App Service-miljön är Isolated.

Nästa steg

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