Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Quando si esegue il servizio agente di Microsoft Foundry con una rete virtuale (VNet) propria, si è responsabili del dimensionamento della subnet delegata, della pianificazione dell'allocazione IP e di comprendere come il traffico dell'agente fluisca attraverso la piattaforma. Questo articolo illustra l'architettura di rete che supporta agenti ospitati e agenti reattivi, il modello di allocazione IP e i segnali che indicano problemi di capacità. È destinato agli architetti cloud e di rete che hanno già scelto una rete virtuale personalizzata (bring-your-own VNet) per il servizio Foundry Agent. Per configurare la rete, vedere Configurare la rete privata per il servizio agente Foundry.
Panoramica dell'architettura di rete
Il diagramma seguente mostra le due zone coinvolte in qualsiasi richiesta del servizio Foundry Agent: la rete della piattaforma Foundry gestita Microsoft a sinistra e la rete virtuale del cliente a destra.
La rete della piattaforma ospita l'endpoint Foundry, il livello host della micro-VM che esegue gli agenti Hosted, il Tools Service e il livello host del Data Proxy. La rete virtuale del cliente contiene una subnet delegata (in cui le micro macchine virtuali e il proxy di dati utilizzano gli indirizzi IP) e una subnet dell'endpoint privato che si connette all'archiviazione, ai database e al Key Vault.
Due flussi di richiesta attraversano questa architettura:
-
Agente ospitato: dal client a endpoint Foundry, a Micro VM (
/invoke), al servizio strumenti, al Data Proxy, alle risorse del cliente tramite endpoint privati. - Agente di prompt: dal client a endpoint Foundry, al servizio strumenti, al proxy dati, alle risorse del cliente tramite endpoint privati. In questo percorso non è presente alcuna macchina virtuale micro.
Concetti chiave
| Termine | Cosa significa |
|---|---|
| Istanza di Foundry | La tua risorsa Microsoft Foundry. Contenitore di primo livello che contiene progetti, agenti e configurazione di rete. |
| Agente ospitato | Un agente che crei e distribuisci tu stesso usando un'immagine del contenitore personalizzata tramite Registro Azure Container. È possibile controllare CPU, memoria e codice. Viene eseguito in App contenitore di Azure. |
| Agente prompt | Un agente in cui il calcolo e il ridimensionamento sono completamente gestiti da Microsoft. Il comportamento viene definito tramite la configurazione. Non è necessaria alcuna gestione dell'immagine del contenitore o dell'infrastruttura. |
| Proxy dati a tenant singolo | Componente di rete gestito dalla piattaforma dedicato al progetto Foundry che gestisce la connettività in uscita per gli agenti. A ogni progetto viene assegnata un'istanza isolata di proxy di dati. Tutte le chiamate agli strumenti vengono instradate tramite il proxy dati. |
| Server degli strumenti | Un servizio back-end registrato a livello di progetto che gli agenti possono chiamare per eseguire azioni, ad esempio l'esecuzione di query su un database o la chiamata di un'API esterna. Nelle configurazioni con propria rete virtuale il traffico del server degli strumenti viene instradato attraverso il proxy dati a tenant singolo. |
| Subnet delegata | Subnet nella rete virtuale delegata al Servizio agenti Foundry. Tutta l'infrastruttura dell'agente (proxy dati e macchine virtuali Micro) viene distribuita in questa subnet e usa gli indirizzi IP relativi. |
| Micro VM | Macchina virtuale leggera che esegue un agente ospitato. |
| Versione | Modifica che influisce sul modo in cui viene eseguito l'agente, ad esempio nuovo codice, una nuova immagine del contenitore o un aggiornamento della configurazione. Solo le modifiche che influiscono sul runtime creano una nuova versione. |
| Revisione | Unità di distribuzione per l'agente. Una revisione può essere con controllo delle versioni (associata a una modifica di runtime) o non con controllo delle versioni (modifiche di sola metadati, ad esempio tag o impostazioni di ridimensionamento). |
Modalità di flusso del traffico
Ogni richiesta del servizio Foundry Agent entra attraverso l'endpoint Foundry ed esce verso le risorse dei clienti tramite endpoint privati. Il tipo di agente determina cosa accade tra di loro.
In ingresso all'endpoint Foundry
I client inviano richieste HTTPS all'endpoint Foundry , ad esempio <your-resource>.services.ai.azure.com. Il gateway API della piattaforma autentica la richiesta e la instrada in base al tipo di agente di destinazione.
Percorso dell'agente ospitato
Per un agente ospitato, la piattaforma inoltra la richiesta a una macchina virtuale Micro nella subnet delegata tramite il /invoke protocollo. La macchina virtuale Micro ha due interfacce di rete:
| Tipo di traffico | Percorso |
|---|---|
| Traffico in uscita dell'agente | Diretta, tramite la scheda di rete dedicata della macchina virtuale Micro nella subnet delegata. |
| Chiamate al server degli strumenti | Tramite il proxy dati a tenant singolo, indipendentemente dal tipo di agente. |
Anche se la macchina virtuale Micro ha una propria scheda di interfaccia di rete, qualsiasi chiamata dello strumento viene instradata tramite il proxy dati.
Percorso agente di prompt
Per un agente prompt, l'agente viene eseguito su risorse computazionali gestite da Microsoft. L'endpoint Foundry inoltra la richiesta direttamente al servizio strumenti, che chiama il proxy dati a tenant singolo. Gli indirizzi IP vengono allocati a livello di progetto, quindi tutti gli agenti prompt all'interno di un progetto condividono la stessa infrastruttura proxy dati.
Accesso alle risorse dei clienti
Il traffico in uscita dal proxy dati raggiunge gli account di archiviazione, i database e Key Vault tramite endpoint privati nella subnet dell'endpoint privato. Configurare le zone di DNS privato corrispondenti (ad esempio, privatelink.blob.core.windows.net, privatelink.database.windows.net e privatelink.vaultcore.azure.net) in modo che la risoluzione dei nomi rimanga all'interno della VNet.
Dimensionamento della subnet e allocazione IP
La configurazione della subnet si applica al livello dell'account Foundry. Tutti i progetti nell'account condividono la stessa configurazione della subnet e gli agenti ospitati e di prompt condividono la stessa subnet delegata. La dimensione consigliata deve coprire l'utilizzo combinato degli indirizzi IP dagli agenti in ogni progetto, aggiornamenti della piattaforma ed eventi di ridimensionamento.
Dimensioni della subnet consigliate
Usare un intervallo CIDR /24 per i carichi di lavoro di produzione. Una subnet /27 può funzionare per distribuzioni più piccole, ma lascia molto poco spazio. Gli aggiornamenti della piattaforma, le implementazioni e gli eventi di ridimensionamento richiedono tutti indirizzi IP aggiuntivi temporanei e una piccola subnet può essere esaurita durante queste operazioni.
Intervalli IP supportati
La subnet deve usare solo intervalli IPv4 privati RFC 1918 :
10.0.0.0/8-
172.16.0.0/12(copre172.16.x.xfino a172.31.x.x) 192.168.0.0/16
Gli intervalli IP pubblici e gli intervalli CGNAT ,ad esempio , 100.64.0.0/10non sono supportati e causano errori di routing.
Modalità di utilizzo degli indirizzi IP
Indirizzi IP sono riservati in un rapporto di circa 1 IP per 10 pod. Ogni progetto Foundry ottiene un proxy di dati che parte da 1 pod (1 replica) e scala in base al traffico.
| Scenario | Esempio | Impatto IP |
|---|---|---|
| Traffico basso | 10 progetti, ognuno in 1 replica | Circa 1 indirizzo IP condiviso tra 10 pod |
| Traffico elevato | 10 progetti, ognuno con scalabilità fino a 10 repliche | 100 pod, ~10 IP |
La capacità del progetto è dinamica perché più traffico per progetto utilizza più indirizzi IP.
Dimensioni della subnet e sessioni simultanee
La piattaforma supporta un massimo di 50 sessioni di agenti simultanee per sottoscrizione per area. Le dimensioni della subnet determinano se è possibile raggiungere tale valore massimo.
| Subnet | Indirizzi IP totali | INDIRIZZI IP utilizzabili | Sessioni simultanee stimate |
|---|---|---|---|
| /27 | 32 | ~27 | ~17 |
| /26 | 64 | ~59 | ~50 (massimo supportato) |
Per supportare le 50 sessioni simultanee complete, usare una subnet /26 o superiore.
capacità del progetto
Un'istanza di Foundry supporta circa 250 progetti a traffico ridotto. In caso di traffico elevato, quando gli agenti si espandono a molte repliche, il limite effettivo può scendere a non più di circa 25 progetti. Quando gli indirizzi IP sono esauriti, il provisioning del nuovo progetto fallisce.
Importante
Non pianificare di lavorare in base alla capacità massima teorica. Puntare a un massimo di 80% di utilizzo della subnet per assorbire i picchi derivanti da aggiornamenti e operazioni di scalabilità.
Comportamento durante la manutenzione della piattaforma
Gli aggiornamenti della piattaforma eseguono l'infrastruttura precedente e nuova in parallelo, aumentando temporaneamente il consumo di indirizzi IP. Una subnet /24 fornisce un buffer sufficiente per gestire questi picchi temporanei insieme ai normali carichi di lavoro. Gli aggiornamenti dell'infrastruttura sono completamente gestiti Microsoft, inclusi i tempi.
Comportamento di rete degli agenti ospitati
Gli agenti ospitati vengono eseguiti in App contenitore di Azure e consentono di controllare la configurazione della CPU e della memoria. È possibile distribuirli tramite il proprio Registro Azure Container.
Revisioni e utilizzo ip
Quando si distribuisce un aggiornamento (nuova immagine, configurazione o codice), la piattaforma crea una nuova revisione. Durante l'implementazione, le vecchie e nuove revisioni vengono eseguite in parallelo mentre il traffico passa alla nuova versione, e entrambe utilizzano gli indirizzi IP dalla tua subnet.
Limiti di revisione per agente ospitato:
- 100 revisioni attive per agente.
- 1.000 revisioni totali per nome agente. Le revisioni inattive meno recenti vengono eliminate automaticamente quando viene raggiunto il limite attivo.
- Circa 200 agenti ospitati per ogni istanza di Foundry (anteprima).
Il limite di 200 agenti ospitati è separato dal limite di circa 250 progetti, che si applica a livello di istanza per tutti i tipi di agente.
Connettività in uscita
Ogni agente ospitato viene eseguito in una micro macchina virtuale collegata alla subnet delegata con un'interfaccia di rete dedicata e usa il proprio IP per la comunicazione in uscita. Le chiamate agli strumenti sono sempre instradate attraverso un proxy di dati a tenant singolo.
Prestazioni e scalabilità
Il ridimensionamento degli agenti ospitati non comporta una latenza o una riduzione delle prestazioni. L'unico scenario in cui le prestazioni sono interessate è quando l'esaurimento IP impedisce la scalabilità della piattaforma, che è evitabile con il dimensionamento corretto della subnet. Gli agenti ospitati supportano configurazioni di CPU e memoria personalizzate. Quando si crea una versione dell'agente, è possibile selezionare le coppie di CPU e memoria disponibili.
Comportamento di rete degli agenti di prompt
Gli agenti prompt vengono eseguiti anche in App contenitore di Azure, ma il calcolo e il ridimensionamento sono completamente gestiti da Microsoft. Non si configura cpu o memoria.
Revisioni e utilizzo ip
A differenza degli agenti ospitati, le revisioni dell'agente prompt non usano indirizzi IP. Il proxy dati viene eseguito in modalità a revisione singola, quindi le revisioni inattive non hanno alcun impatto sulla disponibilità IP.
Connettività in uscita
Gli agenti di prompt usano il proxy dati a tenant singolo per tutta la connettività in uscita. Gli indirizzi IP vengono allocati a livello di progetto, quindi tutti gli agenti prompt all'interno di un progetto condividono la stessa infrastruttura proxy dati.
Limiti e prestazioni
Non esiste un limite rigido per il numero di agenti prompt che è possibile distribuire per ogni istanza di Foundry. Poiché il calcolo e il ridimensionamento sono completamente gestiti, non sono previsti problemi di latenza o prestazioni legati al numero di agenti prompt distribuiti.
Peering reti virtuali e sovrapposizione IP
Gli intervalli IP sovrapposti causano errori di routing, quindi tutte le reti virtuali con peering devono usare intervalli IP univoci e non sovrapposti. Questa regola si applica anche alle configurazioni di peering bidirezionale. Sono supportati solo gli intervalli IPv4 privati RFC 1918. Gli indirizzi CGNAT (ad esempio 100.x.x.x) non sono disponibili.
Se non è possibile evitare sovrapposizioni IP, utilizzare la rete virtuale gestita invece di una rete virtuale personale. La rete virtuale gestita automatizza la configurazione di rete ed elimina i problemi di sovrapposizione IP.
Monitorare l'utilizzo IP e rilevare l'esaurimento delle risorse IP
Il portale di Azure attualmente non espone l'utilizzo IP per le subnet delegate, quindi non è possibile monitorarlo direttamente. Gli indicatori principali dell'esaurimento IP sono errori HTTP 5xx provenienti dal proxy dei dati e, per gli agenti ospitati, errori di creazione delle sessioni (errori 4xx). Quando gli indirizzi IP sono esauriti, il ridimensionamento del proxy dati e il provisioning di nuovi progetti hanno esito negativo e gli agenti ospitati non possono allocare una macchina virtuale Micro per le nuove sessioni. Monitorare l'integrità del proxy dati e il completamento della creazione della sessione dell'agente ospitato come indicatori principali di problemi di capacità.
È consigliabile distribuire una nuova istanza di Foundry con una nuova subnet nei casi seguenti:
- Il proxy di dati sta restituendo errori 5xx.
- La creazione della sessione dell'agente ospitato ha esito negativo con errori 4xx.
- Nuovi errori di provisioning del progetto.
Importante
La piattaforma non avvisa in modo proattivo quando la capacità IP è insufficiente. Monitorare i segnali elencati in precedenza per evitare errori di provisioning non previsti.
Riferimento rapido
| Argomento | Raccomandazione |
|---|---|
| Dimensioni della subnet | /24 per la produzione. /27 è il minimo ma rischioso. /26 è necessario per 50 sessioni simultanee. |
| Destinazione di utilizzo | Mantenere l'utilizzo della subnet al di sotto dell'80% per assorbire i picchi dovuti all'aggiornamento e alla scalabilità. |
| Intervalli IP supportati | Solo RFC 1918: 10.x, 172.16 fino a 172.31.x e 192.168.x. Nessun intervallo pubblico o CGNAT. |
| capacità del progetto | Circa 250 progetti a basso traffico, fino a circa 25 progetti su larga scala. Guidato dalla disponibilità di IP |
| Limiti dell'agente ospitato | 100 revisioni attive e 1.000 revisioni totali per agente. Circa 200 agenti ospitati per istanza. |
| Consumo IP | Le revisioni dell'agente ospitato consumano indirizzi IP. Nessuna revisione di agente di prompt. |
| Connettività in uscita | Gli agenti ospitati usano una scheda di interfaccia di rete dedicata. Tutte le chiamate agli strumenti vengono instradate tramite il proxy dati a tenant singolo. |
| Ospitato rispetto a prompt | Ospitato: CPU e memoria personalizzate, il Registro Azure Container dell'utente e scheda di interfaccia di rete dedicata. Prompt: scalabilità completamente gestita. |
| Peering reti virtuali | Le reti virtuali con peering devono avere intervalli IP non sovrapposti. Usare la rete virtuale gestita se esiste una sovrapposizione. |
| Monitoraggio | Nessun monitoraggio IP diretto nel portale. Prestare attenzione agli errori 500 del proxy dati. |
| Prestazione | Nessuna riduzione delle prestazioni dal ridimensionamento di uno dei due tipi di agente, con il ridimensionamento corretto della subnet. |