Problemen met gedeelde privékoppelingen in Azure AI Search oplossen

Met een gedeelde privékoppeling kan Azure AI Search beveiligde uitgaande verbindingen maken via een privé-eindpunt bij het openen van klantbronnen in een virtueel netwerk. Dit artikel kan u helpen bij het oplossen van fouten die kunnen optreden.

Het maken van een gedeelde privékoppeling is een besturingsvlak voor de zoekservice. U kunt een gedeelde privékoppeling maken met behulp van de portal of een BEHEER REST API. Tijdens het inrichten is de status van de aanvraag 'Bijwerken'. Nadat de bewerking is voltooid, is de status Geslaagd. Er wordt een privé-eindpunt voor de resource gemaakt, samen met eventuele DNS-zones en -toewijzingen. Dit eindpunt wordt uitsluitend gebruikt door uw exemplaar van de zoekservice en wordt beheerd via Azure AI Search.

Steps involved in creating shared private link resources

Hieronder vindt u enkele veelvoorkomende fouten die optreden tijdens de aanmaakfase.

Validatiefouten aanvragen

  • Niet-ondersteunde SKU: gedeelde privékoppelingen worden ondersteund in de Basic-laag en hoger. Voor indexeerfuncties met vaardighedensets is de minimumlaag Standard 2 (S2).

  • Ongeldige naam: naamgevingsregels voor een gedeelde privékoppeling zijn:

    • De lengte moet tussen 1 en 60 tekens lang zijn
    • Alfanumerieke tekens
    • Namen kunnen onderstrepingstekens, punten .en afbreekstreepjes _- bevatten, zolang dit niet het eerste teken in de naam is
  • Ongeldige groeps-id: groeps-id's zijn hoofdlettergevoelig en moeten een van de waarden uit de onderstaande tabel zijn:

    Azure-resource Groeps-id Eerste beschikbare API-versie
    Azure Storage - Blob (of) ADLS Gen 2 blob 2020-08-01
    Azure Storage - Tabellen table 2020-08-01
    Azure Cosmos DB voor NoSQL Sql 2020-08-01
    Azure SQL-database sqlServer 2020-08-01
    Azure Database for MySQL(preview) mysqlServer 2020-08-01-Preview
    Azure Key Vault vault 2020-08-01
    Azure Functions (preview) sites 2020-08-01-Preview

    Resources die zijn gemarkeerd met (preview), moeten worden gemaakt met behulp van een preview-versie van de REST API-versies van Management.

  • privateLinkResourceId typevalidatie: Azure groupIdAI Search valideert dat het 'juiste' resourcetype is opgegeven in de privateLinkResourceId. Hier volgen geldige resourcetypen:

    Azure-resource Brontype Eerste beschikbare API-versie
    Azure Storage Microsoft.Storage/storageAccounts 2020-08-01
    Azure Cosmos DB Microsoft.DocumentDb/databaseAccounts 2020-08-01
    Azure SQL-database Microsoft.Sql/servers 2020-08-01
    Azure Key Vault Microsoft.KeyVault/vaults 2020-08-01
    Azure Database for MySQL(preview) Microsoft.DBforMySQL/servers 2020-08-01-Preview
    Azure Functions (preview) Microsoft.Web/sites 2020-08-01-Preview
    Azure SQL Managed Instance (preview) Microsoft.Sql/managedInstance 2020-08-01-Preview

    Bovendien moet de opgegeven groupId waarde geldig zijn voor het opgegeven resourcetype. 'blob' is bijvoorbeeld groupId geldig voor het type Microsoft.Storage/storageAccounts. Deze kan niet worden gebruikt met een ander resourcetype. Voor een bepaalde API-versie voor zoekbeheer kunnen klanten de ondersteunde groupId en resourcetypegegevens achterhalen door gebruik te maken van de lijst ondersteunde API.

  • Afdwinging van quotumlimiet: Search-service hebben quota opgelegd voor het afzonderlijke aantal gedeelde private link-resources dat kan worden gemaakt en het aantal verschillende doelresourcetypen dat wordt gebruikt (op groupIdbasis van). Deze worden beschreven in de sectie Resourcelimieten voor gedeelde privékoppelingen van de pagina Limieten voor Azure AI Search-service.

