Distribuire App Spring di Azure in una rete virtuale
Nota
I piani Basic, Standard ed Enterprise saranno deprecati a partire dalla metà di marzo 2025, con un periodo di ritiro di 3 anni. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere l'annuncio di ritiro di Azure Spring Apps.
Il piano Standard a consumo e dedicato sarà deprecato a partire dal 30 settembre 2024, con un arresto completo dopo sei mesi. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere Eseguire la migrazione del consumo di Azure Spring Apps Standard e del piano dedicato alle app Azure Container.
Questo articolo si applica a:✅ Java ✅ C#
Questo articolo si applica a: ❎ Basic ✅ Standard ✅ Enterprise
Questa esercitazione illustra come distribuire un'istanza di Azure Spring Apps nella rete virtuale. una funzionalità nota anche come VNet injection.
La distribuzione rende possibili gli scenari seguenti:
- Isolamento delle app di Azure Spring Apps e del runtime del servizio da Internet nella rete aziendale.
- Interazione di Azure Spring Apps con i sistemi nei data center locali o con i servizi di Azure in altre reti virtuali.
- Possibilità per i clienti di controllare le comunicazioni di rete in ingresso e in uscita per Azure Spring Apps.
Il video seguente descrive come proteggere le applicazioni Spring Boot usando reti virtuali gestite.
Nota
È possibile selezionare la rete virtuale di Azure solo quando si crea una nuova istanza del servizio Azure Spring Apps. Non è possibile modificare per usare un'altra rete virtuale dopo la creazione di Azure Spring Apps.
Prerequisiti
Registrare il provider Microsoft.AppPlatform
di risorse di Azure Spring Apps e Microsoft.ContainerService
in base alle istruzioni riportate in Registrare il provider di risorse nel portale di Azure o eseguendo il comando seguente dell'interfaccia della riga di comando di Azure:
az provider register --namespace Microsoft.AppPlatform
az provider register --namespace Microsoft.ContainerService
Requisiti della rete virtuale
La rete virtuale in cui viene distribuita l'istanza di Azure Spring Apps deve soddisfare i requisiti seguenti:
- Posizione: la rete virtuale deve risiedere nella stessa località dell'istanza di Azure Spring Apps.
- Sottoscrizione la rete virtuale deve essere inclusa nella stessa sottoscrizione dell'istanza del servizio Azure Spring Apps.
- Subnet: la rete virtuale deve includere due subnet dedicate a un'istanza di Azure Spring Apps:
- Una per il runtime del servizio.
- Una per le applicazioni Spring.
- Deve esistere una relazione uno-a-uno tra queste subnet e un'istanza di Azure Spring Apps. Usare una nuova subnet per ogni istanza del servizio da distribuire. Ogni subnet può includere solo una singola istanza del servizio.
- Spazio indirizzi: blocchi CIDR fino a /28 per la subnet del runtime del servizio e per la subnet delle applicazioni Spring.
- Tabella di routing: per impostazione predefinita le subnet non richiedono tabelle di routing esistenti associate. È possibile usare una tabella di routing personalizzata.
Usare la procedura seguente per configurare la rete virtuale in modo che contenga l'istanza di Azure Spring Apps.
Creare una rete virtuale
Se è già disponibile una rete virtuale in cui ospitare un'istanza di Azure Spring Apps, ignorare i passaggi 1, 2 e 3. È possibile iniziare dal passaggio 4 per preparare le subnet per la rete virtuale.
Nel menu del portale di Azure selezionare Crea una risorsa. In Azure Marketplace selezionare Rete>Rete virtuale.
Nella finestra di dialogo Crea rete virtuale immettere o selezionare le informazioni seguenti:
Impostazione Valore Subscription Selezionare la propria sottoscrizione. Gruppo di risorse Selezionare il gruppo di risorse o crearne uno nuovo. Nome Immettere azure-spring-apps-vnet. Ufficio Selezionare Stati Uniti orientali. Selezionare Avanti: Indirizzi IP.
Per lo spazio indirizzi IPv4, immettere 10.1.0.0/16.
Selezionare Aggiungi subnet. Quindi immettere service-runtime-subnet per Nome subnet e 10.1.0.0/24 per Intervallo di indirizzi della subnet. Selezionare Aggiungi.
Selezionare di nuovo Aggiungi subnet quindi compilare i campi Nome subnet e Intervallo di indirizzi subnet. Ad esempio, immettere apps-subnet e 10.1.1.0/24. Selezionare Aggiungi.
Selezionare Rivedi e crea. Lasciare le altre impostazioni sui valori predefiniti e selezionare Crea.
Concedere al servizio l'autorizzazione per la rete virtuale
Questa sezione illustra come concedere ad Azure Spring Apps le autorizzazioni Amministratore accesso utenti e Collaboratore rete nella rete virtuale. Questa autorizzazione consente di concedere un'entità servizio dedicata e dinamica nella rete virtuale per un'ulteriore distribuzione e manutenzione.
Nota
Se si usa la propria tabella di routing o una funzionalità di route definita dall'utente, è anche necessario concedere ad Azure Spring Apps le stesse assegnazioni di ruolo alle tabelle di routing. Per altre informazioni, vedere la sezione Usare una tabella di routing personalizzata e Controllare il traffico in uscita per un'istanza di Azure Spring Apps.
Per concedere l'autorizzazione, seguire questa procedura:
Selezionare la rete virtuale
azure-spring-apps-vnet
creata in precedenza.Selezionare Controllo di accesso (IAM) e quindi Aggiungi>Aggiungi assegnazione di ruolo.
Assegnare i ruoli
Network Contributor
eUser Access Administrator
al provider di risorse Azure Spring Cloud. Per ulteriori informazioni, vedi Assegnare ruoli di Azure usando il portale di Azure.Nota
Il ruolo
User Access Administrator
si trova nei ruoli di amministratore con privilegi eNetwork Contributor
nei ruoli della funzione lavorativa.
Distribuire un'istanza di Azure Spring Apps
Usare la procedura seguente per distribuire un'istanza di Azure Spring Apps nella rete virtuale:
Apri il portale di Azure.
Nella casella di ricerca in alto cercare Azure Spring Apps. Selezionare Azure Spring Apps nei risultati.
Nella pagina Azure Spring Apps fare clic su + Aggiungi.
Compilare il modulo nella pagina di creazione di Azure Spring Apps.
Selezionare lo stesso gruppo di risorse e la stessa area della rete virtuale.
Per Nome in Dettagli servizio selezionare azure-spring-apps-vnet.
Selezionare la scheda Rete e quindi i valori seguenti:
Impostazione Valore Distribuisci nella rete virtuale personale Selezionare Sì. Rete virtuale Selezionare azure-spring-apps-vnet. Subnet del runtime servizio Selezionare service-runtime-subnet. Subnet delle app per microservizi Spring Boot Selezionare app-subnet. Seleziona Rivedi e crea.
Verificare le specifiche, quindi selezionare Crea.
Dopo la distribuzione, nella sottoscrizione sono creati due gruppi di risorse aggiuntivi in cui ospitare le risorse di rete per l'istanza di Azure Spring Apps. Passare a Home, quindi selezionare Gruppi di risorse tra le voci del menu superiore per trovare i nuovi gruppi di risorse seguenti.
Il gruppo di risorse denominato ap-svc-rt_{service instance name}_{service instance region}
contiene risorse di rete per il runtime del servizio dell'istanza del servizio.
Il gruppo di risorse denominato ap-app_{service instance name}_{service instance region}
contiene risorse di rete per le applicazioni Spring dell'istanza del servizio.
Queste risorse di rete sono connesse alla rete virtuale creata in precedenza.
Importante
I gruppi di risorse sono completamente gestiti dal servizio Azure Spring Apps. Non eliminare o modificare manualmente le risorse al loro interno.
Uso di intervalli di subnet più piccoli
Questa tabella mostra il numero massimo di istanze dell'app supportate da Azure Spring Apps usando intervalli di subnet più piccoli.
CIDR delle subnet di app | Indirizzi IP totali | Indirizzi IP disponibili | Numero massimo di istanze di app |
---|---|---|---|
/28 | 16 | 8 | App con 0.5 core: 192 |
/27 | 32 | 24 | App con 0.5 core: 456 |
/26 | 64 | 56 | App con 0.5 core: 500 |
/25 | 128 | 120 | App con 0.5 core: 500 |
/24 | 256 | 248 | App con 0.5 core: 500 |
Per le subnet, Azure riserva cinque indirizzi IP e Azure Spring Apps richiede almeno tre indirizzi IP. Sono necessari almeno otto indirizzi IP, quindi i blocchi /29 e /30 non sono operativi.
Per una subnet di runtime del servizio, la dimensione minima è /28.
Nota
Un intervallo di subnet di piccole dimensioni influisce sulla risorsa sottostante che è possibile usare per componenti di sistema come il controller di ingresso. Azure Spring Apps usa un controller di ingresso sottostante per gestire la gestione del traffico delle applicazioni. Il numero di istanze del controller in ingresso aumenta automaticamente man mano che aumenta il traffico dell'applicazione. Riservare un intervallo IP di subnet di rete virtuale più ampio se il traffico dell'applicazione potrebbe aumentare in futuro. In genere si riserva un indirizzo IP per il traffico di 10000 richieste al secondo.
Bring Your Own Route Table
Azure Spring Apps supporta l'uso di subnet esistenti e tabelle di routing.
Se le subnet personalizzate non contengono tabelle di routing, Azure Spring Apps le crea per ognuna delle subnet e le aggiunge nel ciclo di vita dell'istanza. Se le subnet personalizzate contengono tabelle di routing, Azure Spring Apps riconosce le tabelle di routing esistenti durante le operazioni di istanza e aggiunge/aggiorna e/o regole di conseguenza per le operazioni.
Avviso
Le regole personalizzate possono essere aggiunte alle tabelle di routing personalizzate e aggiornate. Tuttavia, le regole vengono aggiunte da Azure Spring Apps e non devono essere aggiornate o rimosse. Le regole tipo 0.0.0.0/0 devono esistere sempre in una determinata tabella di route ed eseguire il mapping alla destinazione del gateway Internet, ad esempio un'Appliance virtuale di rete o un altro gateway in uscita. Prestare attenzione quando si aggiornano le regole quando vengono modificate solo le regole personalizzate.
Requisiti della tabella di routing
Le tabelle di routing a cui è associata la rete virtuale personalizzata devono soddisfare i requisiti seguenti:
- È possibile associare le tabelle di routing di Azure alla rete virtuale solo quando si crea una nuova istanza del servizio Azure Spring Apps. Non è possibile modificare per usare un'altra tabella di routing dopo aver creato un'istanza di Azure Spring Apps.
- Sia la subnet dell'applicazione Spring che la subnet del runtime del servizio devono essere associate a tabelle di routing diverse o a nessuna di esse.
- Le autorizzazioni devono essere assegnate prima della creazione dell'istanza. Assicurarsi di concedere a Azure Spring Cloud Resource Provider le autorizzazioni
User Access Administrator
eNetwork Contributor
per le tabelle di routing. - Una volta creato il cluster, non è possibile aggiornare la risorsa della tabella di routing associata. Anche se non è possibile aggiornare la risorsa della tabella di routing, è possibile modificare regole personalizzate nella tabella di routing.
- Non è possibile riutilizzare una tabella di routing con più istanze a causa di potenziali regole di routing in conflitto.
Utilizzo di server DNS personalizzati
Azure Spring Apps supporta l'uso di server DNS personalizzati nella rete virtuale.
Se non si specificano server DNS personalizzati nell'impostazione Rete virtuale del server DNS, Per impostazione predefinita, Azure Spring Apps userà il DNS di Azure per risolvere gli indirizzi IP. Se la rete virtuale è configurata con impostazioni DNS personalizzate, aggiungere l'indirizzo IP 168.63.129.16
DNS di Azure come server DNS upstream nel server DNS personalizzato. DNS di Azure può risolvere gli indirizzi IP per tutti i nomi di dominio completi pubblici indicati in Responsabilità del cliente che esegue Azure Spring Apps in una rete virtuale. Può anche risolvere l'indirizzo IP per *.svc.private.azuremicroservices.io
nella rete virtuale.
Se il server DNS personalizzato non può aggiungere l'indirizzo IP 168.63.129.16
DNS di Azure come server DNS upstream, seguire questa procedura:
- Assicurarsi che il server DNS personalizzato possa risolvere gli indirizzi IP per tutti i nomi di dominio completi pubblici. Per altre informazioni, vedere Responsabilità dei clienti che eseguono Azure Spring App in una rete virtuale.
- Aggiungere il record DNS
*.svc.private.azuremicroservices.io
all'indirizzo IP dell'applicazione. Per altre informazioni, vedere la sezione Trovare l'indirizzo IP per l'applicazione di Accedere a un'app in Azure Spring App in una rete virtuale.