Guida alla configurazione di una Web farm Windows Server AppFabric

Windows Server AppFabric è un'estensione di Internet Information Services (IIS) 7.0 basata sul servizio Attivazione processo Windows (WAS, Windows Process Activation). Le funzionalità di hosting e gestione di Windows Server AppFabric consentono di migliorare le attività di hosting e gestione dei servizi Windows Communication Foundation (WCF) e Windows Workflow (WF) di .NET Framework 4. AppFabric fornisce infatti il supporto per eseguire in modo più efficace le attività di gestione e distribuzione e per semplificare la configurazione di questi servizi. Inoltre, il servizio di memorizzazione nella cache di Windows Server AppFabric rende disponibile in memoria una cache ad alta velocità per favorire la scalabilità delle applicazioni .NET Framework e ASP.NET. Per ulteriori informazioni sulle funzionalità di hosting, gestione e memorizzazione nella cache di Windows Server AppFabric, vedere Windows Server AppFabric.

In un'installazione di AppFabric di dimensioni limitate o in un ambiente di sviluppo, è sufficiente un unico server AppFabric. Per soddisfare le esigenze di elaborazione degli utenti in una configurazione di questo tipo, l'istanza di SQL Server può essere eseguita anche sullo stesso server di AppFabric. In un ambiente di produzione più grande, tuttavia, è opportuno configurare una Web farm con più server AppFabric per consentire la gestione del carico più elevato. Una soluzione di bilanciamento del carico consente la distribuzione delle richieste in ingresso, in modo da ripartire tra più server l'elaborazione dei messaggi in arrivo. Con una Web farm di server AppFabric, è possibile implementare soluzioni di bilanciamento del carico utilizzando un elemento hardware o software su un dispatcher front-end comune. È ad esempio possibile utilizzare l'opzione software relativa ai servizi Bilanciamento carico di rete (NLBS, Network Load Balancing Services) che viene fornita con Windows Server 2008 Enterprise Edition. Per informazioni tecniche su NLBS, vedere la pagina della panoramica relativa a Bilanciamento carico di rete. Per ulteriori informazioni sulla procedura di configurazione di NLBS, vedere la Guida dettagliata per la configurazione di Bilanciamento carico di rete.

Le Web farm consentono non solo di migliorare le prestazioni, tramite la riduzione del carico su ogni server, ma anche di aumentare il livello di disponibilità. Se un server nella Web farm viene disabilitato, ad esempio passa allo stato offline per attività di manutenzione, il controllo viene assunto da altri server nella Web farm, senza che gli utenti siano consapevoli di questa variazione. I server presenti all'interno di una Web farm condividono un pool di risorse e riducono al minimo il rischio di colli di bottiglia dovuti a conflitti tra risorse. Per ulteriori informazioni sui livelli più elevati di prestazioni e disponibilità e sul bilanciamento del carico in Windows Server 2008, vedere la pagina relativa alle tecnologie per la disponibilità elevata.

In questo documento verranno fornite informazioni per facilitare le operazioni di installazione e configurazione di Windows Server AppFabric in una Web farm IIS esistente. Si presuppone che sia già stata configurata una farm di server Web IIS, che sia già stato implementato un cluster di Bilanciamento carico di rete e che l'utente sia pronto a installare e configurare i servizi di hosting e gestione di Windows Server AppFabric in ciascuno dei server. Verrà innanzitutto illustrata in sintesi la procedura di installazione e configurazione delle funzionalità di hosting e gestione di AppFabric nella Web farm.

Installazione e configurazione delle funzionalità di hosting e gestione di AppFabric in una Web farm

Per assicurarsi che l'installazione della Web farm funzioni in modo corretto ed efficiente è opportuno seguire una procedura specifica. In questo documento verranno descritti i passaggi elencati di seguito, che è necessario seguire per installare e configurare correttamente i servizi di hosting e gestione di Windows Server AppFabric in una Web farm di server con servizi IIS distribuiti:

  1. Configurare la sicurezza del dominio per il supporto della configurazione della Web farm con le funzionalità di hosting e gestione di AppFabric.

  2. Configurare un'installazione di base per le funzionalità di hosting e gestione di AppFabric, costituita da un computer dedicato ai servizi di hosting e gestione e da un altro computer SQL Server per l'hosting dei database di monitoraggio e salvataggio permanente.

  3. Installare le funzionalità di hosting e gestione di AppFabric in tutti i server della Web farm.

  4. Configurare le funzionalità di hosting e gestione di AppFabric in tutti i server della Web farm.

  5. Duplicare le applicazioni esistenti a partire dall'installazione di base delle funzionalità di hosting e gestione di AppFabric in tutti i server della Web farm.

Dopo il completamento delle procedure di installazione e configurazione delle funzionalità di hosting e gestione di AppFabric, può essere necessario eseguire attività di manutenzione per modifiche alla configurazione. Di seguito sono riportati alcuni esempi di possibili modifiche da effettuare:

  • Apportare una modifica alla configurazione di uno dei server AppFabric, ad esempio al livello di limitazione delle richieste WCF. In tal caso, sarà necessario replicare la modifica sugli altri server AppFabric nel cluster della Web farm.

  • Rimuovere un server AppFabric dal cluster della Web farm. Dopo questa modifica sarà necessario verificare che la Web farm e il server rimosso continuino a funzionare correttamente.

  • Aggiungere la funzionalità di memorizzazione nella cache di Windows Server AppFabric a un'applicazione ASP.NET esistente aggiornata.

Verranno trattati alcuni aspetti importanti relativi a questi tipi di modifiche per consentire di comprendere, a un livello più avanzato, le operazioni da eseguire in caso di modifiche all'installazione della Web farm AppFabric.

Passaggio 1: Configurare la sicurezza del dominio

Prima di illustrare la procedura per la configurazione iniziale di AppFabric in una Web farm, è necessario approfondire il concetto della sicurezza, che è fondamentale per la corretta configurazione del sistema. Quando si utilizzano più server AppFabric in una Web farm, è opportuno modificare la configurazione relativa alla sicurezza, passando dai gruppi di sicurezza locali AS_Administrators e AS_Observers di Windows, creati durante l'installazione in un unico computer, ai gruppi di dominio relativi a più computer. Per la corretta configurazione di AppFabric sui server della Web farm, è necessario che gli account e i gruppi di sicurezza del dominio siano configurati in modo appropriato. Per ulteriori informazioni sui gruppi di sicurezza di Windows per AppFabric, vedere Sicurezza di Windows.

Modello di sicurezza per AppFabric

Per una migliore comprensione del modello di sicurezza per AppFabric, è possibile definire, a livello teorico, tre ruoli di sicurezza. Questi ruoli sono puramente teorici e non corrispondono quindi a entità presenti nei server della Web farm, ma si manifestano nei gruppi di sicurezza fisici di Windows e nei ruoli di database di SQL Server corrispondenti, in base ai requisiti di accesso e funzionalità. I criteri di appartenenza a questi ruoli concettuali vengono definiti durante la fase di progettazione di una soluzione di sicurezza per la Web farm.

  • Amministratori: questo ruolo consente il controllo completo della configurazione, l'utilizzo di applicazioni e servizi e l'accesso ai dati di monitoraggio e salvataggio permanente. Le identità del servizio di raccolta eventi (ECS, Event Collection Service) e del servizio Gestione flussi di lavoro (WMS, Workflow Management Service) fanno parte di questo gruppo teorico. Se non sono incluse in un dominio, le identità di sicurezza appartenenti a questa categoria vengono in genere mappate al gruppo di sicurezza locale AS_Administrators di Windows.

  • Osservatori: questo ruolo consente la visualizzazione e l'enumerazione dei dati di monitoraggio e salvataggio permanente, oltre all'utilizzo di servizi e applicazioni. Se non sono incluse in un dominio, le identità di sicurezza appartenenti a questa categoria vengono in genere mappate al gruppo di sicurezza locale AS_Observers di Windows.

  • Utenti: questo ruolo viene utilizzato da IIS in fase di esecuzione per assegnare le identità di sicurezza ai propri pool di applicazioni che ospitano i servizi e le applicazioni di AppFabric. In questo modo, i servizi contenuti nelle applicazioni possono accedere ai database di monitoraggio e salvataggio permanente e ai servizi di sistema. A questa categoria teorica vengono in genere mappate le identità di sicurezza utilizzate per i pool di applicazioni IIS che ospitano i servizi di AppFabric.

Per ulteriori informazioni sul modello di sicurezza di AppFabric, vedere Sicurezza e protezione.

Sicurezza del dominio di AppFabric

