Indirizzi IP in ingresso e in uscita in Servizio app di Azure

Servizio App di Azure è un servizio multi-tenant, ad eccezione di quanto riguarda gli ambienti del servizio app. Le app che non sono incluse in un ambiente del servizio app (non incluse nel livello Isolato) condividono l'infrastruttura di rete con altre app. Di conseguenza, gli indirizzi IP in ingresso e in uscita di un'app possono essere diversi e in determinate situazioni possono addirittura cambiare.

Gli ambienti del servizio app usano infrastrutture di rete dedicate e di conseguenza le app in esecuzione nell'ambiente del servizio app ottengono indirizzi IP statici dedicati per le connessioni sia in ingresso sia in uscita.

Funzionamento degli indirizzi IP in servizio app

Un'app servizio app viene eseguita in un piano di servizio app e i piani servizio app vengono distribuiti in una delle unità di distribuzione nell'infrastruttura di Azure (denominata internamente uno spazio Web). A ogni unità di distribuzione viene assegnato un set di indirizzi IP virtuali, che include un indirizzo IP in ingresso pubblico e un set di indirizzi IP in uscita. Tutti i piani servizio app nella stessa unità di distribuzione e le istanze dell'app in esecuzione, condividono lo stesso set di indirizzi IP virtuali. Per un ambiente del servizio app (un piano servizio app nel livello Isolato), il piano servizio app è l'unità di distribuzione stessa, quindi gli indirizzi IP virtuali sono dedicati a esso come risultato.

Poiché non è consentito spostare un piano di servizio app tra unità di distribuzione, gli indirizzi IP virtuali assegnati all'app rimangono in genere uguali, ma esistono eccezioni.

Casi in cui gli indirizzi IP in ingresso cambiano

Indipendentemente dal numero di istanze cui è applicata scalabilità orizzontale, ogni app ha un singolo indirizzo IP in ingresso. L'indirizzo IP in entrata può cambiare quando si esegue una delle azioni seguenti:

  • Eliminazione di un'app e ricreazione dell'app in un gruppo di risorse diverso (l'unità di distribuzione potrebbe cambiare).
  • Eliminare l'ultima app in una combinazione di gruppi di risorse e area e ricrearla (l'unità di distribuzione può cambiare).
  • Eliminare un'associazione TLS/SSL basata su IP esistente, ad esempio durante il rinnovo del certificato (vedere Rinnovare il certificato).

Trovare l'indirizzo IP in ingresso

È sufficiente eseguire il comando seguente in un terminale locale:

nslookup <app-name>.azurewebsites.net

Ottenere un indirizzo IP in ingresso statico

A volte è necessario un indirizzo IP statico dedicato per l'app. Per ottenere un indirizzo IP in ingresso statico, è necessario proteggere un nome DNS personalizzato con un'associazione di certificati basata su IP. Se non è effettivamente necessaria la funzionalità TLS per proteggere l'app, è anche possibile caricare un certificato autofirmato per questa associazione. In un'associazione TLS basata su IP, il certificato è associato all'indirizzo IP stesso, quindi servizio app effettua il provisioning di un indirizzo IP statico per farlo accadere.

Casi in cui gli indirizzi IP in uscita cambiano

Indipendentemente dal numero di istanze cui è applicata scalabilità orizzontale, ogni app ha un numero impostato di indirizzi IP in uscita in qualsiasi momento. Qualsiasi connessione in uscita dall'app di Servizio app di Azure, ad esempio un database back-end, usa uno degli indirizzi IP in uscita come indirizzo IP di origine. L'indirizzo IP da usare viene selezionato in modo casuale in fase di esecuzione, quindi il servizio back-end deve aprire il firewall a tutti gli indirizzi IP in uscita per l'app.

Il set di indirizzi IP in uscita per l'app cambia quando si esegue una delle azioni seguenti:

  • Eliminazione di un'app e ricreazione dell'app in un gruppo di risorse diverso (l'unità di distribuzione potrebbe cambiare).
  • Eliminare l'ultima app in una combinazione di gruppi di risorse e area e ricrearla (l'unità di distribuzione può cambiare).
  • Ridimensionare l'app tra i livelli inferiori (Basic, Standard e Premium), il livello PremiumV2 , il livello PremiumV3 e le opzioni Pmv3 all'interno del livello PremiumV3 (gli indirizzi IP possono essere aggiunti o sottratti dal set).

È possibile trovare il set di tutti i possibili indirizzi IP in uscita che l'app può usare, indipendentemente dai piani tariffari, cercando la possibleOutboundIpAddresses proprietà o nel campo Indirizzi IP in uscita aggiuntivi nel pannello Proprietà del portale di Azure. Vedere Trovare gli indirizzi IP in uscita.

Si noti che il set di tutti i possibili indirizzi IP in uscita può aumentare nel tempo se servizio app aggiunge nuovi piani tariffari o opzioni alle distribuzioni di servizio app esistenti. Ad esempio, se servizio app aggiunge il livello PremiumV3 a una distribuzione di servizio app esistente, il set di tutti gli indirizzi IP in uscita possibili aumenterà. Analogamente, se servizio app aggiunge nuove opzioni Pmv3 a una distribuzione che supporta già il livello PremiumV3, anche il set di tutti i possibili indirizzi IP in uscita aumenterà. Questo non ha alcun effetto immediato perché gli indirizzi IP in uscita per le applicazioni in esecuzione non cambiano quando viene aggiunto un nuovo piano tariffario o un'opzione a una distribuzione di servizio app. Tuttavia, se le applicazioni passano a un nuovo piano tariffario o a un'opzione non disponibile in precedenza, verranno usati nuovi indirizzi in uscita e i clienti dovranno aggiornare le regole del firewall downstream e le restrizioni degli indirizzi IP.

Trovare gli indirizzi IP in uscita

Per trovare gli indirizzi IP in uscita attualmente usati dall'app nel portale di Azure, fare clic su Proprietà nel riquadro di spostamento a sinistra dell'app. Sono elencati nel campo Indirizzi IP in uscita .

È possibile trovare le stesse informazioni eseguendo il comando seguente nel Cloud Shell.

az webapp show --resource-group <group_name> --name <app_name> --query outboundIpAddresses --output tsv
(Get-AzWebApp -ResourceGroup <group_name> -name <app_name>).OutboundIpAddresses

Per trovare tutti gli indirizzi IP in uscita possibili per l'app, indipendentemente dai piani tariffari, fare clic su Proprietà nel riquadro di spostamento a sinistra dell'app. Sono elencati nel campo Indirizzi IP in uscita aggiuntivi.

È possibile trovare le stesse informazioni eseguendo il comando seguente nel Cloud Shell.

az webapp show --resource-group <group_name> --name <app_name> --query possibleOutboundIpAddresses --output tsv
(Get-AzWebApp -ResourceGroup <group_name> -name <app_name>).PossibleOutboundIpAddresses

Ottenere un indirizzo IP statico in uscita

È possibile controllare l'indirizzo IP del traffico in uscita dall'app usando l'integrazione della rete virtuale a livello di area insieme a un gateway NAT di rete virtuale per indirizzare il traffico attraverso un indirizzo IP pubblico statico. L'integrazione della rete virtuale a livello di area è disponibile nei piani di servizio app Basic,Standard, PremiumV2 e PremiumV3. Per altre informazioni su questa configurazione, vedere Integrazione del gateway NAT.

Passaggi successivi

Apprendere come limitare il traffico in ingresso tramite indirizzi IP di origine.