

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Esecuzione di migrazioni IIS di base
<a name="dotnet-migrating-applications-basic-migration"></a>

Questa sezione guida l'utente attraverso il processo di migrazione delle applicazioni IIS su Elastic **eb migrate** Beanstalk utilizzando il comando.

## Esplorazione del tuo ambiente IIS
<a name="dotnet-migrating-applications-basic-migration-exploring"></a>

Prima di apportare modifiche, ti consigliamo di capire quali risorse esistono sul tuo server. Inizia esplorando i tuoi siti IIS eseguendoli**eb migrate explore**, come mostrato nell'esempio seguente:

```
PS C:\migrations_workspace> eb migrate explore
```

Questo comando rivela i tuoi siti IIS. Fate riferimento al seguente elenco:

```
Default Web Site
Intranet
API.Internal
Reports
```

Per una visualizzazione dettagliata della configurazione di ogni sito, inclusi collegamenti, applicazioni e directory virtuali, aggiungete l'`--verbose`opzione, come mostrato in questo esempio:

```
PS C:\migrations_workspace> eb migrate explore --verbose
```

L'elenco seguente mostra le informazioni complete sull'ambiente fornite dal comando:

```
1: Default Web Site:
  - Bindings:
    - *:80:www.example.com
    - *:443:www.example.com
  - Application '/':
    - Application Pool: DefaultAppPool
    - Enabled Protocols: http
    - Virtual Directories:
      - /:
        - Physical Path: C:\inetpub\wwwroot
        - Logon Method: ClearText
  - Application '/api':
    - Application Pool: ApiPool
    - Enabled Protocols: http
    - Virtual Directories:
      - /:
        - Physical Path: C:\websites\api
        - Logon Method: ClearText
2: Intranet:
...
3. API.Internal:
...
4. Reports:
...
```

### Comprensione dell'output del rilevamento
<a name="dotnet-migrating-applications-basic-migration-exploring-output"></a>

L'output dettagliato fornisce le seguenti informazioni critiche per la pianificazione della migrazione:

Siti  
L'output di rilevamento elenca tutti i siti IIS sul server. Ogni sito è identificato dal proprio nome (ad esempio, «Sito Web predefinito», «Intranet», «API.Internal») e numerato in sequenza. Quando su un server sono presenti più siti, il `eb migrate` comando può impacchettarli e distribuirli separatamente o insieme, a seconda della strategia di migrazione.

Attacchi  
Le associazioni di protocollo rivelano quali protocolli (HTTP/HTTPS) vengono utilizzati dai siti e su quali porte operano. Le informazioni vincolanti includono i requisiti dell'intestazione dell'host che definiscono le configurazioni di routing basate sul dominio.

Applicazioni  
I percorsi delle applicazioni mostrano sia le strutture applicative root che quelle annidate all'interno della configurazione IIS. Le assegnazioni dei pool di applicazioni indicano in che modo le applicazioni sono isolate l'una dall'altra per la sicurezza e la gestione delle risorse.

Directory virtuali  
Le mappature dei percorsi fisici indicano dove si trovano i contenuti nel file system. Le impostazioni di autenticazione mostrano requisiti di accesso speciali che devono essere mantenuti dopo la migrazione.

## Preparativi per la migrazione
<a name="dotnet-migrating-applications-basic-migration-preparing"></a>

Con una conoscenza approfondita del vostro ambiente, assicuratevi che il server soddisfi i prerequisiti. Innanzitutto, verifica la versione di IIS in uso con il seguente PowerShell comando:

```
PS C:\migrations_workspace> Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\InetStp\" -Name MajorVersion
```

È necessario IIS 7.0 o versione successiva. Lo strumento di migrazione utilizza Web Deploy 3.6 per impacchettare le applicazioni. Verificane l'installazione con il seguente comando:



```
PS C:\migrations_workspace> Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\3" -Name InstallPath
```

