Configurare Istanza gestita su Servizio app di Azure

Istanza gestita su Servizio app di Azure è un'opzione di hosting a scopo di piano per applicazioni web Windows che necessitano di personalizzazione del sistema operativo (OS), rete privata opzionale e integrazione sicura con i servizi Azure.

  • Identità gestita
  • Script di configurazione (installazione)
  • Supporti di archiviazione
  • Chiavi del Registro di sistema
  • Accesso RDP (Desktop remoto Protocol)

Importante

Istanza gestita è generalmente disponibile per le app web Windows in alcune regioni ed è limitato ai piani tariffari Pv4 e Pmv4. Microsoft aggiungerà altre regioni nel tempo. Istanza gestita non supporta Linux e i container.

Aggiungere un'identità gestita (al piano di servizio app)

Le identità gestite a livello di piano consentono l'autenticazione per operazioni infrastrutturali che avvengono a livello di piattaforma, come gli script di configurazione (installazione) che accedono ad Archiviazione di Azure durante l'avvio e l'accesso a Key Vault per montaggi di storage e adattatori di chiave del registro.

Le identità gestite per il piano di servizio app sono necessarie negli scenari seguenti:

  • Per accedere e recuperare in modo sicuro lo script di configurazione da Archiviazione di Azure.
  • Accedere agli insiemi di chiavi per fornire credenziali e valori per i punti di montaggio dell'archiviazione e gli adattatori delle chiavi di registro del sistema.

Per creare un'identità gestita, vedere Gestire le identità gestite assegnate dall'utente.

Per aggiungere un'identità gestita al piano di Istanza gestita:

  1. Passare a Istanza gestita nel portale di Azure.
  2. Selezionare Identità>Assegnata dall'utente.
  3. Seleziona + Aggiungi.
  4. Selezionare la sottoscrizione e l'identità gestita.
  5. Selezionare Aggiungi per aggiungere l'identità al piano.

Aggiungere script di configurazione (installazione)

Gli script di configurazione (installazione) non sono obbligatori. Usa uno script quando la tua app richiede l'installazione di dipendenze o la configurazione di funzionalità a livello di sistema operativo.

Gli script di configurazione (installazione) vengono eseguiti all'avvio dell'istanza per applicare la personalizzazione permanente. Esempi includono la registrazione del Component Object Model (COM), le installazioni di Microsoft/Windows Installers (MSI) e l'abilitazione dei ruoli/funzionalità di Windows. Usa script di configurazione per le modifiche che devono persistere durante i riavvii dell'istanza. Usa RDP per la diagnostica, non per la configurazione persistente.

Per usare gli script di configurazione (installazione), è necessario quanto segue:

  • Un'identità gestita assegnata al piano di servizio app
  • Un account di archiviazione con un contenitore BLOB che contiene il pacchetto (ZIP) di script di configurazione (installazione).
  • Un singolo file ZIP la cui radice contiene Install.ps1 (punto di ingresso)
  • Il ruolo Storage Blob Data Reader nell'account di archiviazione, nel contenitore o nel gruppo di risorse

Per aggiungere uno script di configurazione:

  1. Passare al piano di servizio app di Istanza gestita nel portale di Azure.

  2. Selezionare Configurazione>Impostazioni generali.

  3. Nella sezione Script di configurazione configurare prima di tutto lo script.

    Impostazione Value
    Account di archiviazione Selezionare l'account di archiviazione
    Contenitore Immettere il nome del contenitore
    File ZIP Immettere il nome del file ZIP
    Value Verificare che questo valore sia corretto
  4. Selezionare Applica per salvare le modifiche.

