Delen via


Kan geen privé-IP-adres van een Azure Container Registry-FQDN ophalen

Dit artikel bevat richtlijnen voor het oplossen van problemen met de meest voorkomende situaties die kunnen voorkomen dat u de FQDN (Fully Qualified Domain Name) van een Microsoft Azure Container Registry kunt omzetten in het privé-IP-adres.

Overzicht

In Azure Container Registry kunt u Azure Private Link samen met een privé-eindpunt en een privé-DNS-zone gebruiken om een privé-IP-adres van een virtueel netwerk toe te wijzen aan de register-FQDN (ook wel bekend als de aanmeldingsserver of HET REST API-eindpunt).

Omdat de Azure Container Registry-service meerdere tenants heeft, heeft deze altijd een openbaar IP-adres. Als u uw containerregister instelt voor het gebruik van de Private Link-technologie voor de register-FQDN, wordt uw containerregister een openbaar IP-adres en een privé-IP-adres uitgegeven.

Nadat u deze configuratie hebt ingesteld, zijn er situaties waarin de DNS-resolutie van uw containerregister-FQDN het openbare IP-adres retourneert, ook al verwacht u dat de DNS-omzetting het privé-IP-adres retourneert. Dit scenario kan veel problemen veroorzaken, zoals pull-fouten, als openbare toegang tot uw containerregister is uitgeschakeld en u alleen afhankelijk bent van de persoonlijke connectiviteit.

Notitie

Voer de volgende stappen uit om te controleren of uw containerregister is geconfigureerd voor privégebruik:

  1. Zoek en selecteer containerregisters in Azure Portal.

  2. Selecteer in de lijst met containerregisters de naam van het containerregister.

  3. Selecteer In het menuvenster van het containerregister Instellingen>netwerken.

  4. Controleer op het tabblad Openbare toegang of het veld Openbare netwerktoegang is ingesteld op Uitgeschakeld.

  5. Selecteer het tabblad Privétoegang en controleer of een privé-eindpuntverbinding is ingesteld.

Symptomen

U gebruikt het hulpprogramma Domain Name System (DNS) om een DNS-query uit te voeren en het openbare IP-adres van het containerregister in de queryresultaten op te halen. Het containerregister is echter wel geconfigureerd voor privégebruik en het DNS-queryresultaat geeft aan dat het containerregister is geconfigureerd voor privégebruik.

Notitie

Een containerregister is geconfigureerd voor privégebruik als de canonieke naam in het formulier staat. <container-registry-name>.privatelink.azurecr.io

Met de volgende nslookup-opdracht wordt bijvoorbeeld een DNS-query uitgevoerd op de FQDN van het acrpe332.azurecr.io containerregister:

nslookup acrpe332.azurecr.io

De nslookup-uitvoer retourneert een canonieke naam van acrpe332.privatelink.azurecr.io, zodat u weet dat het acrpe332 containerregister is geconfigureerd voor privégebruik. De uitvoer retourneert echter ook een openbaar IP-adres van 20.62.128.38 voor de FQDN van het acrpe332 containerregister:

Server:         168.63.129.16
Address:        168.63.129.16#53

Non-authoritative answer:
acrpe332.azurecr.io     canonical name = acrpe332.privatelink.azurecr.io.
acrpe332.privatelink.azurecr.io canonical name = eus1.fe.azcr.io.
eus1.fe.azcr.io canonical name = eus-acr-reg.trafficmanager.net.
eus-acr-reg.trafficmanager.net  canonical name = r0318eus-az.eastus.cloudapp.azure.com.
Name:   r0318eus-az.eastus.cloudapp.azure.com
Address: 20.62.128.38

Notitie

In dit voorbeeld wordt de Azure DNS-service (168.63.129.16) gebruikt als de DNS-server. Als u een aangepaste DNS-server gebruikt, wordt het IP-adres van de server samen met de Server velden weergegeven Address .

Oorzaak 1: het privé-eindpunt van het containerregister en het apparaat zich in verschillende virtuele netwerken bevinden

De netwerkinterface van het privé-eindpunt van het containerregister bevindt zich in een ander virtueel netwerk dan het apparaat dat de FQDN van het containerregister probeert op te lossen.