Dopo la presentazione del modello di sicurezza di AppFabric, verrà illustrato come progettare la configurazione della sicurezza per il supporto di AppFabric in una Web farm. Per proteggere una Web farm con più server AppFabric, è necessario utilizzare account di dominio in alternativa ai gruppi locali AS_Administrators e AS_Observers, creati durante la configurazione di AppFabric su un unico server. A tal fine, è opportuno tenere presente che i programmi di installazione e configurazione di AppFabric non creano gli account di dominio in modo automatico ed è pertanto necessario creare tali account manualmente mediante Active Directory. Questi account dovranno essere specificati durante la procedura di configurazione di AppFabric.

Per motivi di coerenza, all'interno questo documento verrà fatto riferimento a un ipotetico dominio generico denominato MyDomain. All'interno di tale dominio verranno creati gruppi di dominio specifici per AppFabric, denominati arbitrariamente MyAppFabricDomainAdministrators, MyAppFabricDomainObservers e MyAppFabricDomainUsers. L'account utente MyAppFabricDomainAdministrator farà parte del gruppo MyAppFabricDomainAdministrators, mentre MyAppFabricDomainUser farà parte di MyAppFabricDomainUsers.

Di seguito sono descritti i passaggi da seguire per configurare correttamente la sicurezza del dominio prima di procedere alla configurazione delle funzionalità di hosting e gestione di Windows Server AppFabric su più computer server AppFabric all'interno del dominio:

  1. Creare gruppi di sicurezza di dominio di Windows corrispondenti a ciascuno dei ruoli teorici di AppFabric (Amministratori, Osservatori e Utenti). Concedere agli utenti assegnati a questi gruppi i privilegi appropriati associati a ciascun ruolo teorico di AppFabric, anche se a livello di dominio. Per ulteriori informazioni sulla gestione dei gruppi in Servizi di dominio Active Directory, vedere la sezione relativa alla gestione dei gruppi.

  2. Dopo aver creato questi gruppi di sicurezza di Windows a livello di dominio, creare e aggiungere gli account utente di dominio appropriati, in base all'appartenenza a ruoli teorici di AppFabric. Può ad esempio essere opportuno creare l'account utente MyDomain\MyAppFabricDomainAdministrator e aggiungerlo al gruppo MyDomain\MyAppFabricDomainAdministrators. Per ulteriori informazioni sulla gestione degli account utente in Servizi di dominio Active Directory, vedere la sezione relativa alla gestione degli utenti.

  3. Le identità di servizio in base alle quali verranno eseguiti il servizio di raccolta eventi e il servizio Gestione flussi di lavoro sui diversi server della Web farm devono essere incluse nel gruppo MyDomain\MyAppFabricDomainAdministrators. In genere, questo gruppo include anche l'account MyDomain\MyAppFabricDomainAdministrator. È necessario concedere agli utenti del gruppo e applicare nel dominio il privilegio "Accedi come servizio", che consente a un'entità di sicurezza di accedere come servizio. Questo diritto deve essere assegnato a qualsiasi servizio eseguito con un account utente separato. Per informazioni sulla procedura da seguire per l'aggiunta del diritto "Accedi come servizio" a un account, vedere Aggiungere il diritto Accedi come servizio a un account.

Una procedura consigliata per la sicurezza della Web farm consiste nel passare un account predefinito o un account di dominio quando viene richiesto di passare un'entità di Windows a un cmdlet di AppFabric. Durante la configurazione del server AppFabric iniziale in una Web farm, ad esempio, è possibile che vengano eseguiti i cmdlet Initialize-ASMonitoringSqlDatabase e Initialize-ASPersistenceSqlDatabase. In tal caso, sarà necessario passare account di dominio anziché account locali.

Passaggio 2: Definire la configurazione iniziale di base per AppFabric

Verrà innanzitutto presentata una configurazione comunemente utilizzata nelle semplici installazioni delle funzionalità di hosting e gestione di Windows Server AppFabric in un unico server. Un server di base iniziale verrà utilizzato come modello di configurazione delle funzionalità di hosting e gestione di AppFabric per tutti gli altri server nella Web farm. Da tale server verrà ricavata la configurazione di base per le funzionalità di hosting e gestione di AppFabric e IIS che verrà duplicata in tutti gli altri server nella Web farm. In questa configurazione, tutti i servizi WCF/WF di .NET Framework 4 vengono gestiti su un unico server di hosting e gestione AppFabric. I database di monitoraggio e salvataggio permanente sono installati in un server separato che esegue SQL Server. Più client accedono ai servizi WCF/WF di .NET Framework 4 tramite il singolo server Web di hosting e gestione AppFabric.

Installazione singola di Windows Server AppFabric

Preparazione e installazione delle funzionalità di hosting e gestione di AppFabric nella configurazione di base

Le funzionalità di hosting e gestione di Windows Server AppFabric devono essere installate nell'unico server di base. È necessario innanzitutto assicurarsi che il sistema sia in grado di soddisfare i prerequisiti per l'installazione, in particolare .NET Framework versione 4, aggiornamenti Windows critici e Windows PowerShell versione 2.0. Per informazioni sulle operazioni preliminari all'installazione, vedere Preparazione del computer per l'installazione.

In questo documento non verranno riportati tutti i dettagli delle procedure di installazione e configurazione, ma verranno esaminati solo aspetti specifici correlati all'utilizzo di AppFabric in una Web farm. Per ulteriori informazioni su queste procedure, vedere Installazione di Windows Server AppFabric e Installazione e configurazione di Windows Server AppFabric.

Al termine dell'installazione delle funzionalità di hosting e gestione di AppFabric, prima di procedere alla configurazione di tali servizi nel server di base è necessario configurare correttamente SQL Server.

Preparazione e inizializzazione di SQL Server

Per configurare SQL Server in una Web farm AppFabric è necessario eseguire alcune attività preliminari per garantire il corretto funzionamento della configurazione. Se SQL Server non è stato ancora inizializzato e configurato per AppFabric, è necessario effettuare queste operazioni prima di eseguire il programma di configurazione di AppFabric. La modalità di preparazione di SQL Server dipende dalle autorizzazioni di cui si dispone sul database di SQL Server.

noteNota
SQL Server deve essere installato in un computer server dedicato per evitare conflitti con AppFabric e IIS per l'acquisizione delle risorse di sistema. Per garantire una maggiore disponibilità, è possibile inserire in un cluster il computer che esegue SQL Server utilizzando la funzionalità di clustering di SQL Server. Per ulteriori informazioni su questa funzionalità, vedere Introduzione al clustering di failover di SQL Server 2008 R2.

Se nel computer di SQL Server l'account utente in uso non è incluso nel ruolo sysdamin e quindi non ottiene il controllo amministrativo completo sull'installazione di SQL Server, effettuare le seguenti operazioni prima di proseguire:

  • Richiedere all'amministratore del database (DBA) di creare database di monitoraggio e salvataggio permanente per AppFabric. Prendere nota del nome del server e dei database poiché questi dati saranno necessari durante la fase di configurazione di AppFabric.

  • Assicurarsi che l'amministratore del database aggiunga l'account utente in uso al ruolo dbcreator per ogni database. In questo modo sarà possibile inizializzare il database, ma non si disporrà dei diritti di accesso completo che sono disponibili agli account inclusi in un ruolo sysadmin.

Configurazione delle funzionalità di hosting e gestione di AppFabric nella configurazione di base

Una volta completate le attività di preparazione di SQL Server e quelle di installazione delle funzionalità di hosting e gestione di AppFabric, è possibile procedere alla configurazione di tali funzionalità. Per la configurazione su un unico server di base, è possibile utilizzare i cmdlet di Windows PowerShell per AppFabric o la Configurazione guidata di Windows Server AppFabric. Tuttavia, quando si installano e si configurano le funzionalità di hosting e gestione di AppFabric su più server in una Web farm, l'esecuzione della Configurazione guidata in ciascun computer può richiedere molto tempo ed è soggetta a un maggior rischio di errori. La soluzione più efficace per configurare AppFabric in un ambiente di questo tipo consiste nel creare file di script mediante i cmdlet di Windows PowerShell per AppFabric, anche se, per motivi di completezza e per illustrare la relazione tra i cmdlet e l'interfaccia utente di AppFabric, di seguito verranno illustrati entrambi i metodi.

Creazione e inizializzazione dei database tramite i cmdlet di Windows PowerShell

