Delen via


Fout oplossen: 'Azure Functions-runtime is niet bereikbaar'

Dit artikel helpt u bij het oplossen van de volgende foutreeks die wordt weergegeven in Azure Portal:

'Fout: Azure Functions Runtime is onbereikbaar. Klik hier voor meer informatie over opslagconfiguratie.

Dit probleem treedt op wanneer de Functions-runtime niet kan worden gestart. De meest voorkomende reden hiervoor is dat de functie-app de toegang tot het opslagaccount heeft verloren. Zie Vereisten voor opslagaccounts voor meer informatie.

De rest van dit artikel helpt u bij het oplossen van specifieke oorzaken van deze fout, waaronder het identificeren en oplossen van elke case.

Opslagaccount is verwijderd

Voor elke functie-app moet een opslagaccount worden uitgevoerd. Als dat account wordt verwijderd, werken uw functies niet.

Zoek eerst de naam van uw opslagaccount op in de toepassingsinstellingen. WEBSITE_CONTENTAZUREFILECONNECTIONSTRING Of AzureWebJobsStorage bevat de naam van uw opslagaccount als onderdeel van een verbindingsreeks. Zie de naslaginformatie over app-instellingen voor Azure Functions voor meer informatie.

Zoek uw opslagaccount in Azure Portal om te zien of het nog bestaat. Als het account is verwijderd, maakt u het opslagaccount opnieuw en vervangt u uw opslag verbindingsreeks s. Uw functiecode gaat verloren en u moet deze opnieuw implementeren.

Toepassingsinstellingen voor opslagaccounts zijn verwijderd

Als u in de vorige stap geen opslagaccount kunt vinden verbindingsreeks, is het waarschijnlijk verwijderd of overschreven. Het verwijderen van toepassingsinstellingen gebeurt meestal wanneer u implementatiesites of Azure Resource Manager-scripts gebruikt om toepassingsinstellingen in te stellen.

Vereiste toepassingsinstellingen

Zie de naslaginformatie over app-instellingen voor Azure Functions voor meer informatie.

Richtlijn

  • Controleer de site-instelling voor een van deze instellingen niet. Als u implementatiesites verwisselt, wordt de functie-app verbroken.
  • Wijzig deze instellingen niet als onderdeel van geautomatiseerde implementaties.
  • Deze instellingen moeten worden opgegeven en geldig zijn tijdens het maken. Een geautomatiseerde implementatie die deze instellingen niet bevat, resulteert in een functie-app die niet wordt uitgevoerd, zelfs als de instellingen later worden toegevoegd.

Opslagaccountreferenties zijn ongeldig

Het eerder besproken opslagaccount verbindingsreeks s moet worden bijgewerkt als u opslagsleutels opnieuw genereert. Zie Een Azure Storage-account maken voor meer informatie over opslagsleutelbeheer.

Opslagaccount is niet toegankelijk

Uw functie-app moet toegang hebben tot het opslagaccount. Veelvoorkomende problemen die de toegang van een functie-app tot een opslagaccount blokkeren, zijn:

Het dagelijkse uitvoeringsquotum is vol

Als u een dagelijks uitvoeringsquotum hebt geconfigureerd, wordt uw functie-app tijdelijk uitgeschakeld, waardoor veel van de portalbesturingselementen niet meer beschikbaar zijn.

Als u het quotum in Azure Portal wilt controleren, selecteert u Functie-app-instellingen voor platformfuncties>in uw functie-app. Als u het dagelijkse gebruiksquotum hebt overschreden dat u hebt ingesteld, wordt het volgende bericht weergegeven:

"De functie-app heeft het dagelijkse gebruiksquotum bereikt en is gestopt tot het tijdsbestek van 24 uur."

U kunt dit probleem oplossen door het dagelijkse quotum te verwijderen of te verhogen en vervolgens de app opnieuw te starten. Anders wordt de uitvoering van uw app geblokkeerd tot de volgende dag.

App zit achter een firewall

Uw functie-app kan om een van de volgende redenen onbereikbaar zijn:

  • Uw functie-app wordt gehost in een app-omgeving met interne taakverdeling en is geconfigureerd om binnenkomend internetverkeer te blokkeren.

  • Uw functie-app heeft binnenkomende IP-beperkingen die zijn geconfigureerd om internettoegang te blokkeren.

Azure Portal voert rechtstreeks aanroepen uit naar de actieve app om de lijst met functies op te halen en er worden HTTP-aanroepen naar het Kudu-eindpunt uitgevoerd. Instellingen op platformniveau op het tabblad Platformfuncties zijn nog steeds beschikbaar.

