Azure Container Apps è una soluzione serverless progettata per eseguire applicazioni containerizzate e microservizi in modo scalabile e gestito. Fornisce un'infrastruttura orchestrata con funzionalità di autoscaling, ingressi semplificati e piena integrazione con gli strumenti di sviluppo Azure. Spesso, quando sviluppiamo più servizi indipendenti, vogliamo che siano accessibili tramite un unico dominio ma con percorsi distinti, senza dover introdurre un gateway centralizzato come un altro container con NGINX o YARP. Questo tipo di configurazione può aumentare la complessità e i costi.
Con l'anteprima del rule-based routing in Azure Container Apps, possiamo ora gestire le richieste HTTP verso diverse applicazioni in base al percorso dell'URL. Questa funzionalità ci permette di creare un FQDN unificato per l'intero ambiente e, tramite regole precise, indirizzare ogni richiesta alla container app corretta.
Per prima cosa, installiamo l'estensione di Container Apps per Azure CLI con il comando.
az extension add --name containerapp --upgrade --allow-preview true
Creiamo ora un file chiamato routing.yml con il seguente contenuto, che definisce due regole.
rules:
- description: App 1 rule
routes:
- match:
prefix: /app1
action:
prefixRewrite: /
targets:
- containerApp: my-container-app-1
- description: App 2 rule
routes:
- match:
path: /app2
action:
prefixRewrite: /
- match:
path: /
targets:
- containerApp: my-container-app-2Applichiamo infine la configurazione con il seguente comando.
az containerapp env http-route-config create --http-route-config-name my-route --resource-group my-container-apps --name my-container-apps-env --yaml routing.yml --query properties.fqdn
Questo comando crea una configurazione di routing HTTP per l'ambiente specificato. Il parametro --http-route-config-name definisce il nome univoco della configurazione che, una volta applicata, consente di associare il routing basato su regole all'ambiente di Container Apps. Il file YAML specificato nel parametro --yaml contiene tutte le istruzioni per il comportamento del traffico HTTP in ingresso.
Ci viene restituisco così un nuovo dominio come my-route.graymeadow-c9290af8.northeurope.azurecontainerapps.io che supporta il routing a seconda che lo chiamiamo con il path /app1 e /app2.
È importante notare che l'indirizzo diretto di ciascuna container app continua a funzionare in modo indipendente, permettendoci di accedere direttamente se necessario. Inoltre, possiamo definire più regole di routing, ognuna con un proprio nome e dominio di ingresso, rendendo l'architettura più flessibile e adatta a scenari complessi.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Recuperare gli audit log in Azure DevOps
Creare agenti facilmente con Azure AI Agent Service
Utilizzare Locust con Azure Load Testing
Esporre un server MCP esistente con Azure API Management
Semplificare i deployment con le label in Azure Container App
Gestione CSS in Blazor con .NET 9
Utilizzare Containers in .NET Aspire
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Integrare SQL Server in un progetto .NET Aspire
Simulare Azure Cosmos DB in locale con Docker
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Sfruttare una CDN con i bundle di ASP.NET
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Inserire le news di Punto Informatico nel proprio sito
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Le DirectInk API nella Universal Windows Platform
- Gli oggetti CallOut di Expression Blend 4.0


