Condividi tramite


Funzionalità di rete in un ambiente di App contenitore di Azure

Le app contenitore di Azure operano nel contesto di un ambiente, che esegue la propria rete virtuale. Quando si crea un ambiente, esistono alcune considerazioni chiave che informano le funzionalità di rete delle app contenitore:

Selezione dell'ambiente

Per App contenitore sono disponibili due tipi di ambiente diversi, che condividono molte delle stesse caratteristiche di rete con alcune differenze chiave.

Tipo di ambiente Tipi di piano supportati Descrizione
Profili del carico di lavoro A consumo, Dedicato Supporta route definite dall'utente (UDR), uscita tramite gateway NAT e creazione di endpoint privati nell'ambiente dell'app contenitore. La dimensione minima richiesta della subnet è /27.
Solo Consumo Consumo Non supporta route definite dall'utente( UDR), il traffico in uscita tramite gateway NAT, il peering tramite un gateway remoto o altro traffico in uscita personalizzato. La dimensione minima richiesta della subnet è /23.

Per altre informazioni, vedere Tipi di ambiente.

Tipo di rete virtuale

Per impostazione predefinita, le app contenitore sono integrate con la rete di Azure, accessibile pubblicamente tramite Internet e in grado di comunicare solo con endpoint accessibili da Internet. È anche possibile fornire una rete virtuale esistente durante la creazione dell'ambiente. Dopo aver creato un ambiente con la rete di Azure predefinita o una rete virtuale esistente, il tipo di rete non può essere modificato.

Usare una rete virtuale esistente quando sono necessarie funzionalità di rete di Azure come:

  • Gruppi di sicurezza di rete
  • Integrazione del gateway applicazione
  • Integrazione di Firewall di Azure
  • Controllo del traffico in uscita dall'applicazione contenitore
  • Accesso alle risorse disponibili tramite gli endpoint privati all'interno della rete virtuale

Se si usa una rete virtuale esistente, devi fornire una subnet dedicata esclusivamente all'ambiente della Container App che distribuisci. Questa subnet non è disponibile per altri servizi. Per altre informazioni, vedere Configurazione della rete virtuale.

Livello di accessibilità

È possibile configurare se l'app contenitore consente l'ingresso pubblico o l'ingresso solo dall'interno della rete virtuale a livello di ambiente.

Livello di accessibilità Descrizione
Esterno Consente all'app contenitore di accettare richieste pubbliche. Gli ambienti esterni vengono distribuiti con un indirizzo IP virtuale in un indirizzo IP pubblico esterno.
Interno Gli ambienti interni non hanno endpoint pubblici e vengono distribuiti con un indirizzo IP virtuale (VIP) mappato a un indirizzo IP interno. L'endpoint interno è un servizio di bilanciamento del carico interno di Azure e gli indirizzi IP vengono emessi dall'elenco di indirizzi IP privati della rete virtuale esistente.

Accesso alla rete pubblica

L'impostazione di accesso alla rete pubblica determina se l'ambiente delle app contenitore è accessibile da Internet pubblico. L'eventuale modifica di questa impostazione dopo la creazione dell'ambiente dipende dalla configurazione IP virtuale dell'ambiente. La tabella seguente mostra i valori validi per l'accesso alla rete pubblica, a seconda della configurazione IP virtuale dell'ambiente.

IP virtuale Accesso alla rete pubblica supportato Descrizione
Esterno Enabled, Disabled L'ambiente delle app contenitore è stato creato con un endpoint accessibile da Internet. L'impostazione di accesso alla rete pubblica determina se il traffico viene accettato tramite l'endpoint pubblico o solo tramite endpoint privati e l'impostazione di accesso alla rete pubblica può essere modificata dopo la creazione dell'ambiente.
Interno Disabled L'ambiente delle app contenitore è stato creato senza un endpoint accessibile da Internet. L'impostazione di accesso alla rete pubblica non può essere modificata per accettare il traffico da Internet.

Per creare endpoint privati nell'ambiente dell'app Azure Container, l'accesso alla rete pubblica deve essere impostato su Disabled.

I criteri di rete di Azure sono supportati con il flag di accesso alla rete pubblica.

Configurazione dell'ingresso

Nella sezione ingresso è possibile configurare le impostazioni seguenti:

  • Ingresso: Puoi abilitare o disabilitare l'ingress per l'applicazione container.

  • Traffico in ingresso: è possibile accettare il traffico verso l'app contenitore da qualsiasi posizione oppure limitarlo al traffico dall'interno dello stesso ambiente app contenitore.

  • Regole di suddivisione del traffico: è possibile definire regole di suddivisione del traffico tra revisioni diverse dell'applicazione. Per altre informazioni, vedere Suddivisione del traffico.

Per ulteriori informazioni sui diversi scenari di rete, vedere Ingress in Azure Container Apps.

Funzionalità in ingresso

Caratteristica / Funzionalità Scopri come
Ingress

Configurare l'ingresso
Controllare il routing del traffico esterno e interno all'app contenitore.
Ingresso Premium Configurare impostazioni avanzate in ingresso, ad esempio il supporto del profilo del carico di lavoro per il timeout in ingresso e di inattività.
Restrizioni IP Limitare il traffico in ingresso all'app contenitore in base all'indirizzo IP.
Autenticazione con certificato client Configurare l'autenticazione del certificato client (nota anche come TLS reciproco o mTLS) per l'applicazione container.
Suddivisione del traffico

Distribuzione blu/verde
Dividi il traffico in ingresso tra le revisioni attive dell'applicazione contenitore.
Affinità di sessione Instrada tutte le richieste provenienti da un client alla stessa replica dell'app contenitore.
Condivisione di risorse tra le origini (CORS) Abilitare CORS per l'app contenitore, che consente le richieste effettuate tramite il browser a un dominio che non corrisponde all'origine della pagina.
Routing basato sul percorso Usare le regole per instradare le richieste a app contenitore diverse nell'ambiente, a seconda del percorso di ogni richiesta.
Reti virtuali Configurare la rete virtuale per l'ambiente dell'app contenitore.
DNS Configurare DNS per la rete virtuale dell'ambiente delle app contenitore.
Endpoint privato Usare un endpoint privato per accedere in modo sicuro all'app Azure Container senza esporla alla rete Internet pubblica.
Integrazione con Frontdoor di Azure Connettersi direttamente da Frontdoor di Azure alle app Azure Container usando un collegamento privato anziché la rete Internet pubblica.

Funzionalità in uscita

Caratteristica / Funzionalità Scopri come
Uso di Firewall di Azure Usare Firewall di Azure per controllare il traffico in uscita dall'app contenitore.
Reti virtuali Configurare la rete virtuale per l'ambiente dell'app contenitore.
Protezione di una rete virtuale esistente con un gruppo di sicurezza di rete Proteggere la rete virtuale dell'ambiente dell'app contenitore con un gruppo di sicurezza di rete.
Integrazione del gateway NAT Usare NAT Gateway per semplificare la connettività Internet in uscita nella rete virtuale in un ambiente di profili di carico di lavoro.

Esercitazioni

Esercitazione Scopri come
Usare una rete virtuale Usare una rete virtuale.
Configurare il gateway di applicazione WAF Configurare un gateway di applicazione WAF.
Abilitare route definite dall'utente Abilitare route definite dall'utente.Enable user defined routes (UDR).
Usare Mutual Transport Layer Security (mTLS) Costruire un'applicazione mTLS in Azure Container Apps.
Usare un endpoint privato Usare un endpoint privato per accedere in modo sicuro all'app Azure Container senza esporla alla rete Internet pubblica.
Integrazione con Frontdoor di Azure Connettersi direttamente da Frontdoor di Azure alle app Azure Container usando un collegamento privato anziché la rete Internet pubblica.

Sicurezza dell'ambiente

Diagramma su come bloccare completamente la rete per le applicazioni container.

È possibile proteggere completamente l'ambiente dei profili del carico di lavoro per il traffico di rete in ingresso e in uscita eseguendo le azioni seguenti:

Comportamento del proxy perimetrale HTTP

Azure Container Apps usa un proxy HTTP di margine che termina il protocollo Transport Layer Security (TLS) e instrada le richieste a ogni applicazione.

Le applicazioni HTTP si ridimensionano in base al numero di richieste e connessioni HTTP. Envoy instrada il traffico interno all'interno dei cluster.

Le connessioni downstream supportano HTTP1.1 e HTTP2 ed Envoy rileva e aggiorna automaticamente le connessioni se la connessione client richiede un aggiornamento.

Le connessioni upstream vengono definite impostando la proprietà transport sull'oggetto in ingresso.

Dipendenze del portale

Per ogni app in App contenitore di Azure esistono due URL.

Il runtime di Container Apps genera inizialmente un nome di dominio completamente qualificato (FQDN) utilizzato per accedere all'app. Vedi URL dell'applicazione nella finestra Panoramica della tua app contenitore nel portale di Azure per il FQDN dell'app contenitore.

Viene generato automaticamente anche un secondo URL. Questo luogo fornisce accesso al servizio di streaming dei log e alla console. Se necessario, potrebbe essere necessario aggiungere https://azurecontainerapps.dev/ all'elenco elementi consentiti del firewall o del proxy.

Porte e indirizzi IP

Le porte seguenti vengono esposte per le connessioni in ingresso.

Protocollo Porte
HTTP/HTTPS 80, 443

Gli indirizzi IP sono suddivisi nei tipi seguenti:

Tipo Descrizione
Indirizzo IP pubblico in ingresso Usato per il traffico dell'applicazione in una distribuzione esterna e per il traffico di gestione sia nelle distribuzioni interne che esterne.
Indirizzo IP pubblico in uscita Usato come IP di origine per le connessioni in uscita che lasciano la rete virtuale. Queste connessioni non vengono instradate verso un VPN. Gli indirizzi IP in uscita possono cambiare nel tempo. L'uso di un gateway NAT o di un altro proxy per il traffico verso l'esterno da un ambiente Container Apps è supportato solo in un ambiente di profili di carico di lavoro.
Indirizzo IP del servizio di bilanciamento del carico interno Questo indirizzo esiste solo in un ambiente interno.

Passaggi successivi