Distribuire App Spring di Azure in una rete virtuale
Nota
Azure Spring Apps è il nuovo nome del servizio Azure Spring Cloud. Anche se il servizio ha un nuovo nome, il nome precedente verrà visualizzato in alcune posizioni per un po' mentre si lavora per aggiornare gli asset, ad esempio screenshot, video e diagrammi.
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 e del runtime del servizio di Azure Spring Apps da Internet nella rete aziendale.
- Interazione di Azure Spring Apps con i sistemi nei data center locali o nei servizi di Azure in altre reti virtuali.
- Responsabilizzazione dei clienti per 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 in portale di Azure o eseguendo il comando dell'interfaccia della riga di comando di Azure seguente:
az provider register --namespace Microsoft.AppPlatform
az provider register --namespace Microsoft.ContainerService
Requisiti della rete virtuale
La rete virtuale in cui si distribuisce l'istanza di Azure Spring Apps deve soddisfare i requisiti seguenti:
- Percorso: la rete virtuale deve trovarsi nella stessa posizione dell'istanza di Azure Spring Apps.
- Sottoscrizione: la rete virtuale deve trovarsi nella stessa sottoscrizione dell'istanza di 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.
- Esiste 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: CIDR blocca fino a /28 sia per la subnet del runtime del servizio che per la subnet delle applicazioni Spring.
- Tabella di route: per impostazione predefinita le subnet non richiedono tabelle di route esistenti associate. È possibile usare una tabella di route 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 si dispone già di una rete virtuale per 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. Immettere quindi service-runtime-subnet per Nome subnet e immettere 10.1.0.0/24 per Intervallo di indirizzi subnet. Selezionare Aggiungi.
Selezionare di nuovo Aggiungi subnet e quindi immettere il nome della subnet e l'intervallo di indirizzi della 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 all'app Azure Spring l'autorizzazione Proprietario per la rete virtuale. Questa autorizzazione consente di concedere un'entità servizio dedicata e dinamica nella rete virtuale per un'ulteriore distribuzione e manutenzione.
Nota
Le autorizzazioni minime necessarie sono Amministratore accesso utenti e Collaboratore rete. È possibile concedere le assegnazioni di ruolo a entrambi se non è possibile concedere Owner
l'autorizzazione.
Se si usa la propria tabella di route o una funzionalità di route definita dall'utente, è anche necessario concedere ad Azure Spring Apps le stesse assegnazioni di ruolo alle tabelle di route. Per altre informazioni, vedere la sezione Bring your own route table (Bring your own route table ) e Control egress traffic for an Azure Spring Apps instance (Controllare il traffico in uscita per un'istanza di Azure Spring Apps).
Per concedere l'autorizzazione, seguire questa procedura:
Selezionare la rete
azure-spring-apps-vnet
virtuale creata in precedenza.Selezionare Controllo di accesso (IAM) e quindi Aggiungi>Aggiungi assegnazione di ruolo.
Assegnare il
Owner
ruolo al provider di risorse di Azure Spring Apps. Per ulteriori informazioni, vedi Assegnare ruoli di Azure usando il portale di Azure.Nota
Se non si trova il provider di risorse di Azure Spring Apps, cercare Azure Spring Cloud Resource Provider.
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 superiore cercare Azure Spring Apps. Selezionare Azure Spring Apps nel risultato.
Nella pagina App Azure Spring selezionare Aggiungi.
Compilare il modulo nella pagina Creazione di App Azure Spring.
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 vengono creati altri due gruppi di risorse per 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 contiene ap-svc-rt_{service instance name}_{service instance region}
risorse di rete per il runtime del servizio dell'istanza del servizio.
Il gruppo di risorse denominato contiene ap-app_{service instance name}_{service instance region}
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 /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 route.
Se le subnet personalizzate non contengono tabelle di route, 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 route, Azure Spring Apps riconosce le tabelle di route 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 route 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 route
Le tabelle di route a cui è associata la rete virtuale personalizzata devono soddisfare i requisiti seguenti:
- È possibile associare le tabelle di route 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 route dopo la creazione di Azure Spring Apps.
- Sia la subnet dell'applicazione Spring che la subnet del runtime del servizio devono essere associate a tabelle di route diverse o a nessuna di esse.
- Le autorizzazioni devono essere assegnate prima della creazione dell'istanza. Assicurarsi di concedere al provider di risorse di Azure Spring Apps l'autorizzazione
Owner
(oUser Access Administrator
leNetwork Contributor
autorizzazioni) nelle tabelle di route. - Non è possibile aggiornare la risorsa della tabella di route associata dopo la creazione del cluster. Anche se non è possibile aggiornare la risorsa della tabella di route, è possibile modificare regole personalizzate nella tabella di route.
- Non è possibile riutilizzare una tabella di route con più istanze a causa di potenziali regole di routing in conflitto.
Uso 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 del server DNS Rete virtuale, Azure Spring Apps userà per impostazione predefinita 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 eseguono App Azure Spring 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 App Azure Spring in una rete virtuale.
- Aggiungere il record
*.svc.private.azuremicroservices.io
DNS all'indirizzo IP dell'applicazione. Per altre informazioni, vedere la sezione Trovare l'indirizzo IP per l'applicazione in Accedere a un'app in Azure Spring Apps in una rete virtuale.