Se Web Deploy non è installato sul server, è possibile scaricarlo dalla pagina di download di [Microsoft Web Platform Installer](https://www.iis.net/downloads/microsoft/web-deploy).

## La tua prima migrazione
<a name="dotnet-migrating-applications-basic-migration-first"></a>

Iniziamo con una migrazione di base del sito Web predefinito. L'esempio seguente mostra il comando più semplice,**eb migrate**.

```
PS C:\migrations_workspace> eb migrate
```

Questo comando avvia una serie di passaggi automatici, illustrati nell'output di esempio seguente:

```
Identifying VPC configuration of this EC2 instance (i-0123456789abcdef0)
  id: vpc-1234567890abcdef0
  publicip: true
  elbscheme: public
  ec2subnets: subnet-123,subnet-456,subnet-789
  securitygroups: sg-123,sg-456
  elbsubnets: subnet-123,subnet-456,subnet-789

Using .\migrations\latest to contain artifacts for this migration run.
Generating source bundle for sites, applications, and virtual directories...
  Default Web Site/ -> .\migrations\latest\upload_target\DefaultWebSite.zip
```

Lo strumento di migrazione crea una directory strutturata contenente gli artefatti della distribuzione. L'elenco seguente mostra la struttura delle cartelle:

```
C:\migration_workspace\
└── .\migrations\latest\
    └── upload_target\
        ├── DefaultWebSite.zip
        ├── aws-windows-deployment-manifest.json
        └── ebmigrateScripts\
            ├── site_installer.ps1
            ├── permission_handler.ps1
            └── >other helper scripts<
```

## Controllo della migrazione
<a name="dotnet-migrating-applications-basic-migration-controlling"></a>

Per un maggiore controllo sul processo di migrazione, puoi specificare esattamente quali siti migrare con il seguente comando:

```
PS C:\migrations_workspace> eb migrate --sites "Default Web Site,Intranet"
```

È inoltre possibile personalizzare il nome dell'ambiente e il nome dell'applicazione, come illustrato nel seguente comando di esempio:

```
PS C:\migrations_workspace> eb migrate `
    --sites "Default Web Site" `
    --application-name "CorporateApp" `
    --environment-name "Production"
```

Per un elenco completo delle opzioni, vedere[**eb migrate**](eb3-migrate.md).

## Monitoraggio dell'avanzamento
<a name="dotnet-migrating-applications-basic-migration-monitoring"></a>

Durante la migrazione, **eb migrate** fornisce aggiornamenti sullo stato in tempo reale. Fate riferimento al seguente esempio di output:

```
...
Creating application version
Creating environment... This may take a few minutes

2024-03-18 18:12:15    INFO    Environment details for: Production
  Application name: CorporateApp
  Region: us-west-2
  Deployed Version: app-230320_153045
  Environment ID: e-abcdef1234
  Platform: 64bit Windows Server 2019 v2.7.0 running IIS 10.0
  Tier: WebServer-Standard-1.0
  CNAME: production.us-west-2.elasticbeanstalk.com
  Updated: 2024-03-20 15:30:45
2025-03-18 18:12:17    INFO    createEnvironment is starting.
2025-03-18 18:12:19    INFO    Using elasticbeanstalk-us-east-1-180301529717 as Amazon S3 storage bucket for environment data.
2025-03-18 18:12:40    INFO    Created security group named: sg-0fdd4d696a26b086a
2025-03-18 18:12:48    INFO    Environment health has transitioned to Pending. Initialization in progress (running for 7 seconds). There are no instances.
...
2025-03-18 18:23:59    INFO    Application available at EBMigratedEnv-arrreal3.us-east-1.elasticbeanstalk.com.
2025-03-18 18:24:00    INFO    Successfully launched environment: EBMigratedEnv-arrreal3
```

## Verifica della migrazione
<a name="dotnet-migrating-applications-basic-migration-verifying"></a>

Una volta che l'ambiente è pronto, Elastic Beanstalk offre diversi modi per verificare la distribuzione.

Accedi alla tua applicazione  
Apri l'URL dell'applicazione (CNAME) in un browser Web per verificare che funzioni correttamente.

Controlla lo stato dell'ambiente  
Utilizzate il **eb health** comando per visualizzare lo stato del vostro ambiente.  

```
PS C:\migrations_workspace> eb health
```
L'immagine della schermata seguente mostra lo stato dell'istanza, le metriche di risposta dell'applicazione e l'utilizzo delle risorse di sistema.  

![L'output del comando eb health mostra lo stato dell'istanza, le metriche di risposta dell'applicazione e l'utilizzo delle risorse di sistema.](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/images/eb-health-after-migration.png)


Usa il **eb logs** comando per accedere ai log e risolvere eventuali problemi:  

```
PS C:\migrations_workspace> eb logs --zip
```
Il **eb logs** comando scarica i log nella directory. `.elasticbeanstalk/logs` Per ulteriori informazioni, consulta [Utilizzo di Elastic CloudWatch Beanstalk con Amazon Logs](AWSHowTo.cloudwatchlogs.md).

Connect alle istanze  
Se hai specificato una key pair durante la migrazione, puoi connetterti alle tue istanze utilizzando RDP per la risoluzione diretta dei problemi.

Accedi alla console Elastic Beanstalk  
Puoi visualizzare lo stato, i log e le proprietà di configurazione dell'ambiente tramite la [console di gestione dell'ambiente](environments-console.md) per quell'ambiente. 

## Gestione degli artefatti della migrazione
<a name="dotnet-migrating-applications-basic-migration-cleanup"></a>

Il **eb migrate** comando crea artefatti locali durante il processo di migrazione. Questi artefatti contengono informazioni riservate e possono consumare una notevole quantità di spazio su disco nel tempo. Utilizzate il **cleanup** sottocomando per gestire questi artefatti, come illustrato nell'esempio seguente:

```
PS C:\migrations_workspace> eb migrate cleanup
Are you sure you would like to cleanup older artifacts within ./migrations/? (Y/N):
```

Per forzare la pulizia senza conferma, utilizzate l'opzione: **--force**

```
PS C:\migrations_workspace> eb migrate cleanup --force
```

Il processo di pulizia preserva la migrazione riuscita più recente nella `./migrations/latest` directory e rimuove le directory di migrazione più vecchie