Risolvere i problemi relativi ai collegamenti privati condivisi in Ricerca di intelligenza artificiale di Azure

Un collegamento privato condiviso consente ad Azure AI Search di stabilire connessioni in uscita sicure tramite un endpoint privato quando si accede alle risorse dei clienti in una rete virtuale. Questo articolo consente di risolvere gli errori che potrebbero verificarsi.

La creazione di un collegamento privato condiviso è un'operazione del piano di controllo del servizio di ricerca. È possibile creare un collegamento privato condiviso tramite il portale di Azure o un'API REST di gestione. Durante il provisioning, lo stato della richiesta è Updating. Al termine dell'operazione, lo stato è Succeeded. Viene creato un endpoint privato per la risorsa, insieme a eventuali zone e mapping DNS. Questo endpoint viene usato esclusivamente dall'istanza del servizio di ricerca e viene gestito tramite Azure AI Search.

Passaggi per la creazione di risorse di collegamento privato condiviso

Di seguito sono riportati errori comuni che si verificano durante la fase di creazione.

Convalida richiesta non riuscita

  • SKU non supportato: i collegamenti privati condivisi sono supportati nel livello Basic e versioni successive. Per gli indicizzatori con set di competenze, il livello minimo è Standard 1 (S1). Per altre informazioni, vedere Limiti delle risorse collegamento privato condiviso.

  • Nome non valido: le regole di denominazione per un collegamento privato condiviso sono indicate di seguito.

    • La lunghezza deve essere compresa tra 1 e 60 caratteri
    • I caratteri sono alfanumerici
    • I nomi possono includere il carattere di sottolineatura _, il punto . e il trattino -, purché non sia il primo carattere nel nome
  • ID gruppo non valido: gli ID gruppo fanno distinzione tra maiuscole e minuscole e devono essere uno dei valori seguenti.

    Risorsa di Azure ID gruppo Prima versione dell'API disponibile
    Archiviazione di Azure - BLOB (o) ADLS Gen 2 blob 2020-08-01
    Archiviazione di Azure - Tabelle table 2020-08-01
    Azure Cosmos DB per il NoSQL Sql 2020-08-01
    database SQL di Azure sqlServer 2020-08-01
    Database di Azure per MySQL (anteprima) mysqlServer 2020-08-01-Preview
    Azure Key Vault (Archivio chiavi di Azure) vault 2020-08-01
    Funzioni di Azure (anteprima) sites 2020-08-01-Preview

    Le risorse contrassegnate con "(anteprima)" devono essere create usando una versione di anteprima delle versioni dell'API REST di gestione.

  • Convalida dei tipi privateLinkResourceId: in modo analogo a groupId, Azure AI Search conferma che il tipo di risorsa "corretto" è specificato in privateLinkResourceId. Di seguito sono riportati i tipi di risorse validi:

    Risorsa di Azure Tipo di risorsa Prima versione dell'API disponibile
    Archiviazione di Azure Microsoft.Storage/storageAccounts 2020-08-01
    Azure Cosmos DB, un servizio di database distribuito globale di Microsoft Microsoft.DocumentDb/databaseAccounts 2020-08-01
    database SQL di Azure Microsoft.Sql/servers 2020-08-01
    Azure Key Vault (Archivio chiavi di Azure) Microsoft.KeyVault/vaults 2020-08-01
    Database di Azure per MySQL (anteprima) Microsoft.DBforMySQL/servers 2020-08-01-Preview
    Funzioni di Azure (anteprima) Microsoft.Web/sites 2020-08-01-Preview
    Istanza gestita di SQL di Azure (anteprima) Microsoft.Sql/managedInstance 2020-08-01-Preview

    Inoltre, l'oggetto groupId specificato deve essere valido per il tipo di risorsa indicato. Ad esempio, groupId "blob" è valido per il tipo Microsoft.Storage/storageAccounts, non può essere usato con qualsiasi altro tipo di risorsa. Per una determinata versione dell'API di gestione della ricerca, i clienti possono trovare i dettagli relativi all'oggetto groupId supportato e al tipo di risorsa usando l'elenco di API supportate.

  • Applicazione del limite di quota: i servizi di ricerca hanno quote imposte sul numero distinto di risorse di collegamento privato condiviso che è possibile creare e sul numero dei vari tipi di risorse di destinazione usati (in base a groupId). Per altre informazioni, vedere Limiti delle risorse collegamento privato condiviso.