Implementatiefouten

Een zoekservice initieert de aanvraag voor het maken van een gedeelde privékoppeling, maar Azure Resource Manager voert het werkelijke werk uit. U kunt de status van de implementatie controleren in de portal of op query en eventuele fouten oplossen die kunnen optreden.

Gedeelde private link-resources waarvoor een mislukte Implementatie van Azure Resource Manager is uitgevoerd, worden weergegeven in Lijst- en GET-API-aanroepen, maar hebben een inrichtingsstatus vanFailed. Nadat de reden van de azure Resource Manager-implementatiefout is vastgesteld, verwijdert u de resource en maakt u deze Failed opnieuw nadat u de juiste oplossing uit de volgende tabel hebt toegepast.

Reden van implementatiefout Beschrijving Oplossing
"LinkedAuthorizationFailed" In het foutbericht wordt aangegeven dat de client gemachtigd is om de gedeelde privékoppeling te maken in de zoekservice, maar niet gemachtigd is om de actie 'privateEndpoint Verbinding maken ionApproval/action' uit te voeren voor het gekoppelde bereik. Controleer de private link-id in de aanvraag opnieuw om ervoor te zorgen dat er geen fouten of weglatingen in de URI zijn. Als Azure AI Search en de Azure PaaS-resource zich in verschillende abonnementen bevinden en als u REST of een opdrachtregelinterface gebruikt, moet u ervoor zorgen dat het actieve Azure-account voor de Azure PaaS-resource is. Voor REST-clients moet u ervoor zorgen dat u geen verlopen Bearer-token gebruikt en of het token geldig is voor het actieve abonnement.
Netwerkresourceprovider is niet geregistreerd bij het abonnement van de doelresource Er wordt een privé-eindpunt (en gekoppelde DNS-toewijzingen) gemaakt voor de doelresource (opslagaccount, Azure Cosmos DB, Azure SQL) via de Microsoft.Network resourceprovider (RP). Als het abonnement dat als host fungeert voor de doelresource ('doelabonnement') niet is geregistreerd bij Microsoft.Network RP, kan de Azure Resource Manager-implementatie mislukken. U moet deze RP registreren in hun doelabonnement. U kunt de resourceprovider registreren met behulp van Azure Portal, PowerShell of CLI.
Ongeldig groupId voor de doelresource Wanneer Azure Cosmos DB-accounts worden gemaakt, kunt u het API-type voor het databaseaccount opgeven. Hoewel Azure Cosmos DB verschillende API-typen biedt, biedt Azure AI Search alleen ondersteuning voor Sql als voor groupId gedeelde private link-resources. Wanneer een gedeelde privékoppeling van het type Sql wordt gemaakt voor een privateLinkResourceId verwijzing naar een niet-Sql-databaseaccount, mislukt de Azure Resource Manager-implementatie vanwege de groupId verschillen. De Azure-resource-id van een Azure Cosmos DB-account is niet voldoende om het API-type te bepalen dat wordt gebruikt. Azure AI Search probeert het privé-eindpunt te maken, dat vervolgens wordt geweigerd door Azure Cosmos DB. Zorg ervoor dat de privateLinkResourceId opgegeven Azure Cosmos DB-resource voor een databaseaccount van het TYPE SQL-API is
Doelresource niet gevonden Het bestaan van de opgegeven privateLinkResourceId doelresource wordt alleen gecontroleerd tijdens het begin van de Azure Resource Manager-implementatie. Als de doelresource niet meer beschikbaar is, mislukt de implementatie. Zorg ervoor dat de doelresource aanwezig is in het opgegeven abonnement en de resourcegroep en niet wordt verplaatst of verwijderd.
Tijdelijke/andere fouten De Azure Resource Manager-implementatie kan mislukken als er sprake is van een storing in de infrastructuur of vanwege andere onverwachte redenen. Dit moet zeldzaam zijn en geeft meestal een tijdelijke status aan. Probeer deze resource op een later tijdstip opnieuw te maken. Als het probleem zich blijft voordoen, neemt u contact op met azure-ondersteuning.