Innanzitutto verrà esaminata la procedura di inizializzazione del database tramite i cmdlet di Windows PowerShell per AppFabric. Verranno utilizzati i due cmdlet Initialize-ASMonitoringSqlDatabase e Initialize-ASPersistenceSqlDatabase.

  • Cmdlet Initialize-ASMonitoringSqlDatabase. L'esecuzione di questo cmdlet ha per effetto la creazione del database di monitoraggio, se questo non è già presente. Una volta creato il database, il cmdlet assegnerà le appartenenze ai ruoli per i tre account di dominio specificati nei parametri Amministratori, Lettori e Scrittori. Di seguito è riportato un esempio di esecuzione del cmdlet Initialize-ASMonitoringSqlDatabase:

    Initialize-ASMonitoringSqlDatabase 
    –Server “SQLServerComputer” 
    –Database “monitoringDB” 
    –Admins “MyDomain\MyAppFabricDomainAdministrators” 
    –Readers “MyDomain\MyAppFabricDomainObservers” 
    –Writers “MyDomain\MyAppFabricDomainUsers”
    
    
    L'esecuzione di questo cmdlet ha per effetto la creazione del database di monitoraggio monitoringDB sul server di database SQLServerComputer, se questo non è già presente. Per gli account di dominio nel database di monitoraggio verranno inoltre create le appartenenze ai ruoli riportate nella seguente tabella.

     

    Gruppo di dominio Appartenenza a ruoli di monitoringDB

    MyDomain\MyAppFabricDomainAdministrators

    Ruoli ASMonitoringDBAdmin, ASMonitoringDBReader e ASMonitoringDBWriter

    MyDomain\MyAppFabricDomainObservers

    Ruolo ASMonitoringDBReader

    MyDomain\MyAppFabricDomainUsers

    Ruolo ASMonitoringDBWriter

  • Cmdlet Initialize-ASPersistenceSqlDatabase. L'esecuzione di questo cmdlet ha per effetto la creazione del database di salvataggio permanente, se questo non è già presente. Una volta creato il database, il cmdlet assegnerà le appartenenze ai ruoli per i tre account di dominio specificati nei parametri Amministratori, Lettori e Utenti. Di seguito è riportato un esempio di esecuzione del cmdlet Initialize-ASPersistenceSqlDatabase:

    Initialize-ASPersistenceSqlDatabase 
    -Server “SQLServerComputer”
    -Database “persistenceDB” 
    -Admins “MyDomain\MyAppFabricDomainAdministrators” 
    -Users “MyDomain\MyAppFabricDomainUsers”
    -Readers “MyDomain\MyAppFabricDomainObservers”
    
    L'esecuzione di questo cmdlet ha per effetto la creazione del database di salvataggio permanente persistenceDB sul server di database SQLServerComputer, se questo non è già presente. Per gli account di dominio nel database di salvataggio permanente verranno inoltre create le appartenenze ai ruoli riportate nella seguente tabella.

     

    Gruppo di dominio Appartenenza a ruoli di persistenceDB

    MyDomain\MyAppFabricDomainAdministrators

    Ruoli Microsoft.ApplicationServer.DurableInstancing.WorkflowAdministrators, Microsoft.ApplicationServer.DurableInstancing.WorkflowManagementServerUsers, System.Activities.DurableInstancing.InstanceStoreObservers, System.Activities.DurableInstancing.InstanceStoreUsers e System.Activities.DurableInstancing.WorkflowActivationUsers

    MyDomain\MyAppFabricDomainObservers

    Ruolo System.Activities.DurableInstancing.InstanceStoreObservers

    MyDomain\MyAppFabricDomainUsers

    Ruolo System.Activities.DurableInstancing.InstanceStoreUsers

In questi esempi, persistenceDB e monitoringDB sono nomi scelti arbitrariamente per indicare i database di monitoraggio e salvataggio permanente in SQL Server. Questi nomi saranno necessari più avanti, durante la configurazione delle funzionalità di hosting e gestione di AppFabric in una Web farm.

Per ulteriori informazioni sulla creazione e sull'inizializzazione di un database mediante i cmdlet di AppFabric, vedere Creare e inizializzare un database tramite i cmdlet di Windows Server AppFabric. Per ulteriori informazioni sulla sintassi di questi cmdlet, vedere Initialize-ASMonitoringSqlDatabase e Initialize-ASPersistenceSqlDatabase.

Creazione e inizializzazione dei database mediante la Configurazione guidata di Windows Server AppFabric

Se si decide di non utilizzare gli script e i cmdlet di Windows PowerShell, è possibile eseguire in alternativa la Configurazione guidata di Windows Server AppFabric, che fornisce un'interfaccia utente per creare e inizializzare i database di monitoraggio e salvataggio permanente e per configurare la sicurezza del database. Di seguito è illustrata una finestra di dialogo della procedura guidata per la configurazione del database di monitoraggio. È disponibile una finestra di dialogo simile anche per il database di salvataggio permanente. Per entrambi i database, è necessario impostare gli stessi parametri relativi ai gruppi di dominio e ai ruoli di database che devono essere specificati nei corrispondenti cmdlet di inizializzazione dei database descritti in precedenza.

Per ulteriori informazioni su queste procedure, vedere Installazione di Windows Server AppFabric e Installazione e configurazione di Windows Server AppFabric.

Finestra di dialogo Configurazione archivio di monitoraggio

Passaggio 3: Installare AppFabric nella Web farm

In questo passaggio verranno installate le funzionalità di hosting e gestione di Windows Server AppFabric in una Web farm esistente in un cluster con carico bilanciato. Per il corretto funzionamento del bilanciamento del carico in una Web farm AppFabric, la configurazione su tutti i server AppFabric del cluster deve apparire identica ai client. Ogni server del cluster deve contenere gli stessi servizi WCF/WF di .NET Framework 4 ed ereditare le stesse impostazioni di configurazione. Tutti i server condividono gli stessi database di monitoraggio e salvataggio permanente di SQL Server. Questo significa che in tutti i server vengono visualizzati gli stessi dati e le stesse impostazioni di configurazione nell'ambito dell'interfaccia utente di AppFabric. Dato che le applicazioni, la configurazione e i database sono gli stessi in tutti i computer, anche la metrica di monitoraggio nel Dashboard AppFabric e nelle pagine correlate Eventi monitorati, Istanze WF permanenti e Istanze WF monitorate sarà identica per tutti.

Configurazione della Web farm AppFabric

Ad alto livello, AppFabric ha ora l'esigenza di replicare la configurazione e il codice del programma dal server di base modello ai diversi server nella Web farm. Una tipica scelta di installazione consiste nell'esecuzione del programma di installazione di AppFabric da una condivisione di rete. Se si sceglie questa soluzione, è tuttavia necessario essere consapevoli delle problematiche legate ai criteri di sicurezza dall'accesso di codice configurati.

Configurazione dei criteri di sicurezza dall'accesso di codice

Per impostazione predefinita, la sicurezza dall'accesso di codice è disabilita. È quindi possibile che non sia necessario configurare questi criteri. Se tuttavia le impostazioni della sicurezza dall'accesso di codice sono abilitate e impediscono l'esecuzione di codice da condivisioni Intranet, l'installazione di AppFabric avrà esito negativo. Il programma di installazione non sarà infatti in grado di eseguire alcun tipo di codice, incluso quello per la visualizzazione dei messaggi di errore. Per questo motivo, non è possibile utilizzare la logica di convalida della piattaforma per imporre le impostazioni appropriate di protezione dall'accesso di codice.

Per ovviare a questo problema è possibile configurare i criteri di sicurezza dall'accesso di codice in modo da consentire l'esecuzione con attendibilità totale del programma di installazione dalle condivisioni Intranet, come illustrato nei seguenti esempi:

  • Il seguente comando aggiunge l'assembly di installazione di Windows Server AppFabric all'elenco di attendibilità totale per i criteri a livello di computer:

    caspol -computer -addfulltrust WindowsServerAppFabricSetup.exe

  • Il seguente comando aggiunge un gruppo codice figlio che concede le autorizzazioni alla Intranet locale per la condivisione \\netserver\netshare:

    caspol -computer -addgroup 1. -url \\netserver\netshare\* LocalIntranet

Per ulteriori informazioni sulla configurazione della protezione dall'accesso di codice, vedere Strumento .NET Framework Configuration (Mscorcfg.msc) e Strumento criteri di protezione dall'accesso di codice (Caspol.exe).

Installazione di AppFabric

Al termine della configurazione della protezione dall'accesso di codice, è possibile procedere all'installazione delle funzionalità di hosting e gestione di Windows Server AppFabric in ciascuno dei nuovi server AppFabric. È possibile scegliere di avviare il programma di installazione di AppFabric ed eseguire l'installazione in ogni singolo server dall'interfaccia utente del programma oppure, soprattutto in una Web farm, può essere opportuno eseguire un'installazione automatica da riga di comando. In questo modo, tutti i server della Web farm avranno le stesse impostazioni di configurazione dopo l'installazione. In caso di installazione automatica, non è richiesto l'input manuale dell'amministratore durante il processo di installazione. Se tuttavia si esegue l'installazione automatica in una Web farm, il controllo verrà restituito alla riga di comando mentre l'installazione è ancora in corso. Per impedire che venga restituito il controllo prima del completamento del processo, richiamare l'installazione automatica da un prompt dei comandi amministrativo utilizzando il comando start /w di cmd.exe. Per ulteriori informazioni sull'installazione automatica di AppFabric, vedere Installazione automatica.

Passaggio 4: Configurare le funzionalità di hosting e gestione di AppFabric nella Web farm

Al termine dell'installazione delle funzionalità di hosting e gestione di Windows Server AppFabric, è necessario procedere alla configurazione dei server di hosting e gestione AppFabric. È possibile effettuare questa operazione mediante la Configurazione guidata di Windows Server AppFabric, gli script di Windows PowerShell o l'amministrazione remota.

Configurazione guidata di AppFabric

È possibile richiamare la Configurazione guidata di Windows Server AppFabric scegliendo Configurazione di AppFabric dal gruppo di programmi Windows Server AppFabric nel menu Start.

Per impostare la configurazione di monitoraggio mediante IIS

  1. Impostare Account del servizio di raccolta eventi di AppFabric su MyDomain\MyDomainAdministrator. Verrà visualizzato un messaggio per segnalare che l'autorizzazione Accedi come servizio è stata concessa.

  2. Fare clic su Configura per Provider monitoraggio e selezionare Registra archivio di monitoraggio AppFabric nel file web.config radice. Non selezionare Inizializza archivio di monitoraggio perché il database di monitoraggio è già in stato inizializzato. Questo determina la disabilitazione di tutte le opzioni della sezione Configurazione sicurezza perché sono già stati specificati account di dominio per i ruoli Amministratori, Lettori e Scrittori.

  3. Per Stringa di collegamento specificare il server e il database di monitoraggio, quindi scegliere OK.

Per impostare la configurazione di salvataggio permanente mediante IIS

  1. Impostare Account del servizio Gestione flussi di lavoro di AppFabric su MyDomain\MyDomainAdministrator. Verrà visualizzato un messaggio per segnalare che l'autorizzazione Accedi come servizio è stata concessa.

  2. Fare clic su Configura per Provider salvataggio permanente e selezionare Registra archivio di salvataggio permanente AppFabric nel file web.config radice. Non selezionare Inizializza archivio salvataggi permanenti perché il database di salvataggio permanente è già in stato inizializzato. Questo determina la disabilitazione di tutte le opzioni della sezione Configurazione sicurezza perché sono già stati specificati account di dominio per i ruoli Amministratori, Lettori e Scrittori.

  3. Per Stringa di collegamento specificare il server e il database di salvataggio permanente, quindi scegliere OK.

Per ulteriori informazioni sulla configurazione di AppFabric mediante la Configurazione guidata di Windows Server AppFabric, vedere Configurare Windows Server AppFabric.

È necessario tenere presente che la Configurazione guidata di Windows Server AppFabric può avere esito negativo su un controller di dominio se si utilizzano account non di dominio. Non è possibile aggiungere account a livello di servizio, ovvero non di dominio, per il servizio di raccolta eventi e il servizio Gestione flussi di lavoro al gruppo degli amministratori di dominio o a quello degli osservatori su un controller di dominio. Questo avviene perché gli ID di sicurezza (SID) dei servizi Windows sono più lunghi di quelli supportati da Active Directory. Di conseguenza, quando si tenta di inizializzare un archivio utilizzando il SID da un account non di dominio, è possibile che venga restituito un errore per segnalare che l'entità principale di sicurezza di Windows non è valida. Per risolvere questo problema, configurare AppFabric utilizzando account di dominio e associare il ruolo Servizio Active Directory al ruolo Server applicazioni come indicato di seguito:

  1. Eseguire il servizio di raccolta eventi e il servizio Gestione flussi di lavoro negli account di dominio anziché negli account a livello di servizio.

  2. Aggiungere gli account di dominio utilizzati per i servizi ECS e WMS al gruppo degli amministratori di dominio creato, ad esempio l'account MyDomain\MyAppFabricDomainAdministrator al gruppo MyDomain\MyAppFabricDomainAdministrators. Questo account verrà utilizzato per connettersi al database di monitoraggio o salvataggio permanente associato.

  3. Aggiungere manualmente l'account del servizio di raccolta eventi al gruppo Performance Log Users. Questa operazione permette al servizio di raccolta eventi di leggere o scrivere nella sessione Event Tracing for Windows (ETW).

Configurazione remota di AppFabric

Per configurare e amministrare in remoto un altro server IIS (AppFabric) in una Web farm utilizzando Gestione Internet Information Services (IIS), attenersi alla seguente procedura:

  1. Fare clic sulla pagina iniziale nel riquadro Connessioni sul server di origine.

  2. Selezionare Connetti a un server, immettere un nome in Nome server, quindi fornire le credenziali per la connessione.

  3. Nella sezione Gestione del riquadro centrale fare clic sull'icona Servizio di gestione per aprire la finestra di dialogo con il nome corrispondente.

  4. Selezionare Abilita connessioni remote.

  5. Assicurarsi che Servizio Gestione Web IIS sia avviato su entrambi i server.

Quando si è connessi in remoto, è possibile configurare il server come amministratore remoto selezionando Configura in Gestisci servizi WCF e WF. Non è tuttavia possibile accedere all'opzione Distribuisci per l'importazione o l'esportazione di un pacchetto di distribuzione. Per ulteriori informazioni sull'amministrazione remota di Windows Server AppFabric, vedere la sezione relativa all'amministrazione remota nella pagina relativa alla protezione dell'amministrazione e in quella relativa all'amministrazione remota per Gestione IIS.

Creazione di script per la configurazione di AppFabric

Le operazioni manuali di configurazione effettuate tramite IIS richiedono tempo e sono soggette a rischio di errori. Di conseguenza, per gestire la configurazione della Web farm Windows Server AppFabric è in genere preferibile fare ricorso agli script, che consentono agli amministratori di eseguire più rapidamente le attività e apportare modifiche in maniera coerente su grandi gruppi di server della Web farm AppFabric. L'utilizzo di script consente di risparmiare tempo anche nella diagnosi di eventuali problemi.

