Naamomzetting (DNS) in App Service
Uw app maakt gebruik van DNS bij het aanroepen naar afhankelijke resources. Resources kunnen Azure-services zijn, zoals Key Vault, Storage of Azure SQL, maar het kan ook web-API's zijn waarop uw app afhankelijk is. Wanneer u bijvoorbeeld een aanroep wilt doen naar myservice.com, gebruikt u DNS om de naam om te zetten in een IP-adres. In dit artikel wordt beschreven hoe App Service naamomzetting verwerkt en hoe deze bepaalt welke DNS-servers moeten worden gebruikt. In het artikel worden ook de instellingen beschreven die u kunt gebruiken om DNS-omzetting te configureren.
Hoe naamomzetting werkt in App Service
Als u uw app niet integreert met een virtueel netwerk en aangepaste DNS-servers niet zijn geconfigureerd, gebruikt uw app Azure DNS. Als u uw app integreert met een virtueel netwerk, gebruikt uw app de DNS-configuratie van het virtuele netwerk. De standaardinstelling voor een virtueel netwerk is ook om Azure DNS te gebruiken. Via het virtuele netwerk is het ook mogelijk om verbinding te maken met privézones van Azure DNS en deze te gebruiken voor privé-eindpuntomzetting of privédomeinnaamomzetting.
Als u uw virtuele netwerk hebt geconfigureerd met een lijst met aangepaste DNS-servers, gebruikt de naamomzetting in App Service maximaal vijf aangepaste DNS-servers. Als uw virtuele netwerk gebruikmaakt van aangepaste DNS-servers en u privé-eindpunten gebruikt, moet u dit artikel zorgvuldig lezen. U moet er ook rekening mee houden dat uw aangepaste DNS-servers alle openbare DNS-records kunnen omzetten die door uw app worden gebruikt. Uw DNS-configuratie moet aanvragen doorsturen naar een openbare DNS-server, een openbare DNS-server zoals Azure DNS opnemen in de lijst met aangepaste DNS-servers of een alternatieve server opgeven op app-niveau.
Wanneer uw app een domeinnaam moet omzetten met behulp van DNS, verzendt de app een aanvraag voor naamomzetting naar alle geconfigureerde DNS-servers. Als de eerste server in de lijst een antwoord retourneert binnen de time-outlimiet, wordt het resultaat onmiddellijk geretourneerd. Zo niet, dan wacht de app tot de andere servers reageren binnen de time-outperiode en evalueert de DNS-serverreacties in de volgorde waarin u de servers hebt geconfigureerd. Als geen van de servers binnen de time-out reageert en u het opnieuw hebt geconfigureerd, herhaalt u het proces.
DNS-servers configureren
Met de afzonderlijke app kunt u de DNS-configuratie overschrijven door de dnsServers
eigenschap op te geven in het dnsConfiguration
site-eigenschapsobject. U kunt maximaal vijf aangepaste DNS-servers opgeven. U kunt aangepaste DNS-servers configureren met behulp van de Azure CLI:
az resource update --resource-group <group-name> --name <app-name> --resource-type "Microsoft.Web/sites" --set properties.dnsConfiguration.dnsServers="['168.63.129.16','xxx.xxx.xxx.xxx']"
DNS-app-instellingen
App Service heeft bestaande app-instellingen voor het configureren van DNS-servers en gedrag voor naamomzetting. Site-eigenschappen overschrijven de app-instellingen als beide bestaan. Site-eigenschappen hebben het voordeel dat ze kunnen worden gecontroleerd met Azure Policy en worden gevalideerd op het moment van configuratie. U wordt aangeraden site-eigenschappen te gebruiken.
U kunt de bestaande WEBSITE_DNS_SERVER
app-instelling nog steeds gebruiken en u kunt aangepaste DNS-servers toevoegen met beide instellingen. Als u meerdere DNS-servers wilt toevoegen met behulp van de app-instelling, moet u de servers scheiden door komma's zonder lege spaties.
Met behulp van de app-instelling WEBSITE_DNS_ALT_SERVER
voegt u de specifieke DNS-server toe aan de lijst met geconfigureerde DNS-servers. De alternatieve DNS-server wordt toegevoegd aan zowel expliciet geconfigureerde DNS-servers als DNS-servers die zijn overgenomen van het virtuele netwerk.
App-instellingen bestaan ook voor het configureren van gedrag voor naamomzetting en hebben de naam WEBSITE_DNS_MAX_CACHE_TIMEOUT
, WEBSITE_DNS_TIMEOUT
en WEBSITE_DNS_ATTEMPTS
.
Gedrag voor naamomzetting configureren
Als u gedetailleerde controle over naamomzetting nodig hebt, kunt u met App Service het standaardgedrag wijzigen. U kunt nieuwe pogingen wijzigen, time-out voor opnieuw proberen en time-out voor cache. Het wijzigen van gedrag, zoals het uitschakelen of verlagen van de cacheduur, kan van invloed zijn op de prestaties.
Eigenschapsnaam | Standaardwaarde van Windows | Standaardwaarde voor Linux | Toegestane waarden | Beschrijving |
---|---|---|---|---|
dnsRetryAttemptCount | 1 | 5 | 1-5 | Definieert het aantal pogingen om op te lossen waarbij één poging betekent dat er geen nieuwe pogingen worden gedaan. |
dnsMaxCacheTimeout | 30 | 0 | 0-60 | DNS-resultaten worden in de cache opgeslagen volgens de afzonderlijke records TTL, maar niet langer dan de gedefinieerde maximale cachetime-out. Het instellen van cache op nul betekent dat opslaan in cache is uitgeschakeld. |
dnsRetryAttemptTimeout | 3 | 1 | 1-30 | Time-out voordat u het opnieuw probeert of mislukt. Time-out definieert ook de tijd die moet worden gewacht op secundaire serverresultaten als de primaire server niet reageert. |
Notitie
- Het wijzigen van het gedrag van naamomzetting wordt niet ondersteund in Windows Container-apps.
- Als u wilt configureren
dnsMaxCacheTimeout
, moet u ervoor zorgen dat caching is ingeschakeld door de app-instellingWEBSITE_ENABLE_DNS_CACHE
="true" toe te voegen. Als u caching inschakelt, maar niet configureertdnsMaxCacheTimeout
, wordt de time-out ingesteld op 30.
Configureer het gedrag voor naamomzetting met behulp van deze CLI-opdrachten:
az resource update --resource-group <group-name> --name <app-name> --set properties.dnsConfiguration.dnsMaxCacheTimeout=[0-60] --resource-type "Microsoft.Web/sites"
az resource update --resource-group <group-name> --name <app-name> --set properties.dnsConfiguration.dnsRetryAttemptCount=[1-5] --resource-type "Microsoft.Web/sites"
az resource update --resource-group <group-name> --name <app-name> --set properties.dnsConfiguration.dnsRetryAttemptTimeout=[1-30] --resource-type "Microsoft.Web/sites"
Valideer de instellingen met behulp van deze CLI-opdracht:
az resource show --resource-group <group-name> --name <app-name> --query properties.dnsConfiguration --resource-type "Microsoft.Web/sites"