Errori di distribuzione

Un servizio di ricerca avvia la richiesta di creare un collegamento privato condiviso, ma Azure Resource Manager esegue il lavoro effettivo. È possibile controllare lo stato della distribuzione nel portale di Azure o tramite query e risolvere eventuali errori che possono verificarsi.

Le risorse di collegamento privato condiviso che non soddisfano la distribuzione di Azure Resource Manager vengono visualizzate nelle chiamate API List e Get , ma hanno uno "Stato di provisioning" di Failed. Dopo aver verificato il motivo dell'errore di distribuzione di Azure Resource Manager, eliminare la Failed risorsa e ricrearla dopo aver applicato la risoluzione appropriata dalla tabella seguente.

Motivo dell'errore di distribuzione Descrizione Risoluzione
"LinkedAuthorizationFailed" Il messaggio di errore indica che il client dispone dell'autorizzazione per creare il collegamento privato condiviso nel servizio di ricerca, ma non dispone dell'autorizzazione per eseguire l'azione "privateEndpointConnectionApproval/action" nell'ambito collegato. Controllare di nuovo l'ID collegamento privato nella richiesta per assicurarsi che non siano presenti errori o omissioni nell'URI. Se Ricerca di intelligenza artificiale di Azure e la risorsa PaaS di Azure si trovano in sottoscrizioni diverse e se si usa REST o un'interfaccia della riga di comando, assicurarsi che l'account Azure attivo sia la risorsa PaaS di Azure. Per i client REST, non usare un token di connessione scaduto e verificare che il token sia valido per la sottoscrizione attiva.
Provider di risorse di rete non registrato nella sottoscrizione della risorsa di destinazione Vengono creati un endpoint privato e i mapping DNS associati per la risorsa di destinazione (account di archiviazione, Azure Cosmos DB, Azure SQL) tramite il provider di risorse Microsoft.Network. Se la sottoscrizione che ospita la risorsa di destinazione ("sottoscrizione di destinazione") non è registrata con il provider di risorse Microsoft.Network, la distribuzione di Azure Resource Manager può avere esito negativo. È necessario registrare il provider di risorse nella sottoscrizione di destinazione. Si può registrare il provider di risorse tramite il portale di Azure, PowerShell o l'interfaccia della riga di comando.
groupId non valido per la risorsa di destinazione Durante la creazione degli account Azure Cosmos DB, è possibile specificare il tipo di API per l'account di database. Sebbene Azure Cosmos DB offra diversi tipi di API, Azure AI Search supporta solo "Sql" come groupId per le risorse di collegamento privato condiviso. Quando viene creato un collegamento privato condiviso di tipo "Sql" per un oggetto privateLinkResourceId che punta a un account di database non Sql, la distribuzione di Azure Resource Manager ha esito negativo a causa della mancata corrispondenza di groupId. L'ID risorsa di Azure di un account Azure Cosmos DB non è sufficiente per determinare il tipo di API usato. Azure AI Search tenta di creare l'endpoint privato, che viene negato da Azure Cosmos DB. È necessario verificare che l'oggetto privateLinkResourceId della risorsa Azure Cosmos DB specificata sia destinato a un account di database di tipo API "Sql"
Risorsa di destinazione non trovata L'esistenza della risorsa di destinazione specificata in privateLinkResourceId viene verificata solo durante l'inizio della distribuzione di Azure Resource Manager. Se la risorsa di destinazione non è più disponibile, la distribuzione non riesce. È necessario verificare che la risorsa di destinazione sia presente nella sottoscrizione e nel gruppo di risorse specificato e che non venga spostata o eliminata.
Errori temporanei/altri errori La distribuzione di Azure Resource Manager può non riuscire se si verifica un'interruzione dell'infrastruttura oppure a causa di altri motivi imprevisti. Questo errore dovrebbe essere raro e in genere indica uno stato temporaneo. Riprovare a creare questa risorsa in un secondo momento. Se il problema persiste, contattare il supporto tecnico di Azure.

