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.

  1. Nel menu del portale di Azure selezionare Crea una risorsa. In Azure Marketplace selezionare Rete>Rete virtuale.

  2. 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.
  3. Selezionare Avanti: Indirizzi IP.

  4. Per lo spazio indirizzi IPv4, immettere 10.1.0.0/16.

  5. 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.

  6. 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.

  7. 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 Accesso utenti Amministrazione istrator 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:

  1. Selezionare la rete azure-spring-apps-vnet virtuale creata in precedenza.

  2. Selezionare Controllo di accesso (IAM) e quindi Aggiungi>Aggiungi assegnazione di ruolo.

    Screenshot della pagina portale di Azure Controllo di accesso (IAM) che mostra la scheda Controlla accesso con il pulsante Aggiungi assegnazione di ruolo evidenziato.

  3. 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.

    Screenshot della pagina portale di Azure Controllo di accesso con il riquadro Aggiungi assegnazione di ruolo e casella Seleziona con il provider di risorse di Azure Spring Apps evidenziato.

Distribuire un'istanza di Azure Spring Apps

Usare la procedura seguente per distribuire un'istanza di Azure Spring Apps nella rete virtuale:

  1. Apri il portale di Azure.

  2. Nella casella di ricerca superiore cercare Azure Spring Apps. Selezionare Azure Spring Apps nel risultato.

  3. Nella pagina App Azure Spring selezionare Aggiungi.

  4. Compilare il modulo nella pagina Creazione di App Azure Spring.

  5. Selezionare lo stesso gruppo di risorse e la stessa area della rete virtuale.

  6. Per Nome in Dettagli servizio selezionare azure-spring-apps-vnet.

  7. Selezionare la scheda Rete e quindi i valori seguenti:

    Impostazione Valore
    Distribuisci nella rete virtuale personale Selezionare .
    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.

    Screenshot della pagina portale di Azure Creazione di app Azure Spring che mostra la scheda Rete.

  8. Seleziona Rivedi e crea.

  9. Verificare le specifiche, quindi selezionare Crea.

    Screenshot della pagina di creazione di portale di Azure Azure Spring Apps che mostra la sezione Rete della scheda Rivedi e 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.

Screenshot del portale di Azure che mostra le risorse per il runtime 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.

Screenshot del portale di Azure che mostra le risorse per le applicazioni Spring.

Queste risorse di rete sono connesse alla rete virtuale creata in precedenza.

Screenshot della portale di Azure che mostra la pagina dei dispositivi Connessione per una rete virtuale.

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
App con un core: 96
App con due core: 48
App con tre core: 32
App con quattro core: 24

/27 32 24

App con 0.5 core: 456
App con un core: 228
App con due core: 144
App con tre core: 96
App con quattro core: 72

/26 64 56

App con 0,5 core: 500
App con un core: 500
App con due core: 336
App con tre core: 224
App con quattro core: 168

/25 128 120

App con 0,5 core: 500
App con un core: 500
App con due core: 500
App con tre core: 480
App con quattro core: 360

/24 256 248

App con 0,5 core: 500
App con un core: 500
App con due core: 500
App con tre core: 500
App con quattro 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 (o User Access Administrator le Network 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:

Passaggi successivi