È possibile creare uno script di Windows PowerShell per la configurazione delle funzionalità di hosting e gestione di AppFabric sul server aggiunto alla Web farm. Lo script può contenere comandi di Windows PowerShell di base e chiamate a cmdlet specifici di AppFabric. I cmdlet di Windows PowerShell per AppFabric consentono di eseguire quasi tutte le attività associate ai comandi dell'interfaccia utente di AppFabric basata su IIS. Per creare uno script di configurazione delle funzionalità di hosting e gestione di AppFabric in una Web farm, è possibile combinare i cmdlet a comandi di Windows PowerShell di base e ad altre utilità, ad esempio APPCMD.EXE di IIS. Questi particolari script di configurazione conterranno comandi e parametri specifici dell'installazione della Web farm. Tuttavia, a questo punto del processo, gli script di configurazione includeranno solo le seguenti funzionalità di base:

  • Gestione della sicurezza e assegnazione dell'appartenenza al gruppo Administrators locale mediante ADSI (Active Directory Services Interface) (per informazioni, vedere Active Directory Service Interfaces)

  • Aggiunta o aggiornamento delle impostazioni delle stringhe di connessione nel file di configurazione di .NET Framework specificato (mediante l'utilità appcmd di IIS) per il monitoraggio e il salvataggio permanente

  • Configurazione delle identità di servizio per ECS e WMS (mediante SetServiceCredential)

  • Creazione di comportamenti predefiniti e configurazione delle impostazioni relative al monitoraggio e al salvataggio permanente (mediante Set-ASAppMonitoring e Set-ASAppSqlServicePersistence)

Per un esempio di script di configurazione delle funzionalità di hosting e gestione di AppFabric su un unico server che effettua queste operazioni, vedere la pagina relativa alla configurazione di AppFabric mediante script. L'esempio costituisce un utile punto di partenza per la scrittura di script di installazione personalizzati per la Web farm e il dominio. È possibile chiamare più volte la versione personalizzata dello script per configurare ogni server di hosting e gestione AppFabric nella Web farm. Per informazioni sulla configurazione di IIS e l'utilità per l'esecuzione di query, vedere Appcmd.exe.

Di seguito sono riportati alcuni consigli di carattere generale per fare in modo che gli script di configurazione vengano eseguiti correttamente su più server della Web farm AppFabric:

  • Configurare Windows PowerShell per l'esecuzione remota di cmdlet su computer remoti tramite Windows Remote Management (WinRM) 2.0. Per questa configurazione, è necessario che i servizi Gestione remota Windows (WinRM) siano in ascolto delle richieste WSMAN su HTTPS dalla console di Windows PowerShell sul computer remoto. Per ulteriori informazioni, vedere la pagina relativa a Gestione remota Windows.

  • Per l'utilizzo remoto di Windows PowerShell è necessario che Windows PowerShell V2 RTM sia installato e in esecuzione sia sul computer client sia sul server remoto. Per ulteriori informazioni, vedere Configurazione della gestione remota di Windows PowerShell.

  • Tutti i computer che verranno modificati durante la sincronizzazione devono consentire Servizi Web (HTTP) tramite i propri firewall. Assicurarsi che il database sia predisposto per l'accesso remoto. Se si utilizza SQL Server, vedere Configurazione di Windows Firewall per consentire l'accesso a SQL Server.

  • Tutti i computer di una Web farm devono appartenere a un dominio e l'account utilizzato per sincronizzare la farm deve disporre di privilegi amministrativi su tutti i computer.

  • Se si utilizza lo strumento di distribuzione Web in remoto, il relativo Servizio agente remoto deve essere installato e in esecuzione su tutti i computer. Lo strumento di distribuzione Web viene installato da AppFabric per impostazione predefinita, ma il relativo Servizio agente remoto non fa parte dell'installazione predefinita. Per installare il Servizio agente remoto, utilizzare Programmi e funzionalità nel Pannello di controllo. Per ulteriori informazioni sull'installazione e sulla configurazione dello strumento di distribuzione Web, vedere la pagina relativa all'installazione di questo strumento.

Di seguito sono riportati alcuni collegamenti per ulteriori informazioni sulla creazione di script di Windows PowerShell.

Passaggio 5: Trasferire le applicazioni di AppFabric nella Web Farm

Le operazioni di installazione e configurazione dei file di sistema per le funzionalità di hosting e gestione di Windows Server AppFabric costituiscono solo una parte della procedura di configurazione della Web farm AppFabric. Per l'utilizzo corretto del bilanciamento del carico, è opportuno duplicare le applicazioni e i servizi Web configurati in IIS sul server di hosting e gestione AppFabric iniziale. Le applicazioni e i servizi Web devono essere trasferiti su tutti gli altri server AppFabric di cui si esegue la replica come parte del cluster della Web farm. Questa operazione può essere eseguita in modo semplice e immediato in AppFabric.

Trasferimento delle applicazioni mediante MSDEPLOY in IIS

Windows Server AppFabric sfrutta le funzionalità di IIS esistenti per importare o esportare le applicazioni utilizzando lo strumento di distribuzione Web, che consente di spostare le entità di distribuzione nel e dal server Web tramite IIS. Per questo strumento è disponibile anche la versione da riga di comando, msdeploy.exe, che facilita la distribuzione di applicazioni da Gestione IIS mediante script di Windows PowerShell. Lo strumento msdeploy.exe consente di controllare in dettaglio il risultato della distribuzione e di eseguire operazioni di risoluzione dei problemi quando la distribuzione non produce i risultati previsti. Per ulteriori informazioni, vedere le pagine relative allo strumento di distribuzione Web e Web Deploy.

Le entità di distribuzione vengono importate ed esportate in AppFabric mediante i comandi di Gestione IIS basati sullo strumento di distribuzione Web. È possibile importare o esportare entità per una singola applicazione, per tutte le applicazioni di un sito Web o per tutti i siti Web di un server. Per ulteriori informazioni sull'esportazione e sull'importazione di applicazioni, vedere Importare ed esportare un'applicazione in Windows Server AppFabric. Per ulteriori informazioni sull'utilizzo dello strumento di distribuzione Web per sincronizzare i siti Web di IIS 7.0 tra computer di origine e di destinazione, vedere la pagina relativa alla sincronizzazione di IIS 7.

Esportazione di un'applicazione mediante IIS

Nell'ambito della creazione di una Web farm AppFabric, può essere opportuno scegliere i pacchetti applicazioni da esportare negli altri server. Se si esporta una volta un pacchetto per un'applicazione, sarà sufficiente importare tale pacchetto su qualsiasi altro server della Web farm per fare in modo che ospiti lo stesso servizio con un'identica configurazione.

Sul server di base, nel riquadro Connessioni di Gestione IIS, selezionare un livello in base al quale definire l'ambito di esportazione. Selezionare il comando Esporta pacchetto server/Esporta applicazione. Nel corso della procedura guidata selezionare i dati che si desidera esportare all'interno del pacchetto di output finale. Verrà creato un pacchetto applicazione (file con estensione zip) contenente dati di configurazione, incluse impostazioni del Registro di sistema, contenuto Web, script e informazioni del database SQL Server. Tutti questi elementi sono necessari per importare il pacchetto in un altro server AppFabric e creare di nuovo la configurazione necessaria per il corretto funzionamento dell'applicazione.

Importazione di un'applicazione mediante IIS

Mentre l'esportazione deve essere eseguita una sola volta, l'importazione deve essere eseguita una volta per ogni server AppFabric presente nella Web farm. Per mantenere la coerenza dei dati tra i server, all'inizio del processo di importazione sul nuovo server assicurarsi di selezionare, nel riquadro Connessioni di Gestione IIS, lo stesso ambito da cui è stato esportato il pacchetto sul server di base. Fare clic su Importa pacchetto server o sito per iniziare il processo di importazione. Al termine del processo, il nuovo server verrà configurato con le stesse applicazioni e impostazioni di IIS/AppFabric del server di base.

Una volta completata l'importazione, cambiare l'identità di account dei pool di applicazioni che verrà utilizzata per l'esecuzione delle applicazioni gestite da AppFabric sul nuovo server. Configurare questo valore in modo da utilizzare l'account MyDomain\MyAppFabricDomainUser. Quest'ultimo è membro del gruppo MyDomain\MyAppFabricDomainUsers, il quale dispone dei diritti di accesso ai database di SQL Server di monitoraggio e salvataggio permanente, risultanti dall'appartenenza a ruoli specifici tramite il relativo gruppo di dominio padre MyDomain\MyAppFabricDomainUsers.

Trasferimento delle applicazioni mediante script di MSDEPLOY

Per trasferire applicazioni dal server di base ad altri server nella Web farm è possibile creare script di msdeploy.exe. Per informazioni sulla sintassi di msdeploy.exe, vedere la pagina relativa allo strumento di distribuzione Web.

Con una semplice modifica alla sintassi, i comandi dello strumento di distribuzione Web possono essere eseguiti da un prompt di Windows PowerShell. È sufficiente sostituire con un segno di uguale (=) il carattere dei due punti (:) riportato dopo gli argomenti verb, source e dest del comando. Di seguito è riportato un esempio del comando MSDEPLOY:

MSDEPLOY -verb:sync -source:metakey=/lm/w3svc/1 -dest:metakey=/lm/w3svc/2 -verbose

e della versione corrispondente per Windows PowerShell:

.\MSDEPLOY.exe -verb=sync -source=metakey=/lm/w3svc/1 -dest=metakey=/lm/w3svc/2 –verbose

In questa fase del processo, l'utilizzo di Windows PowerShell è possibile, ma non necessario. La reale efficacia dei comandi di Windows PowerShell per AppFabric verrà illustrata nella sezione successiva, relativa alla configurazione di una Web farm.

Modifica della configurazione di AppFabric in una Web Farm

Dopo la configurazione della Web farm iniziale con le funzionalità di hosting e gestione di Windows Server AppFabric,è possibile che si presenti la necessità di apportare modifiche alla configurazione su tutti i server di hosting e gestione AppFabric. Di seguito sono riportati alcuni esempi di modifiche che possono essere necessarie.

  • A livello di servizio, un amministratore può avere la necessità di modificare un'impostazione relativa alla limitazione delle richieste WCF. Le modifiche apportate a livello di servizio hanno per effetto l'aggiornamento del file Web.config della singola applicazione.

  • A livello di server, è possibile che una stringa di connessione utilizzata da tutte le applicazioni sul server richieda un aggiornamento in modo da puntare a un altro server di database di monitoraggio. Le modifiche apportate a livello di computer hanno per effetto l'aggiornamento del file Web.config radice.

Per ulteriori informazioni sulla gestione delle modifiche alla configurazione, vedere Processo di configurazione in Windows Server AppFabric.

Meccanismi di modifica della configurazione

In una Web farm le modifiche devono essere applicate a tutti i computer esattamente nello stesso modo. Se per tutte le modifiche da apportare sono disponibili degli script, l'operazione è semplice. In caso contrario, il problema consiste nel trovare una soluzione per registrare e riprodurre tutte le modifiche su tutti i computer della Web farm. Una soluzione è quella di applicare tutte le modifiche a un solo computer e quindi replicare la configurazione nella Web farm. Di seguito sono descritte alcune soluzioni che è possibile adottare per assicurarsi che le modifiche di configurazione di un server vengano replicate sugli altri server nella Web farm:

  • Sviluppare uno script di Windows PowerShell contenente i nomi di tutti i computer nel cluster. All'interno del codice è possibile richiamare in modo ciclico il cmdlet di Windows PowerShell appropriato su ogni computer della Web farm per modificare l'impostazione tramite il codice dello script.

  • Eseguire l'utilità XCOPY per copiare il file Web.config modificato da un server di base a ciascuno dei server della Web farm.

  • Utilizzare msdeploy.exe per esportare le modifiche dal livello di ambito appropriato sul server di base. Il contenuto viene creato durante il processo di esportazione all'interno di un pacchetto di installazione (file con estensione zip). L'operazione è simile a quella effettuata quando si aggiunge alla Web farm un altro computer cluster di hosting e gestione di AppFabric. Una volta esportate le modifiche, sarà possibile importare il pacchetto di installazione da ogni server del cluster per ottenere le impostazioni di configurazione aggiornate. Per ulteriori informazioni sull'utilizzo dello strumento di distribuzione Web per sincronizzare i siti Web di IIS 7.0 tra computer di origine e di destinazione, vedere la pagina relativa alla sincronizzazione di IIS 7. Per un esempio di utilizzo di msdeploy.exe per sincronizzare tutti i computer di una Web farm con un computer modello, vedere la pagina relativa alla sincronizzazione di tutti i computer di una Web Farm in base a un computer modello.

noteNota
In questo documento non verrà illustrato l'utilizzo della configurazione condivisa di IIS per la gestione delle modifiche di configurazione. In tale paradigma viene utilizzato un unico file di configurazione su un archivio di file condiviso contenente le informazioni di configurazione per tutti i computer in una posizione centrale. Quando vengono apportate modifiche globali che hanno effetto su più siti e applicazioni, tutti i domini di applicazione vengono sottoposti contemporaneamente a riciclo. Questo effetto collaterale indesiderato impedisce temporaneamente all'intero cluster della Web farm di gestire le richieste in ingresso.

Consigli relativi alle modifiche di configurazione

Quando si apportano modifiche alla configurazione dei server di hosting e gestione AppFabric in una Web farm, si consiglia di non aggiornare contemporaneamente tutti i computer. Le procedura più appropriata consiste nel rimuovere temporaneamente una parte dei server dal cluster di hosting e gestione AppFabric con carico bilanciato, nell'aggiornare i server e quindi nell'aggiungerli nuovamente al cluster in modo da consentire l'aggiornamento degli altri server.

Un metodo coerente per apportare modifiche consiste nell'eseguire lo stesso script su più server. In caso di distribuzione, ad esempio, è necessario inserire tutti i comandi di msdeploy.exe in un unico file di script (ad esempio scriptmsdeploy.cmd) e quindi chiamare tale file da un altro file di script (scriptDriver.cmd). Il secondo file viene eseguito ciclicamente in modo da richiamare scriptsmsdeploy.cmd una volta per ogni server della Web farm. Per determinare il valore di ciclicità è possibile inserire come hardcoded il nome di ogni server in un terzo file (appFabricServers.txt) e quindi leggere dall'interno di scriptDriver.cmd ogni nome di server riportato in tale file statico, come indicato di seguito:

for /f %%i in ('type appFabricServers.txt’) do
(start scriptDriver.cmd %%i %1)

Un metodo appena più complesso per apportare modifiche coerenti consiste nell'ottenere dinamicamente un elenco di server AppFabric nella Web farm inviando una query a SQL Server. Quando si gestisce una Web farm di grandi dimensioni con numerosi server AppFabric, è possibile che l'inserimento dei nomi dei server come hardcoded in un file di testo non rappresenti la soluzione migliore. In alternativa, è possibile estrarre un elenco dei server AppFabric di una Web farm direttamente dai dati di monitoraggio delle applicazioni e utilizzare queste informazioni per eseguire i comandi di Windows PowerShell su tali server. Per un esempio della procedura da seguire per estrarre i computer di una Web farm ed eseguire i cmdlet di Windows PowerShell su tutti i computer attivi della Web farm, vedere la pagina relativa all'utilizzo di script di Windows PowerShell per configurare la limitazione su più computer.

Rimozione di un server AppFabric da una Web farm

È possibile rimuovere fisicamente un server AppFabric da una Web farm e, al termine dell'operazione di rimozione dal cluster, disinstallare anche le funzionalità di hosting e gestione di AppFabric. In tal caso, sarà opportuno verificare il corretto funzionamento delle applicazioni Web che in precedenza utilizzavano tali funzionalità. Per la rimozione delle funzionalità di hosting e gestione di AppFabric dai client sono disponibili due metodi che verranno illustrati di seguito.

Abbandono della Web farm

Dal punto di vista di un client, la rimozione fisica di un server AppFabric da una Web farm corrisponde alla rimozione logica del server dal cluster della Web farm. A questo punto, il server non fa più parte dello schema di bilanciamento del carico del cluster, ma è ancora direttamente accessibile ai client che sono a conoscenza dell'effettivo indirizzo IP del server. Se questo è lo scenario richiesto, è sufficiente rendere noto ai client l'indirizzo IP effettivo del server Web e non l'indirizzo IP virtuale del cluster della Web farm.

Rimozione del supporto per le funzionalità di hosting e gestione di AppFabric dalle applicazioni Web

Dopo aver rimosso fisicamente un server di hosting e gestione AppFabric da una Web farm, è sempre possibile mantenerlo attivo come server Web all'interno del dominio, ma in tal caso è necessario rimuovere tutte le tracce di AppFabric dal server. A tale scopo, è possibile disinstallare AppFabric mediante l'Installazione guidata di Windows Server AppFabric oppure da Estensioni server applicazioni per .NET 4.0 nel Pannello di controllo.

Tenere presente che, dopo la disinstallazione delle funzionalità di hosting e gestione di Windows Server AppFabric, è possibile che un server, un sito o un'applicazione Web non risulti più funzionante. Al termine della procedura di disinstallazione può essere necessario individuare ed eliminare dalla configurazione dell'applicazione i file che non sono più utili, ad esempio il file applicationHost.config e i file Web.config per ogni ambito. Per una soluzione automatica, è anche possibile utilizzare AppFabric Uninstall Cleanup Utility, disponibile nell'Area download di AppFabric. Per ulteriori informazioni sulla procedura da seguire per disinstallare AppFabric da un server, vedere Rimuovere funzionalità e disinstallare, Pulizia della configurazione di applicazioni e cluster dopo la disinstallazione di Windows Server AppFabric e Interfaccia utente procedura guidata Aggiungi o Rimuovi funzionalità di Windows Server AppFabric.

Memorizzazione nella cache di Windows Server AppFabric

Se si decide di utilizzare le funzionalità di memorizzazione nella cache di Windows Server all'interno dell'architettura AppFabric in una Web farm, è necessario effettuare una serie di operazioni per verificarne il corretto funzionamento nell'ambiente specifico.

Le funzionalità di memorizzazione nella cache di AppFabric forniscono una memoria cache distribuita ad alte prestazioni per i servizi WCF/WF di .NET Framework 4. Per le applicazioni ASP.NET che memorizzano le informazioni in sessione, le funzionalità di memorizzazione nella cache di AppFabric possono essere utilizzate installando il servizio di memorizzazione nella cache di AppFabric e modificando i file di configurazione appropriati, come verrà descritto più avanti. In alternativa, le API di memorizzazione nella cache di AppFabric possono essere utilizzate, per memorizzare e recuperare elementi dalla cache, da qualsiasi servizio WCF/WF di .NET Framework 4, inclusi quelli configurati per l'utilizzo delle funzionalità di hosting e gestione di AppFabric.

Uno o più server configurati per l'utilizzo della funzionalità di memorizzazione nella cache di AppFabric costituiscono un cluster di cache. Un cluster può essere composto da un unico server, denominato host della cache, che esegue il servizio Windows di memorizzazione nella cache di AppFabric, ma è in genere costituito da più host della cache che interagiscono tra loro. Mentre una cache denominata fisica può essere distribuita tra più server, un'applicazione client viene presentata con un sistema di cache unificato. Tutte le operazioni nella cache vengono virtualizzate come un unico punto di riferimento tramite il cluster di cache. Se, da un lato, il contenuto della cache è volatile ed è presente nella memoria dei server host di cache, dall'altro, la definizione configurata di una cache creata viene memorizzata in modo permanente in un database di SQL Server, un file XML o un archivio di configurazione personalizzato e non subisce modifiche in caso di riavvio dei server. Nel diagramma riportato di seguito la cache denominata relativa all'inventario si estende nella memoria dei tre computer inclusi nel cluster di cache, ma viene astratta e risulta come un unico punto di riferimento al client della cache.

Modello logico "Velocity"

All'interno di una Web farm di server di hosting e gestione AppFabric, è opportuno che i server che eseguono il servizio di memorizzazione nella cache di AppFabric siano configurati separatamente all'esterno del cluster con carico bilanciato dei server di hosting e gestione AppFabric. Se è presente una cache denominata, questa potrà essere utilizzata dalle applicazioni client e Web che dispongono dell'accesso al cluster di cache. Uno dei vantaggi risultanti dall'utilizzo di una cache denominata da una Web farm AppFabric consiste nel fatto che tutti i servizi WCF/WF di .NET Framework 4 che accedono all'entità della cache denominata fanno riferimento a un unico valore globale che risulta accessibile a tutti i client di tale cache.

Nel diagramma riportato di seguito è illustrato un cluster di Web farm AppFabric con carico bilanciato che utilizza il server di memorizzazione nella cache di AppFabric per memorizzare lo stato della sessione ASP.NET. Il cluster di memorizzazione nella cache è un cluster logico separato dal cluster della Web farm di hosting e gestione AppFabric. Nel diagramma tutti i computer inclusi nel cluster di server di memorizzazione nella cache AppFabric accedono all'archivio di configurazione di SQL Server oppure all'archivio XML di configurazione della cache di Windows Server, ma non a entrambi. Nel diagramma non è indicato che è anche possibile utilizzare un provider personalizzato per gestire l'archivio di configurazione in un percorso personalizzato. Questi meccanismi di archiviazione permanente vengono utilizzati solo per la gestione della configurazione. Le cache effettive e i dati associati si trovano fisicamente nella memoria dei server di memorizzazione della cache AppFabric inclusi nel cluster di cache.

Configurazione della memorizzazione nella cache di Windows AppFabric

Le applicazioni client della cache che sfruttano la funzionalità di memorizzazione nella cache di AppFabric non devono necessariamente essere configurate in modo da utilizzare anche le funzionalità di hosting e gestione di Windows Server AppFabric. Ad esempio, un'applicazione Web ASP.NET può utilizzare il provider di stato della sessione di memorizzazione nella cache di AppFabric per memorizzare lo stato della sessione tramite il file Web.config. Tuttavia, i client della cache possono utilizzare anche le funzionalità di hosting e gestione di AppFabric, se opportuno. Ad esempio, un client della cache può essere costituito da un servizio WCF/WF di .NET Framework 4, ospitato e gestito da AppFabric nella Web farm, che utilizza le API del client della cache per accedere a una cache nel cluster. Per il corretto funzionamento della cache, è necessario che gli amministratori della Web farm siano in grado di comprendere il ruolo dei client della cache in ciascuna di queste situazioni.

Per ulteriori informazioni sulle funzionalità di memorizzazione nella cache di Windows Server AppFabric, vedere Funzionalità di cache di AppFabric.

Utilizzo delle funzionalità di memorizzazione della cache in una Web farm AppFabric

In questa sezione verrà innanzitutto esaminata la possibilità di utilizzare le funzionalità di memorizzazione nella cache di Windows Server AppFabric per sviluppare un'applicazione nel cui codice siano incorporate le API di memorizzazione nella cache. Si prenda ad esempio un servizio bancario WCF configurato per l'utilizzo delle funzionalità di hosting e gestione di AppFabric in una Web farm. È possibile migliorare le prestazioni di tale servizio memorizzando alcuni dei dati operativi nella cache di un cluster di cache AppFabric. Le impostazioni relative alla cache possono essere definite a livello di programmazione oppure possono essere specificate nel file di configurazione. In entrambi i casi, l'amministratore deve conoscere il nome della cache per effettuare le operazioni descritte di seguito prima che il client possa accedere alla cache:

  1. In Windows PowerShell utilizzare il cmdlet Use-CacheCluster per impostare il contesto sul cluster di cache di destinazione. Poiché questa operazione ha come effetto la scrittura di dati in un archivio di configurazione della cache centrale (ad esempio, un file XML o un database SQL), è necessario apportare la modifica su un unico server di cache del cluster per consentire l'individuazione di un server di cache in fase di esecuzione.

  2. Creare le cache denominate necessarie con il comando New-Cache. In questo caso, l'amministratore deve richiedere il nome della cache definito nel codice allo sviluppatore del client che utilizza le API di memorizzazione nella cache di AppFabric.

  3. Con il comando Grant-CacheAllowedClientAccount, concedere l'accesso all'account di Windows del client della cache.

  4. Avviare il cluster di cache con il comando Start-CacheCluster.

Per informazioni, vedere Preparazione dell'ambiente di sviluppo del client cache.

Un'altra possibilità di utilizzo delle funzionalità di memorizzazione nella cache riguarda un'applicazione Web ASP.NET ospitata in una Web farm che utilizza il provider di stato della sessione di memorizzazione nella cache di AppFabric per memorizzare lo stato della sessione per le relative pagine. In questo caso, nessuna delle API di memorizzazione nella cache viene utilizzata direttamente e l'accesso alla cache viene interamente gestito tramite le voci del file Web.config. Di seguito sono descritte le operazioni che un amministratore deve eseguire per aggiungere a un'applicazione le funzionalità di memorizzazione nella cache di AppFabric:

  1. Creare una cache denominata per l'applicazione utilizzando il comando New-Cache. Come indicato in precedenza, poiché questa operazione ha come effetto la scrittura di dati in un archivio di configurazione della cache centrale (ad esempio un file XML o un database SQL), è necessario apportare la modifica su un unico server di cache del cluster per consentire l'individuazione di un server di cache in fase di esecuzione. L'amministratore deve ottenere il nome della cache dalle pagine ASP.NET, possibilmente da un file di configurazione, o dallo sviluppatore dell'applicazione.

  2. Assicurarsi che il file Web.config relativo all'applicazione ASP.NET punti alla cache denominata e utilizzi il provider di stato della sessione di memorizzazione nella cache di AppFabric. È possibile che lo sviluppatore dell'applicazione ASP.NET abbia già definito queste impostazioni.

  3. Assicurarsi che l'identità del pool di applicazioni che ospita l'applicazione ASP.NET disponga dell'accesso al cluster di cache. Eseguire il cmdlet Grant-CacheAllowedClientAccount per eseguire questa operazione.

Per ulteriori informazioni sulle voci del file di configurazione relative alla memorizzazione nella cache, vedere la sezione "Provider di stato della sessione ASP.NET" più avanti in questa guida e l'argomento sulla configurazione di un provider di stato della sessione ASP.NET in Configurazione di un provider di stato della sessione ASP.NET (Memorizzazione nella cache di Windows Server AppFabric).

Configurazione della cache in una Web farm

Dopo la presentazione delle procedure per la configurazione della cache, verrà esaminata la modalità di applicazione della configurazione a una Web farm di hosting e gestione AppFabric.

Identità del pool di applicazioni

Per l'utilizzo delle funzionalità di memorizzazione nella cache da un server AppFabric in una Web farm è fondamentale che vengano concessi i diritti di accesso appropriati. Se un'applicazione IIS che esegue un servizio WCF/WF di .NET Framework 4 è configurata per l'utilizzo delle funzionalità di hosting e gestione di AppFabric e utilizza il cluster di cache, l'identità del relativo pool di applicazioni deve disporre dell'accesso al cluster di cache. Non fa differenza che il pool di applicazioni ospiti un'applicazione ASP.NET e non utilizzi le funzionalità di hosting e gestione di AppFabric oppure che ospiti un servizio WCF/WF di .NET Framework 4 configurato per l'utilizzo delle funzionalità di hosting e gestione di AppFabric. Sia l'applicazione che il servizio vengono eseguiti in un pool di applicazioni IIS ed è quindi necessario che l'identità di tale pool disponga dell'autorizzazione di accesso al cluster di cache.

Se le applicazioni di AppFabric sono state installate in modo da essere eseguite con DefaultAppPool, per impostazione predefinita saranno configurate per l'esecuzione con l'account NETWORKSERVICE. Questo account predefinito dispone di privilegi minimi sul computer locale e agisce come computer sulla rete utilizzando l'account Domain\computer$.

Di seguito sono descritte le operazioni da eseguire per consentire l'accesso al server di cache da tutti i server di hosting e gestione di IIS/AppFabric in una Web farm:

  1. In uno dei computer del cluster di cache fare clic su Start, scegliere Windows Server AppFabric, quindi Amministrazione della cache con Windows PowerShell. Questa modalità di accesso a Windows PowerShell, anziché tramite Strumenti di amministrazione, consente l'esecuzione automatica del cmdlet Use-CacheCluster in modo che tutti i comandi eseguiti successivamente vengano applicati a tale cluster. Non è necessario eseguire questo cmdlet come amministratore a meno che non si intenda interrompere o avviare il servizio di memorizzazione nella cache di AppFabric tramite cmdlet.

  2. Eseguire il cmdlet Get-CacheAllowedClientAccounts per visualizzare gli account che possono connettersi come client al cluster di cache. Gli account di computer sono riportati nel formato DOMAIN\COMPUTERNAME$. Il simbolo "$" indica l'identità dell'account del computer e non corrisponde al nome del computer.

  3. L'accesso dell'identità di un pool di applicazioni al cluster di cache deve essere concesso mediante Grant-CacheAllowedClientAccount. Se si utilizza l'account NETWORKSERVICE, sarà necessario aggiungere l'account del computer del server della Web farm IIS all'elenco dei client a cui è consentito l'accesso al cluster di cache. Se si esegue un'applicazione ASP.NET o un servizio WCF/WF di .NET Framework 4 gestito da AppFabric in un pool di applicazioni diverso da DefaultAppPool, sarà necessario concedere a tale identità l'accesso alla cache come client.

Provider di stato della sessione ASP.NET

Le informazioni riportate in questa sezione sono applicabili quando si utilizza il provider di stato della sessione di memorizzazione nella cache di AppFabric da una pagina ASP.NET. In qualità di amministratore della Web farm, sarà necessario assicurarsi che i file di configurazione su ciascun server Web per le applicazioni che utilizzano le funzionalità di memorizzazione nella cache di AppFabric puntino correttamente a tutti i server del cluster di cache. A tale scopo, verificare che sia presente una voce <host> per ogni server host della cache nella sezione <dataCacheClient><hosts> del file Web.config. Le modifiche relative alla memorizzazione nella cache apportate a un file di configurazione non richiedono la ricompilazione di codice .NET Framework.

Nella configurazione riportata di seguito l'amministratore ha aggiunto le voci relative a tre server presenti nel cluster di memorizzazione nella cache di AppFabric. Questa configurazione consente anche di aumentare la disponibilità dei server di memorizzazione nella cache.

<dataCacheClient>
  <hosts> 
       <host name="CacheServer1"  cachePort="22233"/>
       <host name="CacheServer2"  cachePort="22233"/>
       <host name="CacheServer3"  cachePort="22233"/>
  </hosts>
</dataCacheClient>

Nel file Web.config è necessario specificare la cache denominata, in questo caso "NamedCache1", per il provider di stato della sessione di memorizzazione nella cache di AppFabric.

<sessionState mode="Custom" customProvider="AppFabricCacheSessionStoreProvider">
  <providers>
    <!-- specify the named cache for session data -->
    <add 
      name="AppFabricCacheSessionStoreProvider" 
      type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" 
      cacheName="NamedCache1"
     />
  </providers>
</sessionState>

Per ulteriori informazioni sulle voci del file di configurazione relative alla memorizzazione nella cache, vedere Configurazione di un provider di stato della sessione ASP.NET (Memorizzazione nella cache di Windows Server AppFabric).

Esempi di script di AppFabric

Nella documentazione di Windows Server AppFabric sono contenuti alcuni esempi di particolare interesse per gli amministratori relativi alla gestione di una Web farm di server AppFabric. Di seguito verrà descritta la finalità di ciascun esempio e verranno riportati collegamenti alla documentazione effettiva. Si consiglia di utilizzare i collegamenti forniti per scaricare gli esempi e provare a utilizzare i file di script per comprendere correttamente i concetti correlati. È possibile scaricare il pacchetto di esempi per AppFabric dalla pagina dell'Area download Microsoft relativa agli esempi di Windows Server AppFabric. Anche se questi esempi possono essere utilizzati con qualsiasi applicazione, si consiglia di utilizzare l'applicazione comune di esempio per Windows Server AppFabric, che è stata creata appositamente per l'utilizzo con gli esempi di AppFabric.

Esempio: Script di Windows PowerShell per configurare la limitazione su più computer

In questo esempio vengono illustrati i passaggi necessari per utilizzare uno script di Windows PowerShell per la configurazione delle impostazioni di limitazione del servizio predefinite per più computer all'interno di una farm. Questo esempio può essere facilmente adattato per la modifica di qualsiasi altra impostazione accessibile da AppFabric. Nell'esempio viene inoltre illustrato come estrarre le informazioni relative ai computer della farm e come eseguire i cmdlet di Windows PowerShell su tutti i computer attivi. Per la documentazione completa di questo esempio, vedere la sezione relativa allo script di Windows PowerShell per configurare la limitazione su più computer.

Esempio: Configurazione di AppFabric mediante script

In questo esempio vengono illustrate le azioni necessarie per configurare Windows Server AppFabric in modo da utilizzare gli account di dominio in combinazione con l'autenticazione protetta integrata per la connessione a un database remoto. Per la documentazione completa di questo esempio, vedere la sezione relativa alla configurazione di AppFabric mediante script.

Esempio: Sincronizzare tutti i computer di una Web Farm in un computer modello

In questo esempio viene illustrato come sincronizzare il contenuto dell'applicazione e la configurazione su tutti i computer di una Web farm nella quale è in esecuzione IIS (Internet Information Services) con un singolo computer modello. L'esempio può essere modificato con facilità per sincronizzare solo alcune parti del contenuto e della configurazione di IIS, ad esempio per sincronizzare una sola applicazione. Nell'esempio viene anche mostrato come utilizzare lo strumento di distribuzione Web per replicare il contenuto e la configurazione di un singolo server su tutti i computer della Web farm. Per la documentazione completa di questo esempio, vedere la sezione relativa alla sincronizzazione di tutti i computer di una Web Farm in base a un computer modello.

Esempio: Importare ed esportare un'applicazione in Windows Server AppFabric

In questo esempio viene illustrato come utilizzare le funzionalità di importazione ed esportazione delle applicazioni di AppFabric. AppFabric sfrutta le funzionalità di IIS esistenti per importare o esportare le applicazioni utilizzando lo strumento di distribuzione Web (msdeploy.exe) per lo spostamento delle entità nel server e dal server Web. Lo strumento msdeploy.exe consente di semplificare la distribuzione delle applicazioni da Gestione IIS, Visual Studio 2010 e mediante script di Windows PowerShell. Per la documentazione completa di questo esempio, vedere la sezione relativa alle procedure di importazione ed esportazione di un'applicazione in Windows Server AppFabric.

Riepilogo

Essendo basato IIS, Windows Server AppFabric si adatta perfettamente al concetto di Web farm. In teoria, prima di configurare AppFabric in una Web farm, è necessario configurare correttamente la sicurezza di AppFabric a livello di dominio. È possibile configurare la Web farm utilizzando software o hardware per il bilanciamento del carico sui diversi server presenti nel cluster. Per configurare l'accesso ai database di monitoraggio e salvataggio permanente in SQL Server è necessario eseguire il mapping di account e gruppi di dominio di Windows alle appartenenze a ruoli di SQL Server.

Il processo di duplicazione di un'installazione di AppFabric in tutti i server di una Web farm include le operazioni di esportazione e importazione dei pacchetti applicazioni mediante msdeploy.exe. Le eventuali modifiche apportate a un server AppFabric devono essere duplicate in tutti gli altri server nel cluster della Web farm. È possibile effettuare questa operazione mediante script di Windows PowerShells, XCOPY o le funzionalità di esportazione e importazione di msdeploy.exe. L'uniformità della configurazione garantisce la gestione coerente delle richieste client indipendentemente dal computer del cluster con carico bilanciato che riceve la richiesta di lavoro effettiva. Quando si rimuove un server Windows Server AppFabric dalla visibilità di un client, è necessario verificare che le applicazioni Web configurate in precedenza per l'utilizzo delle funzionalità di hosting e gestione di Windows Server AppFabric continuino a funzionare correttamente.

Oltre alle funzionalità di hosting e gestione, con Windows Server AppFabric è disponibile una soluzione di memorizzazione nella cache che consente di migliorare le prestazioni. Questa soluzione può essere utilizzata dalle applicazioni ASP.NET per memorizzare in modo più efficiente lo stato della sessione e le relative API possono essere utilizzate direttamente dal codice dei servizi WCF/WF di .NET Framework 4. Per garantire il corretto funzionamento della soluzione di memorizzazione nella cache su una Web farm, l'amministratore deve eseguire alcune attività relative alla configurazione e alla sicurezza.

Gli amministratori possono inoltre sviluppare e gestire file di script per eseguire le attività amministrative in modo coerente ed efficiente. I cmdlet di Windows PowerShell per le funzionalità di hosting, gestione e memorizzazione nella cache di AppFabric consentono di effettuare quasi tutte le operazioni eseguibili dall'interfaccia utente di AppFabric. Alcune attività quali l'inizializzazione di un database di SQL Server per il monitoraggio o il salvataggio permanente possono essere eseguite solo mediante i cmdlet di AppFabric. Oltre alle linee guida generali, sono stati presentati quattro esempi di script predefiniti che è possibile modificare per sincronizzare rapidamente la configurazione di un server AppFabric con gli altri server della Web farm.

  2011-12-05
Mostra: