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.
Questo articolo illustra come distribuire un ambiente Azure Container Apps in una rete virtuale personalizzata con un indirizzo IP virtuale interno (VIP) e l'accesso alla rete pubblica disabilitato. L'ambiente viene quindi esposto in modo sicuro tramite Azure Front Door Premium usando Private Link ed endpoint privati. Questa configurazione fornisce un percorso in ingresso sicuro per le app contenitore, supportando la ridondanza della zona.
Importante
Sono previsti altri addebiti per l'abilitazione degli endpoint privati nei piani Dedicati e a consumo.
Prerequisiti
Azure account con una sottoscrizione attiva.
- Se non è disponibile, crearne uno gratuitamente.
Questa funzionalità supporta solo gli ambienti del profilo del carico di lavoro.
Assicurati che il provider di risorse
Microsoft.Cdnsia registrato per il tuo abbonamento.- Accedere al portale Azure.
- Passare alla pagina della sottoscrizione e selezionare Impostazioni>Provider di risorse.
- Selezionare Microsoft.Cdn dall'elenco dei provider.
- Selezionare Registrazione.
Architettura
Il tipo di ambiente dei profili di carico di lavoro supporta la combinazione di integrazione personalizzata della rete virtuale, endpoint privati e ridondanza di zona.
L'elenco seguente descrive il flusso del traffico in ingresso dall'utente all'app contenitore:
Un utente si connette al punto di accesso Azure Front Door.
Azure Front Door inoltra il traffico all'origine tramite Private Link.
Il traffico arriva all'indirizzo IP dell'endpoint privato nella rete virtuale del carico di lavoro, ad esempio,
10.0.2.4).L'endpoint privato si connette all'ambiente interno delle app container.
All'interno della rete virtuale, l'ambiente usa un indirizzo VIP del load balancer interno (ad esempio
10.0.0.165) per raggiungere il controller in ingresso.Il controller in ingresso instrada il traffico all'app contenitore, alla revisione e alla replica corretti in base alle intestazioni host e alla configurazione dell'ingresso.
Considerazioni relative alla progettazione
Quando si pianifica la distribuzione, tenere presenti le decisioni di progettazione seguenti:
| Decisione | Raccomandazione | Ragione |
|---|---|---|
| Dimensioni della subnet di app containerizzate | /23 |
Offre spazio per ridimensionare repliche e nodi. |
| Subnet dell'endpoint privato | Subnet separata, non delegata (ad esempio, /24) |
Gli endpoint privati non possono condividere una subnet delegata. |
| SKU Porta d'ingresso | Premium | Obbligatorio per le origini Private Link. |
Creare la rete virtuale e le subnet
Creare una rete virtuale con due subnet: una delegata all'ambiente App contenitore e una per gli endpoint privati.
Cercare Reti virtuali nella barra di ricerca superiore.
Selezionare Reti virtuali nei risultati della ricerca.
Fare clic su Crea.
Nella scheda Informazioni di base della scheda Crea rete virtuale immettere i valori seguenti.
Impostazione Action Abbonamento Selezionare la sottoscrizione Azure. Gruppo di risorse Selezionare Crea nuovo e immettere un nome, ad esempio my-container-apps. Nome della rete virtuale Immettere un nome, ad esempio my-vnet. Area geografica Selezionare l'area di destinazione. Selezionare la scheda Indirizzi IP .
Configurare lo spazio degli indirizzi , ad esempio
10.0.0.0/16.Creare due subnet con la configurazione seguente:
Nome della sottorete Intervallo di indirizzi Delega Scopo container-apps-subnet Ad esempio, 10.0.0.0/23Microsoft.App/environmentsOspita l'ambiente Container Apps. private-endpoint-subnet Ad esempio, 10.0.2.0/24Nessuno Supporta gli endpoint privati. Seleziona Rivedi e crea e quindi seleziona Crea.
Creare l'app e l'ambiente del contenitore
Creare un ambiente app contenitore con ingresso interno nella rete virtuale personalizzata e quindi distribuire un'app contenitore nell'ambiente.
Creare l'app contenitore
Cercare App contenitore nella barra di ricerca superiore.
Selezionare App contenitore nei risultati della ricerca.
Fare clic su Crea.
In Crea app contenitore usare la scheda Informazioni di base per immettere i valori seguenti.
Impostazione Action Abbonamento Selezionare la sottoscrizione Azure. Gruppo di risorse Selezionare il gruppo di risorse creato, ad esempio my-container-apps. Nome app contenitore Immettere un nome, ad esempio my-container-app. Origine distribuzione Selezionare Immagine del contenitore. Area geografica Selezionare la stessa area della rete virtuale. In Azure Container Apps Environment, selezionare Crea nuovo ambiente.
Configurare l'ambiente
Nella scheda Informazioni di base in Crea ambiente app contenitore immettere i valori seguenti.
Impostazione Action Nome dell'ambiente Immettere un nome, ad esempio my-environment. Ridondanza della zona Selezionare Abilitato (se disponibile e obbligatorio). Selezionare la scheda Profili di carico di lavoro e aggiungere almeno un profilo di carico di lavoro, ad esempio D4. Impostare l'intervallo di conteggio delle istanze di scalabilità automatica.
Selezionare la scheda Rete e immettere i valori seguenti.
Impostazione Action Accesso alla rete pubblica Selezionare Disabilita: blocca tutto il traffico in ingresso dalla rete Internet pubblica. Usare la propria rete virtuale Selezionare Sì. Rete virtuale Selezionare la rete virtuale creata, ad esempio my-vnet. Subnet dell'infrastruttura Selezionare la subnet delegata, ad esempio container-apps-subnet. IP virtuale Selezionare Interno. Abilitare gli endpoint privati Selezionare Sì. Subnet dell'endpoint privato Selezionare private-endpoint-subnet. DNS Selezionare Azure Private DNS zona. Selezionare Crea per creare l'ambiente.
Configurare e distribuire l'app contenitore
In Crea app contenitore selezionare la scheda Contenitore .
Selezionare Usa immagine di avvio rapido per il test o deselezionare la casella di controllo e fornire un'immagine del contenitore personalizzata.
Annotazioni
L'immagine di avvio rapido abilita automaticamente l'ingresso. Se non si utilizza l'immagine di avvio rapido, assicurarsi di abilitare l'ingresso in modo che l'applicazione container possa ricevere traffico da Azure Front Door attraverso l'endpoint privato.
Seleziona Rivedi e crea e quindi seleziona Crea.
Verificare la distribuzione dell'ambiente
Prima di creare il profilo di Azure Front Door, verificare che l'ambiente sia configurato correttamente.
Passare al gruppo di risorse creato e aprire la risorsa ambiente App di contenitori.
Selezionare Rete.
Controllare le impostazioni seguenti:
Impostazione Valore previsto Accesso alla rete pubblica Disattivato IP virtuale Interno (si noti l'indirizzo IP) Connessioni a endpoint privato Esiste almeno una connessione e viene approvata
Creare il profilo Azure Front Door Premium
Creare un profilo Premium di Frontdoor di Azure per instradare il traffico in ingresso all'app contenitore interna sul collegamento privato.
Cercare i profili Frontdoor e della rete CDN nella barra di ricerca superiore.
Selezionare Frontdoor e profili di rete CDN nei risultati della ricerca.
Fare clic su Crea.
Selezionare Azure Front Door e Quick Create.
Selezionare il pulsante Continua a creare un Front Door.
Nella scheda Informazioni di base della scheda Crea un profilo frontdoor immettere i valori seguenti.
Impostazione Action Gruppo di risorse Selezionare il gruppo di risorse creato, ad esempio my-container-apps. Nome Immettere un nome di profilo, ad esempio my-afd-profile. Livello Selezionare Premium. Il collegamento privato non è supportato per le origini nel livello Standard. Nome del punto finale Immettere un nome endpoint, ad esempio my-afd-endpoint. Tipo di origine Selezionare App contenitore. Nome host di origine Seleziona l'ambiente dell'app container. Abilitare il servizio collegamento privato Abilitare questa impostazione. Area geografica Seleziona la regione della tua app contenitore. Risorsa secondaria di destinazione Selezionare managedEnvironments. Messaggio di richiesta Immettere un messaggio, ad esempio AFD Private Link Request). Seleziona Rivedi e crea e quindi seleziona Crea.
Al termine della distribuzione, selezionare Vai alla risorsa e individuare il nome host dell'endpoint. Il nome host è simile all'esempio seguente. Prendere nota di questo nome host.
my-afd-endpoint.<HASH>.b01.azurefd.net
Approvare la connessione all'endpoint privato
Dopo aver distribuito Azure Front Door, approva la richiesta di connessione dell'endpoint privato in ingresso dall'ambiente Container Apps.
Passare alla risorsa Container Apps nel portale di Azure.
Selezionare Impostazioni>Networking.
Selezionare il collegamento per le richieste di connessione di endpoint privato.
Selezionare la connessione in sospeso con la descrizione fornita (ad esempio, Richiesta di collegamento privato AFD).
Selezionare Approva.
Attendere che lo stato cambi in Approvato.
Annotazioni
Azure Front Door presenta un problema noto in cui potrebbe creare più richieste di connessione all'endpoint privato. Approvare ogni richiesta con la descrizione corrispondente.
Convalida la connessione
Dopo aver approvato la connessione all'endpoint privato, assicurarsi che il traffico raggiunga l'app contenitore tramite Frontdoor di Azure.
Andare al nome host dell'endpoint di Frontdoor di Azure registrato in precedenza.
Verificare che l'applicazione venga caricata correttamente.
Verificare che l'accesso diretto al dominio predefinito dell'app contenitore non riesca, perché l'accesso pubblico è disabilitato.
Verificare che la risoluzione DNS per il dominio dell'ambiente si risolva nell'indirizzo IP privato all'interno della rete virtuale.
Annotazioni
La propagazione della distribuzione globale potrebbe richiedere alcuni minuti. Se l'output previsto non viene visualizzato, attendere alcuni minuti e quindi aggiornare.
Risolvere i problemi comuni
La tabella seguente descrive i problemi comuni e le relative soluzioni:
| Problema | Resolution |
|---|---|
| Errori di convalida della subnet | Assicurarsi che la subnet delle app contenitore sia delegata a Microsoft.App/environments e soddisfi i requisiti minimi di dimensione. |
| Errore di creazione dell'endpoint privato | Verificare che l'endpoint privato si trova in una subnet separata e non delegata. |
| L'origine Frontdoor restituisce un errore | Verificare che la connessione all'endpoint privato sia approvata nell'ambiente App per contenitori. La connessione potrebbe richiedere alcuni minuti. |
| L'app contenitore è accessibile pubblicamente | Verificare che l'accesso alla rete pubblica sia impostato su Disabilitato nelle impostazioni di rete dell'ambiente App contenitore. |
Pulire le risorse
Se non si prevede di continuare a usare questa applicazione, è possibile eliminare l'app contenitore e tutti i servizi associati rimuovendo il gruppo di risorse.
Selezionare il gruppo di risorse nella sezione Panoramica.
Selezionare il pulsante Elimina gruppo di risorse nella parte superiore della pagina di Panoramica del gruppo di risorse.
Immettere il nome del gruppo di risorse nella finestra di dialogo di conferma.
Seleziona Elimina.
Il processo di eliminazione del gruppo di risorse può richiedere alcuni minuti.
Suggerimento
Problemi? Fatecelo sapere su GitHub aprendo un issue nel repository Azure Container Apps.