Problemi di approvazione dell'endpoint privato di backup

Un endpoint privato viene creato nella risorsa di Azure di destinazione come specificato nella richiesta di creazione del collegamento privato condiviso. Si tratta di uno dei passaggi finali dell'operazione di distribuzione asincrona di Azure Resource Manager, ma Azure AI Search deve collegare l'indirizzo IP privato dell'endpoint privato nell'ambito della configurazione di rete. Al termine di questo collegamento, la provisioningState risorsa del collegamento privato condiviso passa a uno stato Succeededdi esito positivo del terminale. I clienti devono approvare o rifiutare (o in generale modificare la configurazione dell'endpoint privato di backup) solo dopo la transizione dello stato a Succeeded. Modificare in qualsiasi modo l'endpoint privato prima di questo potrebbe causare un'operazione di distribuzione incompleta e potrebbe far sì che la risorsa del collegamento privato condiviso finisca (immediatamente o in genere entro poche ore) in uno stato Failed.

Modifica della connettività di rete del servizio di ricerca bloccata in uno stato "Aggiornamento"

I collegamenti privati condivisi e gli endpoint privati vengono usati quando il servizio di ricerca di accesso alla rete pubblica è Disabilitato. In genere, la modifica della connettività di rete dovrebbe avere esito positivo in pochi minuti dopo l'accettazione della richiesta. In alcune circostanze, Ricerca intelligenza artificiale di Azure potrebbe richiedere diverse ore per completare l'operazione di modifica della connettività.

Screenshot dell'impostazione dell'accesso alla rete pubblica su Disabilitato.

Se si nota che l'operazione di modifica della connettività richiede una quantità significativa di tempo, attendere alcune ore. Le operazioni di modifica della connettività comportano operazioni come l'aggiornamento dei record DNS che potrebbero richiedere più tempo del previsto.

Se l'accesso alla rete pubblica viene modificato, i collegamenti privati condivisi esistenti e gli endpoint privati potrebbero non funzionare correttamente. Se i collegamenti privati condivisi esistenti e gli endpoint privati non funzionano durante un'operazione di modifica della connettività, attendere alcune ore per il completamento dell'operazione. Se il problema di funzionamento persiste, provare a eliminarli e a ricrearli.

In genere, una risorsa di collegamento privato condiviso deve passare a uno stato terminale (Succeeded o Failed) in pochi minuti dopo l'accettazione della richiesta.

In rari casi, Azure AI Search non riesce a contrassegnare correttamente lo stato della risorsa di collegamento privato condiviso a uno stato terminale (Succeeded o Failed). Ciò si verifica in genere a causa di un errore imprevisto. Le risorse di collegamento privato condiviso vengono automaticamente trasferite a uno Failed stato se sono "bloccate" in uno stato non terminale per più di qualche ora.

Se la risorsa di collegamento privato condiviso non passa a uno stato del terminale, attendere alcune ore per assicurarsi che diventi Failed prima di poterla eliminare e ricrearla. In alternativa, invece di attendere, è possibile provare a creare un'altra risorsa di collegamento privato condiviso con un nome diverso (mantenendo uguali tutti gli altri parametri).

È possibile aggiornare una risorsa di collegamento privato condiviso esistente usando l'API di creazione o aggiornamento. La ricerca consente solo aggiornamenti limitati alla risorsa di collegamento privato condiviso. Solo il messaggio di richiesta può essere modificato tramite questa API.

  • Non è possibile aggiornare alcuna delle proprietà "core" di una risorsa di collegamento privato condiviso esistente (ad esempio privateLinkResourceId o groupId) e tale aggiormanento non è sempre supportato. Se è necessario modificare qualsiasi altra proprietà oltre al messaggio di richiesta, si consiglia ai clienti di eliminare e ricreare la risorsa di collegamento privato condiviso.

  • L'aggiornamento del messaggio di richiesta di una risorsa di collegamento privato condiviso è possibile solo se raggiunge lo stato di provisioning di Succeeded.

I clienti possono eliminare una risorsa di collegamento privato condiviso esistente tramite l'API di eliminazione. Analogamente al processo di creazione (o aggiornamento), anche questa è un'operazione asincrona con quattro passaggi:

  1. Si richiede a un servizio di ricerca di eliminare la risorsa di collegamento privato condiviso.

  2. Il servizio di ricerca verifica che la risorsa esista e che si trovi in uno stato valido per l'eliminazione. In tal caso, avvia un'operazione di eliminazione di Azure Resource Manager per rimuovere la risorsa.

  3. Eseguire la ricerca delle query per il completamento dell'operazione, che in genere richiede alcuni minuti. A questo punto, la risorsa del collegamento privato condiviso deve avere uno stato di provisioning di Deleting.

  4. Al termine dell'operazione, vengono rimossi l'endpoint privato di backup e i mapping DNS associati. La risorsa non viene visualizzata come parte dell'operazione Elenco e il tentativo di operazione Get su questa risorsa comporta un errore 404 Non trovato.

Passaggi per l'eliminazione di risorse di collegamento privato condiviso

Di seguito sono riportati errori comuni che si verificano durante la fase di eliminazione.

Tipo di errore Descrizione Risoluzione
La risorsa è in stato non deterministico Non è possibile eliminare una risorsa di collegamento privato condiviso che non si trovi in uno stato terminale (Succeeded o Failed). È possibile (raro) che una risorsa di collegamento privato condiviso sia bloccata in uno stato non determiniale per un massimo di 8 ore. Attendere fino a quando la risorsa raggiunge lo stato del terminale e ripetere la richiesta di eliminazione.
Operazione di eliminazione non riuscita con errore "conflitto" L'operazione di Azure Resource Manager per eliminare una risorsa di collegamento privato condiviso raggiunge il provider di risorse della risorsa di destinazione specificata in privateLinkResourceId ("provider di risorse di destinazione") prima di rimuovere l'endpoint privato e i mapping DNS. I clienti possono usare blocchi delle risorse di Azure per evitare modifiche alle risorse. Quando Azure Resource Manager raggiunge il provider di risorse di destinazione, richiede che quest'ultimo modifichi lo stato della risorsa di destinazione (per rimuovere i dettagli sull'endpoint privato dai metadati). Quando la risorsa di destinazione ha un blocco configurato (o il relativo gruppo di risorse/sottoscrizione), l'operazione di Azure Resource Manager ha esito negativo con un "conflitto" (e i dettagli appropriati). La risorsa di collegamento privato condiviso non viene eliminata. I clienti devono rimuovere il blocco sulla risorsa di destinazione prima di ripetere l'operazione di eliminazione. Nota: questo problema può verificarsi anche quando i clienti tentano di eliminare un servizio di ricerca con risorse di collegamento privato condiviso che puntano a risorse di destinazione "bloccate"
Operazione di eliminazione non riuscita In rari casi, l'operazione di eliminazione asincrona di Azure Resource Manager può non riuscire. Quando l'operazione ha esito negativo, la richiesta dello stato dell'operazione asincrona fornisce un messaggio di errore e i dettagli appropriati. Ripetere l'operazione in un secondo momento o contattare il supporto tecnico di Azure se il problema persiste.
Risorsa bloccata nello stato "Eliminazione" In rari casi, una risorsa di collegamento privato condiviso potrebbe rimanere bloccata nello stato "Eliminazione" fino a 8 ore, probabilmente a causa di un errore irreversibile nel provider di risorse di ricerca. Attendere 8 ore, dopo le quali la risorsa passa allo stato Failed, quindi riemettere nuovamente la richiesta.

Passaggi successivi

Altre informazioni sulle risorse di collegamento privato condiviso e su come usarle per proteggere l'accesso al contenuto protetto.