Als u een query wilt uitvoeren op DNS-records in de privé-DNS-zone, voegt u een koppeling naar een virtueel netwerk toe op het niveau van de privé-DNS-zone van het containerregister voor het virtuele netwerk waarop het apparaat dat de DNS-query initieert, bestaat. Dit apparaat kan een van de volgende items zijn:

  • AKS-knooppunten (Azure Kubernetes Service)
  • Azure Virtual Machines
  • Azure Web App for Containers
  • Ander type apparaat

Gebruik een van de volgende methoden om de koppeling naar het virtuele netwerk van het apparaat toe te voegen vanaf het niveau van de privé-DNS-zone van het containerregister:

  • Via de Azure Portal

    1. Zoek en selecteer Privé-DNS zones in Azure Portal.

    2. Selecteer in de lijst met privé-DNS-zones de optie container-registry-name.privatelink.azurecr.io>.<

    3. Selecteer in het menuvenster van uw privé-DNS-zone de koppeling Instellingen>virtueel netwerk.

    4. Selecteer Toevoegen op de pagina Virtuele netwerkkoppelingen van uw privé-DNS-zone.

    5. Voer op de pagina Koppeling toevoegen een koppelingsnaam in en selecteer vervolgens het virtuele netwerk van het apparaat dat de FQDN-naam van het containerregister privé moet oplossen. (De Optie voor automatische registratie inschakelen is optioneel.)

    6. Selecteer de knop OK.

  • Via Azure CLI

    Voer in Azure CLI de opdracht az network private-dns link vnet create uit.

Oorzaak 2: uw aangepaste DNS-server wordt niet doorgestuurd naar de Azure DNS-service

Virtuele Azure-netwerken maken standaard gebruik van de Azure DNS-service (168.63.129.16) als de DNS-server, maar u kunt ook uw eigen aangepaste DNS-server gebruiken. Wanneer u echter probeert uw eigen aangepaste DNS-server in te stellen, bent u vergeten een doorstuurserver op serverniveau in te stellen op azure DNS-service op het niveau van de aangepaste DNS-server.

Oplossing 2: Een doorstuurserver op serverniveau configureren naar de Azure DNS-service

Als het apparaat dat u verwacht om te zetten van de FQDN van het containerregister via een privé-IP-adres deel uitmaakt van een virtueel Azure-netwerk dat gebruikmaakt van een aangepaste DNS-server, moet u een doorstuurserver op serverniveau configureren naar de Azure DNS-service op de aangepaste DNS-server. De exacte configuratieopties en stappen zijn afhankelijk van uw bestaande netwerken en DNS (bijvoorbeeld Windows Server, CoreDNS, enzovoort).

Virtuele Azure-netwerken maken standaard gebruik van de Azure DNS-service (168.63.129.16) als de DNS-server, maar u kunt ook uw eigen aangepaste DNS-server gebruiken. Wanneer u probeert uw eigen aangepaste DNS-server in te stellen, stelt u een doorstuurserver op serverniveau correct in op de Azure DNS-service op het aangepaste DNS-serverniveau. U bent echter vergeten een koppeling voor een virtueel netwerk toe te voegen op het niveau van de privé-DNS-zone van het containerregister voor het virtuele netwerk waarop de aangepaste DNS-server bestaat.

Gebruik een van de volgende methoden om de koppeling naar het virtuele netwerk toe te voegen aan de aangepaste DNS-server vanaf het niveau van de privé-DNS-zone van het containerregister:

  • Via de Azure Portal

    1. Zoek en selecteer Privé-DNS zones in Azure Portal.

    2. Selecteer in de lijst met privé-DNS-zones de optie container-registry-name.privatelink.azurecr.io>.<

    3. Selecteer in het menuvenster van uw privé-DNS-zone de koppeling Instellingen>virtueel netwerk.

    4. Selecteer Toevoegen op de pagina Virtuele netwerkkoppelingen van uw privé-DNS-zone.

    5. Voer op de pagina Koppeling voor het virtuele netwerk toevoegen een waarde voor de koppelingsnaam in en selecteer vervolgens de juiste waarde voor het virtuele netwerk voor de aangepaste DNS-server. (De Optie voor automatische registratie inschakelen is optioneel.)

    6. Selecteer de knop OK.

  • Via Azure CLI

    Voer in Azure CLI de opdracht az network private-dns link vnet create uit.

Resources

Contacteer ons voor hulp

Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.