Problemen met het goedkeuren van het privé-eindpunt voor back-ups

Er wordt een privé-eindpunt gemaakt voor de Azure-doelresource, zoals is opgegeven in de aanvraag voor het maken van gedeelde privékoppelingen. Dit is een van de laatste stappen in de asynchrone Implementatiebewerking van Azure Resource Manager, maar Azure AI Search moet het privé-IP-adres van het privé-eindpunt koppelen als onderdeel van de netwerkconfiguratie. Zodra deze koppeling is voltooid, gaat de provisioningState resource van de gedeelde private link naar de status van een terminal geslaagd Succeeded. Klanten mogen alleen de configuratie van het privé-eindpunt goedkeuren of weigeren(of in het algemeen wijzigen) nadat de status is overgezet naar Succeeded. Als u het privé-eindpunt op een willekeurige manier wijzigt voordat dit tot een onvolledige implementatiebewerking kan leiden, kan dit ertoe leiden dat de gedeelde private link-resource (onmiddellijk of meestal binnen een paar uur) in een Failed status terechtkomt.

Search-service wijziging van de netwerkverbinding is vastgelopen met de status Bijwerken

Gedeelde privékoppelingen en privé-eindpunten worden gebruikt wanneer openbare netwerktoegang voor de zoekservice is uitgeschakeld. Normaal gesproken moet het wijzigen van de netwerkverbinding binnen enkele minuten slagen nadat de aanvraag is geaccepteerd. In sommige gevallen kan het enkele uren duren voordat Azure AI Search de verbindingswijzigingsbewerking heeft voltooid.

Screenshot of changing public network access to disabled.

Als u merkt dat de verbindingswijzigingsbewerking een aanzienlijke hoeveelheid tijd in beslag neemt, wacht u enkele uren. Verbinding maken iviteitswijzigingsbewerkingen omvatten bewerkingen zoals het bijwerken van DNS-records die langer duren dan verwacht.

Als openbare netwerktoegang wordt gewijzigd, werken bestaande gedeelde privékoppelingen en privé-eindpunten mogelijk niet correct. Als bestaande gedeelde privékoppelingen en privé-eindpunten niet meer werken tijdens een verbindingswijzigingsbewerking, wacht u enkele uren totdat de bewerking is voltooid. Als ze nog steeds niet werken, kunt u deze verwijderen en opnieuw maken.

Normaal gesproken moet een gedeelde private link-resource binnen een paar minuten nadat de aanvraag is geaccepteerd, een terminalstatus (Succeeded of Failed) instellen.

In zeldzame gevallen kan Azure AI Search de status van de gedeelde private link-resource niet correct markeren in een terminalstatus (Succeeded of Failed). Dit treedt meestal op vanwege een onverwachte fout. Gedeelde privékoppelingsresources worden automatisch overgezet naar een Failed status als deze gedurende meer dan een paar uur in een niet-terminalstatus is vastgelopen.

Als u ziet dat de gedeelde private link-resource niet is overgezet naar een terminalstatus, wacht u enkele uren om ervoor te zorgen dat deze wordt Failed voordat u deze kunt verwijderen en opnieuw kunt maken. U kunt ook proberen een andere gedeelde private link-resource te maken met een andere naam (waarbij alle andere parameters hetzelfde blijven).

Een bestaande gedeelde private link-resource kan worden bijgewerkt met behulp van de API maken of bijwerken. Met Zoeken kunnen alleen beperkte updates worden uitgevoerd voor de gedeelde private link-resource. Alleen het aanvraagbericht kan worden gewijzigd via deze API.

  • Het is niet mogelijk om een van de kerneigenschappen van een bestaande gedeelde private link-resource (zoals privateLinkResourceId of groupId) bij te werken en dit wordt altijd niet ondersteund. Als een andere eigenschap naast het aanvraagbericht moet worden gewijzigd, adviseren we klanten om de gedeelde private link-resource te verwijderen en opnieuw te maken.

  • Poging om het aanvraagbericht van een gedeelde private link-resource bij te werken, is alleen mogelijk als deze de inrichtingsstatus van Succeededheeft bereikt.

