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:
- Logga in på Azure Resource Explorer.
- Välj prenumerationer > {din prenumeration} > providers > Microsoft.Web > sites.
- I JSON-panelen letar du upp webbplatsen med en
id
egenskap som slutar med namnet på din funktionsapp. - Se
outboundIpAddresses
ochpossibleOutboundIpAddresses
.
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 Information på sidan 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:
Skala upp eller ned din App Service plan mellan prisnivåerna Standard och Premium v2.
Vänta i 10 minuter.
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:
- Logga in på Azure-portalen.
- Navigera till funktionsappen.
- Välj fliken Översikt.
- 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.