Condividi tramite


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.

  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. Quindi immettere service-runtime-subnet per Nome subnet e 10.1.0.0/24 per Intervallo di indirizzi della subnet. Selezionare Aggiungi.

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

  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 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:

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

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

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

  3. Assegnare i ruoli Network Contributor e User 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 e Network 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:

  1. Apri il portale di Azure.

  2. Nella casella di ricerca in alto cercare Azure Spring Apps. Selezionare Azure Spring Apps nei risultati.

  3. Nella pagina Azure Spring Apps fare clic su + Aggiungi.

  4. Compilare il modulo nella pagina di creazione di Azure Spring Apps.

  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 Creazione app Azure Spring del portale di Azure che mostra la scheda Rete.

  8. Seleziona Rivedi e crea.

  9. Verificare le specifiche, quindi selezionare Crea.

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

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

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 del portale di Azure che mostra la pagina Dispositivi connessi 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 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 e Network 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:

Passaggi successivi