Klanten kunnen een bestaande gedeelde private link-resource verwijderen via de Delete-API. Net als bij het proces van maken (of bijwerken) is dit ook een asynchrone bewerking met vier stappen:

  1. U vraagt een zoekservice om de gedeelde private link-resource te verwijderen.

  2. De zoekservice valideert dat de resource bestaat en heeft een status die geldig is voor verwijdering. Zo ja, dan wordt een Azure Resource Manager-verwijderbewerking gestart om de resource te verwijderen.

  3. Zoekquery's voor de voltooiing van de bewerking (meestal een paar minuten). Op dit moment heeft de gedeelde private link-resource de inrichtingsstatus 'Verwijderen'.

  4. Zodra de bewerking is voltooid, worden het privé-eindpunt en de bijbehorende DNS-toewijzingen verwijderd. De resource wordt niet weergegeven als onderdeel van de lijstbewerking en een get-bewerkingvoor deze resource resulteert in 404 Niet gevonden.

Steps involved in deleting shared private link resources

Hieronder vindt u enkele veelvoorkomende fouten die optreden tijdens de verwijderingsfase.

Fouttype Beschrijving Oplossing
Resource heeft de status Niet-terminal Een gedeelde private link-resource die zich niet in een terminalstatus (Succeeded of Failed) bevindt, kan niet worden verwijderd. Het is mogelijk (zelden) dat een gedeelde private link-resource gedurende maximaal 8 uur vastloopt in een niet-terminalstatus. Wacht totdat de resource de terminalstatus heeft bereikt en voer de verwijderaanvraag opnieuw uit.
Verwijderen is mislukt met fout 'Conflict' De Azure Resource Manager-bewerking voor het verwijderen van een gedeelde private link-resource bereikt de resourceprovider van de doelresource die is opgegeven in privateLinkResourceId ('doel-RP') voordat het privé-eindpunt en de DNS-toewijzingen kunnen worden verwijderd. Klanten kunnen azure-resourcevergrendelingen gebruiken om wijzigingen in hun resources te voorkomen. Wanneer Azure Resource Manager de doel-RP bereikt, moet de doel-RP de status van de doelresource wijzigen (om details over het privé-eindpunt uit de metagegevens te verwijderen). Wanneer de doelresource een vergrendeling heeft geconfigureerd (of de resourcegroep/het bijbehorende abonnement), mislukt de Azure Resource Manager-bewerking met een conflict (en de juiste details). De gedeelde private link-resource wordt niet verwijderd. Klanten moeten de vergrendeling van de doelresource verwijderen voordat ze de verwijderingsbewerking opnieuw proberen uit te voeren. Opmerking: dit probleem kan ook optreden wanneer klanten proberen een zoekservice te verwijderen met gedeelde private link-resources die verwijzen naar vergrendelde doelbronnen
Verwijderen is mislukt De asynchrone Azure Resource Manager-verwijderbewerking kan in zeldzame gevallen mislukken. Wanneer deze bewerking mislukt, wordt bij het uitvoeren van een query op de status van de asynchrone bewerking klanten weergegeven met een foutbericht en de juiste details. Voer de bewerking op een later tijdstip opnieuw uit of neem contact op met azure-ondersteuning als het probleem zich blijft voordoen.
Resource is vastgelopen in de status Verwijderen In zeldzame gevallen kan een gedeelde private link-resource gedurende maximaal 8 uur vastzitten in de status 'Verwijderen', waarschijnlijk vanwege een onherstelbare fout in de zoek-RP. Wacht 8 uur, waarna de resource overgaat naar Failed de status en de aanvraag vervolgens opnieuw verzendt.

Volgende stappen

Meer informatie over gedeelde private link-resources en hoe u deze kunt gebruiken voor beveiligde toegang tot beveiligde inhoud.