Procedure consigliate per gli script di configurazione

  • Creare script idempotenti (controllare prima dell'installazione).
  • Sorvegliare le operazioni distruttive (evitare di modificare le directory di sistema Windows protette).
  • Suddividere in fasi le installazioni complesse per ridurre la latenza di avvio.

Esempio di struttura ZIP minima:

Install.ps1
myInstallerfileNameGoesHere.msi
config.xml

Script di configurazione di esempio:

# Install Components, for example Crystal Reports, Control Library, Database Driver
$ComponentInstaller = "myInstallerFileNameGoesHere.msi"
try {
    $Component = Join-Path $PSScriptRoot $ComponentInstaller
    Start-Process $Component -ArgumentList "/q" -Wait -ErrorAction Stop
} catch {
    Write-Error "Failed to install ${ComponentInstaller}: $_"
    exit 1
}

Configurare i montaggi di archiviazione

I mount di storage forniscono storage esterno persistente, come File di Azure, a cui la tua app può accedere. Utilizza i punti di montaggio dello storage per il codice legacy che necessita di accesso a un filesystem condiviso. Non usare supporti di stoccaggio per i segreti; usa invece Key Vault. Lo storage locale è temporaneo, ma File di Azure e montaggi UNC personalizzati persistono durante i riavvii.

Per configurare i montaggi di archiviazione, è necessario quanto segue:

  • Identità gestita (per l'accesso a Key Vault)
  • Segreto di Key Vault (origine credenziali)

Per configurare i montaggi di archiviazione:

  1. Passare a Istanza gestita nel portale di Azure.
  2. Selezionare Configurazione>Montaggi.
  3. Selezionare + Nuovo montaggio di archiviazione.

Specificare i dettagli seguenti per configurare il montaggio di archiviazione:

Impostazione Value
Nome Immettere un nome di montaggio
Tipo di archiviazione File di Azure, Personalizzato o Locale (archiviazione temporanea)
Account di archiviazione Selezionare o immettere un account di archiviazione
Condivisione file Selezionare una condivisione file
Value Selezionare un insieme di credenziali delle chiavi
Secret Selezionare il segreto dell'insieme di credenziali delle chiavi
Lettera di unità di montaggio Selezionare il percorso della lettera di unità

È possibile montare l'archiviazione esterna nell'istanza gestita. L'archiviazione montata è persistente tra riavvii e accessibile dal file system dell'app.

Configurare i montaggi di archiviazione con File di Azure

Per configurare un montaggio di archiviazione di File di Azure:

  1. Creare un account di ANDrchiviazione di Azure e una condivisione file di Azure.
  2. Archiviare le credenziali di connessione in Key Vault come segreto. Contenuto del segreto supportato: (ad esempio: DefaultEndpointsProtocol=...;AccountName=...;AccountKey=...;EndpointSuffix=core.windows.net)
  3. Aggiungere il montaggio in Istanza gestita (portale di Azure o ARM/Bicep/Terraform).

Suggerimento

Applicare le autorizzazioni a livello di condivisione tramite il controllo degli accessi in base al ruolo di Azure e le liste di controllo degli accessi in base al ruolo di condivisione per una sicurezza avanzata.

Configurare i montaggi di archiviazione con UNC personalizzato

Usare i montaggi per le condivisioni SMB ospitate altrove (locale, macchina virtuale o non Microsoft). Verificare la connettività di rete (integrazione della rete virtuale/endpoint privati/firewall).

  1. Se sono necessarie le credenziali, archiviarle in un segreto di Key Vault nel formato seguente: username=<user>,password=<password>
    • Evitare account amministratore di dominio. Usare un'identità del servizio con privilegi minimi.
  2. Aggiungere il montaggio in Istanza gestita.

Configurare le chiavi del Registro di sistema

Alcune applicazioni dipendono dai valori letti dal Registro di sistema di Windows. Con una adattatore delle chiavi del Registro di sistema è possibile creare chiavi del Registro di sistema e usare i segreti di Azure Key Vault come valore.

Per configurare le chiavi del Registro di sistema, è necessario quanto segue:

  • Identità gestita (per l'accesso a Key Vault)
  • Segreto di Key Vault (origine credenziali)

Per configurare le chiavi del Registro di sistema:

  1. Passare a Configurazione>Chiavi del Registro di sistema.

  2. Seleziona + Aggiungi.

    Impostazione Value
    Percorso Immettere il percorso del Registro di sistema
    Vault Immettere il nome di un insieme di credenziali esistente
    Secret Selezionare o immettere il segreto dell'insieme di credenziali delle chiavi
    TIPO Stringa o DWORD
  3. Selezionare Aggiungi per aggiungere la chiave del Registro di sistema.

Attenzione

Prestare attenzione quando si modificano i percorsi del Registro di sistema critici del sistema. Le modifiche non corrette possono influire sulla stabilità dell'istanza.

Configurare l'accesso RDP (Bastion)

Avvio rapido: Distribuire Automaticamente Azure Bastion consente di connettersi in modo sicuro alle istanze della macchina virtuale tramite Desktop remoto Protocol (RDP). RDP tramite Azure Bastion è pensato per diagnostica e risoluzione dei problemi. Usa script di configurazione per le modifiche persistenti.

Per l'accesso Bastion/RDP sono necessarie le risorse seguenti:

  • L'istanza gestita deve essere integrata nella rete virtuale
  • Host Azure Bastion nella rete virtuale di destinazione
  • La porta 3389 deve essere consentita dal gruppo di sicurezza di rete della subnet Bastion al gruppo di sicurezza di rete della subnet del piano di servizio app

Per configurare Bastion:

  1. Passare a Configurazione>Bastion/RDP.
  2. Verificare che la Rete virtuale sia connessa.
  3. Selezionare Consenti Desktop remoto (tramite Bastion).

Attenzione

Non applicare programmi di installazione manuali o modifiche alla configurazione esclusivamente tramite RDP. Le modifiche vengono perse durante il riciclo o creano deriva della configurazione.

Domande frequenti

Quale sistema operativo è in esecuzione in Istanza gestita sul Servizio app di Azure?

Windows Server 2022.

È possibile abilitare altri ruoli e funzionalità di Windows?

Sì, tramite uno script di configurazione. Tuttavia, non puoi configurare funzionalità che vengono rimosse da una futura versione di Windows Server.

Istanza gestita sul Servizio app di Azure riceve aggiornamenti regolari della piattaforma e dello stack di applicazioni?

Sì, le istanze ricevono aggiornamenti e manutenzione di routine della piattaforma. Il servizio aggiorna regolarmente anche gli stack di applicazioni preinstallati. Sei responsabile della manutenzione di eventuali componenti che installi tramite script di configurazione.

Quali linguaggi di programmazione sono installati in Istanza gestita sul Servizio app di Azure?

Il servizio include Microsoft .NET Framework 3.5, 4.8 e Microsoft .NET 8.0. Se hai bisogno di altri runtime, installali usando uno script di configurazione. Servizio app di Azure non mantiene runtime extra come parte della piattaforma.

Quali sono le limitazioni per gli script di configurazione (installazione)?

Quali sono i limiti sugli script di configurazione (installazione)?

Gli script di configurazione (installazione) possono installare dipendenze, abilitare ruoli e funzionalità e personalizzare il sistema operativo. Tuttavia, il servizio non supporta operazioni distruttive (ad esempio, la Windows\\System32cancellazione) perché possono influire sulla stabilità dell'istanza.

A quale livello di autorizzazione viene eseguito uno script di configurazione (installazione)?

Gli script di configurazione (installazione) vengono eseguiti con autorizzazioni di tipo Amministratore per consentire l'installazione e la configurazione dei componenti a livello di sistema.

Quali autorizzazioni di ruolo ha un operatore quando ci si connette a un'istanza usando Bastion?

Gli operatori che si connettono tramite Bastion hanno privilegi di Amministratore durante la sessione.

Come si possono risolvere gli errori relativi allo script di configurazione (installazione) o agli adattatori di archiviazione o del Registro di sistema?

Gli operatori che si connettono tramite Bastion hanno privilegi Amministratore durante la sessione. Puoi trovare i log degli adattatori nella radice della macchina, oppure sono logati nei Log della Piattaforma di Servizi Applicativi.

I log degli adattatori sono disponibili nella radice del computer. In alternativa, vengono registrati nei log della piattaforma del Servizio app.

Qual è la memoria indirizzabile di un'istanza del ruolo di lavoro dell'Istanza gestita sul Servizio app di Azure?

La memoria indirizzabile di una Istanza gestita su Servizio app di Azure worker instance varia a seconda del piano tariffario scelto. La tabella seguente elenca la memoria indirizzabile per l'istanza Istanza gestita Worker.

Piano tariffario Nuclei Memoria (MB)
P0v4 1 2048
P1v4 2 5952
P2v4 4 13440
P3v4 8 28672
P1Mv4 2 13440
P2Mv4 4 28672
P3Mv4 8 60160
P4Mv4 16 121088
P5Mv4 32 246016

Quale servizio di Archiviazione di Azure è necessario usare per caricare uno script di configurazione (installazione)?

Usare il servizio BLOB di Archiviazione di Azure per caricare lo script e le dipendenze necessarie.

Esiste una restrizione sulla denominazione e sul formato per lo script di configurazione (installazione)?

Sì, lo script deve essere denominato Install.ps1. È supportato solo PowerShell. Assicurarsi di caricare script di configurazione (installazione) e dipendenze come singolo file ZIP.

Esiste un limite di dimensioni per le dipendenze che è possibile caricare come parte del file ZIP?

Non viene applicato alcun limite di dimensioni. Tenere presente che le dimensioni complessive delle dipendenze influiscono sul tempo di provisioning dell'istanza.

L'aggiunta o la modifica di adattatori dei piani di Istanza gestita sul Servizio app comportano il riavvio delle istanze del piano?

Sì, aggiungere o modificare adattatori Istanza gestita plan (script di configurazione, storage o registro) riavvia le istanze sottostanti e influisce su tutte le web app distribuite sul plan. Per applicare modifiche di configurazione sono necessarie le riavvii delle istanze.

Il piano di Istanza gestita ha più istanze. È possibile riavviare una singola istanza?

Sì, passare a Istanza gestita e selezionare Istanze nel menu a sinistra. Selezionare quindi Riavvia accanto al nome dell'istanza.

Il piano di Istanza gestita sul Servizio app ha più applicazioni Web. È possibile riavviare una singola applicazione Web?

Sì, passare alla pagina Panoramica dell'app e selezionare Riavvia.

È possibile assegnare l'identità gestita all'applicazione Web all'interno dell'istanza gestita nel piano di servizio app?

Sì, è possibile assegnare un'identità gestita diversa a un'applicazione Web all'interno di Istanza gestita. Seguire le indicazioni per l'identità gestita

Esiste una limitazione per il numero di adattatori che è possibile creare per il piano di Istanza gestita sul Servizio app?

C'è un limite sul numero di adattatori che posso creare per il piano Istanza gestita on App Service?

No, non esiste alcun limite per il numero di adattatori di archiviazione o del Registro di sistema. È possibile creare un singolo adattatore di script di configurazione (installazione) per il piano di Istanza gestita sul Servizio app. Aumentare il numero di adattatori potrebbe aumentare il tempo di provisioning dell'istanza.