Uw ASE-configuratie controleren:

  1. Ga naar de netwerkbeveiligingsgroep (NSG) van het subnet waarin de ASE zich bevindt.
  2. Valideer de regels voor inkomend verkeer dat afkomstig is van het openbare IP-adres van de computer waarop u toegang hebt tot de toepassing.

U kunt de portal ook gebruiken vanaf een computer die is verbonden met het virtuele netwerk waarop uw app wordt uitgevoerd of op een virtuele machine die wordt uitgevoerd in uw virtuele netwerk.

Zie de sectie Netwerkbeveiligingsgroepen van netwerkoverwegingen voor een App Service-omgeving voor meer informatie over de configuratie van binnenkomende regels.

Containerfouten in Linux

Voor functie-apps die worden uitgevoerd in Linux in een container, kan de Azure Functions runtime is unreachable fout optreden als gevolg van problemen met de container. Gebruik de volgende procedure om de containerlogboeken te controleren op fouten:

  1. Navigeer naar het Kudu-eindpunt voor de functie-app, waar https://<FUNCTION_APP>.scm.azurewebsites.net<FUNCTION_APP> zich de naam van uw app bevindt.

  2. Download de Docker-logboeken .zip bestand en controleer de inhoud op uw lokale computer.

  3. Controleer op geregistreerde fouten die aangeven dat de container niet kan worden gestart.

Containerinstallatiekopieën zijn niet beschikbaar

Er kunnen fouten optreden wanneer de containerinstallatiekopieën waarnaar wordt verwezen niet beschikbaar zijn of niet correct kunnen worden gestart. Controleer op geregistreerde fouten die aangeven dat de container niet kan worden gestart.

U moet eventuele fouten corrigeren waardoor de container niet correct kan worden gestart voor de functie-app.

Wanneer de containerinstallatiekopieën niet kunnen worden gevonden, ziet u een manifest unknown fout in de Docker-logboeken. In dit geval kunt u de Azure CLI-opdrachten gebruiken die worden beschreven in Runtimeversies van Azure Functions om de containerinstallatiekopieën te wijzigen waarnaar wordt verwezen. Als u een aangepaste containerinstallatiekopie hebt geïmplementeerd, moet u de installatiekopie herstellen en de bijgewerkte versie opnieuw implementeren in het register waarnaar wordt verwezen.

App-container heeft conflicterende poorten

Uw functie-app heeft mogelijk een niet-reagerende status vanwege conflicterende poorttoewijzing bij het opstarten. Dit kan gebeuren in de volgende gevallen:

  • Uw container heeft afzonderlijke services die worden uitgevoerd waarbij een of meer services worden gekoppeld aan dezelfde poort als de functie-app.
  • U hebt een hybride Azure-verbinding toegevoegd die dezelfde poortwaarde deelt als de functie-app.

De container waarin uw functie-app wordt uitgevoerd, maakt standaard gebruik van poort :80. Wanneer andere services in dezelfde container ook proberen poort te gebruiken :80, kan de functie-app niet worden gestart. Als in uw logboeken poortconflicten worden weergegeven, wijzigt u de standaardpoorten.

Host-id-botsing

Vanaf versie 3.x van de Functions-runtime worden host-id-botsingen gedetecteerd en geregistreerd als waarschuwing. In versie 4.x wordt een fout geregistreerd en wordt de host gestopt. Als de runtime niet kan worden gestart voor uw functie-app, raadpleegt u de logboeken. Als er een waarschuwing of een fout optreedt bij conflicten met host-id's, volgt u de risicobeperkingsstappen in overwegingen voor host-id's.

Instellingen voor alleen-lezen-apps

Als u instellingen voor alleen-lezen App Service-toepassingen wijzigt, kan uw functie-app in een onbereikbare status worden geplaatst.

verificatieoverschrijvingen ASP.NET

Is alleen van toepassing op C#-apps die in het proces worden uitgevoerd met de Functions-host.

Als u ASP.NET verificatie configureert in een opstartklasse van Functions, kunnen services worden overschreven die vereist zijn voor de Azure-portal om met de host te communiceren. Dit omvat, maar is niet beperkt tot, oproepen naar AddAuthentication(). Als de verificatieservices van de host worden overschreven en de portal niet kan communiceren met de host, wordt de app onbereikbaar geacht. Dit probleem kan leiden tot fouten zoals: No authentication handler is registered for the scheme 'ArmToken'..

Volgende stappen

Meer informatie over het bewaken van uw functie-apps: