

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

# **eb migrate**
<a name="eb3-migrate"></a>

## Description
<a name="eb3-migratedescription"></a>

Migra siti e applicazioni Internet Information Services (IIS) da un server Windows a Elastic Beanstalk. Il comando impacchetta le applicazioni, ne preserva le configurazioni e le distribuisce in un nuovo ambiente Elastic Beanstalk. 

Per ulteriori informazioni sulla migrazione dei siti e delle applicazioni IIS, consulta. [Migrazione delle applicazioni IIS su Elastic Beanstalk](dotnet-migrating-applications.md)

**Nota**  
Prima di utilizzare questo comando, assicuratevi che il sistema soddisfi i seguenti requisiti:  
Internet Information Services (IIS) versione 7.0 o successiva
Web Deploy 3.6 o versione successiva installata
Privilegi amministrativi sul server Windows
AWS credenziali configurate con le autorizzazioni appropriate
Il server di origine dispone dell'accesso Internet in uscita ai servizi. AWS 

I passaggi seguenti riassumono il processo di migrazione: 

1. Scopri i siti IIS e le relative configurazioni.

1. Contenuto e configurazione dell'applicazione del Package.

1. Crea l'ambiente e l'applicazione Elastic Beanstalk.

1. Distribuisci l'applicazione con impostazioni preservate.

Il comando crea elementi di migrazione in una directory strutturata, come illustrato nell'elenco seguente:

```
C:\migration_workspace\
└── .\migrations\latest\
    ├── upload_target.zip
    └── upload_target\
        ├── [SiteName].zip                      # One ZIP per default application of IIS site
        ├── [SiteName-ApplicationName].zip      # One ZIP per additional application
        ├── aws-windows-deployment-manifest.json
        └── ebmigrateScripts\
            ├── site_installer.ps1              # Site installation scripts
            ├── permission_handler.ps1          # Permission management
            └── other helper scripts
```

Utilizzatelo **eb migrate cleanup** per gestire questi artefatti.

## Sintassi
<a name="eb3-migratesyntax"></a>

**eb migrate {{[options]}}**

**eb migrate explore {{[options]}}**

**eb migrate cleanup {{[options]}}**

Se eseguito senza argomenti, **eb migrate** funziona in modalità non interattiva. Per eseguirlo in modalità interattiva, **eb migrate --interactive** esegui.

Il comando della modalità interattiva richiede le seguenti informazioni:
+ Selezione dei siti IIS da migrare
+ Nomi di ambienti e applicazioni
+ Selezione della versione della piattaforma
+ Tipo di istanza e altre opzioni di configurazione

## Sottocomandi
<a name="eb3-migratesubcommands"></a>

### esplorare
<a name="eb3-migrateexplore"></a>

Il **eb migrate explore** sottocomando esamina il server IIS ed elenca i siti disponibili.

Utilizzare questo comando per visualizzare le seguenti informazioni:
+ Visualizza tutti i siti IIS sul server
+ Con`--verbose`, ispeziona la configurazione dettagliata, tra cui:
  + Collegamenti e porte del sito
  + Pool di applicazioni
  + Directory virtuali e relativi percorsi fisici
  + Impostazioni di autenticazione

```
PS C:\migrations_workspace >  eb migrate explore
Default Web Site
Site2
site3
router
```

```
PS C:\migrations_workspace >  eb migrate explore --verbose
1: Default Web Site:
  - Bindings:
    - *:8083:
  - Application '/':
    - Application Pool: DefaultAppPool
    - Enabled Protocols: http
    - Virtual Directories:
      - /:
        - Physical Path: C:\inetpub\wwwroot
        - Logon Method: ClearText
  - Application '/dotnet-6-0':
    - Application Pool: DefaultAppPool
    - Enabled Protocols: http
    - Virtual Directories:
      - /:
        - Physical Path: C:\inetpub\AspNetCoreWebApps\CoreWebApp-6-0
        - Logon Method: ClearText
  - Application '/dotnet-8-0':
    - Application Pool: DefaultAppPool
    - Enabled Protocols: http
    - Virtual Directories:
      - /:
        - Physical Path: C:\inetpub\AspNetCoreWebApps\CoreWebApp-8-0
        - Logon Method: ClearText
2: Site2:
  - Bindings:
    - *:8081:
...
```

### pulizia
<a name="eb3-migratecleanup"></a>

Il **eb migrate cleanup** sottocomando gestisce gli artefatti della migrazione con le seguenti azioni:
+ Conservazione della migrazione riuscita più recente in `./migrations/latest`
+ Rimozione delle cartelle di migrazione più vecchie
+ Manutenzione dei file di configurazione critici

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

Consente `--force` di ignorare le richieste di conferma durante la pulizia.

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

## Opzioni
<a name="eb3-migrateoptions"></a>

Nessuna di queste opzioni è obbligatoria. Se si esegue **eb migrate** senza alcuna opzione, l'EB CLI verrà eseguita in modalità non interattiva. Con**eb migrate --interactive**, l'EB CLI richiede di inserire o selezionare un valore per le impostazioni richieste.


****  

|  Nome  |  Descrizione  | 
| --- | --- | 
| `-a` {{application-name}}<br />or<br />`--application-name` {{application-name}} | Nome per la nuova applicazione Elastic Beanstalk.<br />Tipo: String<br />Impostazione predefinita: App EBMigrated | 
| `--archive` {{directory-or-zip}} | La directory o il file ZIP contenente il codice sorgente precedentemente generato da**eb migrate --archive-only**.<br />Utilizzate questa opzione per distribuire un pacchetto di migrazione creato in precedenza.<br />Esempio: `--archive .\migrations\latest\upload_target` o `--archive .\migrations\latest\upload_target.zip` | 
| `-ao`<br />or<br />`--archive-only` | Crea solo la directory di archivio di destinazione senza distribuzione.<br />La directory risultante può essere distribuita manualmente utilizzando **eb migrate** l'`archive`opzione o**eb deploy**. | 
| `-c` {{subdomain-name}}<br />or<br />`--cname` {{subdomain-name}} | Il nome del sottodominio da aggiungere come prefisso alla voce DNS CNAME per l'applicazione migrata.<br />Tipo: String<br />Impostazione predefinita: nome dell'ambiente | 
| `-cf`<br />or<br />`--copy-firewall-config` | Copia la configurazione del firewall del server di origine nella destinazione per tutte le porte HTTP con collegamenti attivi.<br />Crea le regole del gruppo di sicurezza corrispondenti in. AWS | 
| `-es` {{snapshot-id}} [{{snapshot-id}} ...]<br />or<br />`--ebs-snapshots` {{snapshot-id}} [{{snapshot-id}} ...] | Elenco separato da virgole di snapshot Amazon EBS da associare IDs all'ambiente.<br />Ad esempio: `--ebs-snapshots snap-1234567890abcdef0, snap-0987654321fedcba1` | 
| `--encrypt-ebs-volumes` | Applica la crittografia per tutti i nuovi volumi Amazon EBS. Si tratta di un'impostazione a livello di account che influisce su tutte le future creazioni di volumi Amazon EBS.  | 
| `-e` {{environment-name}}<br />or<br />`--environment-name` {{environment-name}} | Nome per il nuovo ambiente Elastic Beanstalk.<br />Tipo: String<br />Impostazione predefinita: Env EBMigrated<br />Vincoli: deve avere una lunghezza compresa tra 4 e 40 caratteri. Può contenere solo lettere, numeri e trattini. Non può iniziare o terminare con un trattino (-). | 
| `--force` | Ignora le richieste di conferma durante le operazioni.<br />Se utilizzato con il **cleanup** sottocomando, rimuove gli elementi della migrazione senza conferma. | 
| `-ip` {{profile-name}}<br />or<br />`--instance-profile` {{profile-name}} | Profilo dell'istanza da associare alle EC2 istanze Amazon dell'ambiente.<br />Se non specificato, crea un profilo di istanza predefinito con le autorizzazioni per accedere alle risorse Elastic Beanstalk. Per ulteriori informazioni, consulta [Profilo dell'istanza Elastic Beanstalk](concepts-roles-instance.md).  | 
| `-i` {{instance-type}}<br />or<br />`--instance-type` {{instance-type}} | Il tipo di EC2 istanza Amazon per il tuo ambiente Elastic Beanstalk.<br />Tipo: String<br />Predefinito: c5.2xlarge<br />Per i tipi di istanze disponibili, consulta [i tipi di EC2 istanze Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) *nella Amazon EC2 User Guide*. | 
| `-in`<br />or<br />`--interactive` | Forza la modalità interattiva per il processo di migrazione.<br />Richiede i valori di configurazione anche quando sono disponibili quelli predefiniti. | 
| `-k` {{key-name}}<br />or<br />`--keyname` {{key-name}} | Amazon EC2 key pair per abilitare l'accesso RDP alle istanze di ambiente.<br />Utile per analizzare problemi a livello di istanza non visibili nei log.<br />Valori validi: un nome di key pair esistente registrato con Amazon EC2 | 
| `-p` {{platform-version}}<br />or<br />`--platform` {{platform-version}} | Runtime della piattaforma Elastic Beanstalk per l'ambiente. Se non specificato, viene rilevato automaticamente dalla versione host di Windows Server.<br />Ad esempio: `"64bit Windows Server 2016 v2.16.2 running IIS 10.0"`<br />Per un elenco delle versioni disponibili della piattaforma, usa [eb platform list](eb3-platform.md#eb3-platform-list). | 
| `--remote` | Indica di eseguire la migrazione in modalità remota. Questa opzione consente l'esecuzione da un host bastion, che si connette al server di destinazione che contiene l'applicazione e le configurazioni da migrare su Elastic Beanstalk. Viene eseguito dal server bastion, `eb migrate` rileva le configurazioni, imposta la logica di migrazione sull'host bastion, quindi distribuisce l'applicazione in un nuovo ambiente Elastic Beanstalk. <br />Questa opzione elimina la necessità di installare EB CLI e Python sul server Windows da migrare. Invece, installi Python e EB CLI su un host bastion, dove esegui il comando con l'**eb migrate**opzione. `--remote` Usa l'`--target-ip`opzione per specificare l'host con le configurazioni IIS da migrare.<br />Deve essere usato con `--target-ip``--username`, e. `--password` | 
| `--target-ip` {{ip-address}} | Indirizzo IP pubblico del computer Windows remoto che contiene i server IIS da migrare.<br />Richiesto durante l'utilizzo`--remote`. Può essere specificato solo durante l'uso`--remote`. | 
| `--username` {{username}} | Nome utente del profilo utente per accedere alla macchina Windows remota che contiene i server IIS da migrare.<br />Richiesto durante l'utilizzo`--remote`. Può essere specificato solo durante l'uso`--remote`. | 
| `--password` {{password}} | Password del profilo utente per accedere alla macchina Windows remota che contiene i server IIS da migrare.<br />Richiesto durante l'utilizzo`--remote`. Può essere specificato solo durante l'uso`--remote`. | 
| `-sr` {{role-name}}<br />or<br />`--service-role` {{role-name}} | Ruolo di servizio IAM per Elastic Beanstalk per la gestione dei servizi correlati. AWS <br />Se non specificato, crea un ruolo di servizio predefinito con le autorizzazioni necessarie. Per ulteriori informazioni, consulta [Ruolo di servizio Elastic Beanstalk](concepts-roles-service.md). Specificate solo il nome del ruolo, non l'ARN completo. Elastic Beanstalk crea automaticamente l'ARN completo.  | 
| `-s` {{site-names}}<br />or<br />`--sites` {{site-names}} | Elenco separato da virgole di siti IIS da migrare. Se non specificato, migra tutti i siti disponibili sul server.<br />Ad esempio: `--sites "Default Web Site,Intranet,API"` | 
| `--ssl-certificates` {{certificate-arn}}[,{{certificate-arn}} ...] | Elenco separato da virgole di certificati SSL ACM da associare ARNs all'Application Load Balancer.<br />Richiesto per la migrazione di siti con collegamenti HTTPS.<br />Ad esempio: `--ssl-certificates arn:aws:acm:region:account:certificate/certificate-id` | 
| `-t {{key1}}={{value1}}[,{{key2}}={{value2}} ...]`<br />or<br />`-﻿-﻿tags {{key1}}={{value1}}[,{{key2}}={{value2}} ...]` | Elenco di `key=value` coppie separate da virgole per etichettare nuove risorse nell'ambiente: ambiente, applicazione Elastic Beanstalk, versione dell'applicazione.<br />Per ulteriori informazioni, consulta [Etichettatura degli ambienti](using-features.tagging.md). | 
| `--verbose` | Mostra informazioni dettagliate durante il processo di migrazione.<br />Se utilizzato con il **explore** sottocomando, visualizza dettagli completi sulla configurazione del sito. | 
| `-vpc` {{config-file-or-string}}<br />or<br />`--vpc-config` {{config-file-or-string}} | Configurazione VPC per l'ambiente, specificata come percorso di file JSON o stringa JSON.<br />La configurazione deve includere:<pre>{<br />    "id": "vpc-1234567890abcdef0",<br />    "publicip": "true|false",<br />    "elbscheme": "public|private",<br />    "ec2subnets": ["subnet-a1b2c3d4", "subnet-e5f6g7h8"],<br />    "securitygroups": "sg-123456,sg-789012",<br />    "elbsubnets": ["subnet-a1b2c3d4", "subnet-e5f6g7h8"]<br />}</pre>[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/eb3-migrate.html) *La migrazione ignorerà tutte le impostazioni VPC esistenti dall'ambiente di origine quando si specifica il `--vpc-config` parametro**.* Quando utilizzi questo parametro, la migrazione utilizzerà solo le impostazioni VPC specificate nel file di configurazione che stai trasmettendo. L'utilizzo di questo parametro sostituisce il comportamento predefinito di rilevamento della configurazione VPC dell'istanza di origine o dell'utilizzo del VPC predefinito.  | 
| [Opzioni comuni](eb3-cmd-options.md) |  | 

## Output
<a name="eb3-migrateoutput"></a>

Il comando fornisce aggiornamenti sullo stato durante tutto il processo di migrazione:

1. Rilevamento della configurazione VPC (quando è in esecuzione su un' EC2 istanza)

1. Avanzamento della generazione dei bundle di sorgenti per ogni sito

1. Stato di creazione dell'ambiente

1. Avanzamento dell'implementazione

In caso di successo, visualizza i dettagli del nuovo ambiente, tra cui:
+ Nome e ID dell'ambiente
+ Application name (Nome applicazione)
+ Region
+ Versione della piattaforma
+ CNAME dell'ambiente

Per problemi durante la migrazione, usa i [**eb health**](eb3-health.md)comandi [**eb events**](eb3-events.md)and per ottenere informazioni dettagliate.

## Esempi
<a name="eb3-migrateexamples"></a>

### Utilizzo di base
<a name="eb3-migrateexamples-basic"></a>

Migrazione di base in modalità interattiva:

```
PS C:\migrations_workspace >  eb migrate
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

Creating application version
Creating environment

Environment details for: EBMigratedEnv
  Application name: EBMigratedApp
  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: ebmigratedenv.us-west-2.elasticbeanstalk.com
  Updated: 2023-03-20 15:30:45
```

Migrazione di siti specifici con configurazione personalizzata:

```
PS C:\migrations_workspace >  eb migrate `
    --sites "Default Web Site,InternalAPI" `
    --application-name "CorporateApp" `
    --environment-name "Production" `
    --instance-type "c5.xlarge" `
    --tags "Environment=Production,Team=WebOps" `
    --copy-firewall-config
```

Creazione di un archivio di migrazione senza distribuzione:

```
PS C:\migrations_workspace >  eb migrate --archive-only
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

Generated destination archive directory at .\migrations\latest\upload_target
You can execute `eb init` and `eb create` from this directory to deploy to EB.
```

### Esempi di configurazione avanzata
<a name="eb3-migrateexamples-advanced"></a>

Migrazione con configurazione VPC personalizzata utilizzando un file JSON:

```
PS C:\migrations_workspace >  cat vpc-config.json
{
    "id": "vpc-1234567890abcdef0",
    "publicip": "false",
    "elbscheme": "internal",
    "ec2subnets": [
        "subnet-private1",
        "subnet-private2"
    ],
    "securitygroups": [
        "sg-app",
        "sg-database",
        "sg-monitoring"
    ],
    "elbsubnets": [
        "subnet-private1",
        "subnet-private2"
    ]
}

PS C:\migrations_workspace eb migrate `
    --sites "InternalAPI" `
    --vpc-config vpc-config.json `
    --instance-type "r5.xlarge" `
    --tags "Environment=Internal,Security=High"
```

Migrazione di siti con certificati SSL e intestazioni host:

```
PS C:\migrations_workspace >  eb migrate `
    --sites "SecurePortal" `
    --ssl-certificates "arn:aws:acm:region:account:certificate/cert1,arn:aws:acm:region:account:certificate/cert2" `
    --verbose
INFO: Detected HTTPS bindings:
  - www.example.com:443
  - api.example.com:443

INFO: Configuring Application Load Balancer with SSL certificates
INFO: Creating host-based routing rules:
  - www.example.com -> target group 1
  - api.example.com -> target group 2
```

Migrazione con configurazione snapshot EBS:fo

```
PS C:\migrations_workspace >  eb migrate `
    --sites "Default Web Site" `
    --ebs-snapshots "snap-1234567890abcdef0" "snap-0987654321fedcba1" `
    --encrypt-ebs-volumes
Using .\migrations\latest to contain artifacts for this migration run.
INFO: Enabling EBS encryption for all new volumes in us-west-2
INFO: Configuring environment with specified EBS snapshots
```

### Esempi di configurazione della sicurezza
<a name="eb3-migrateexamples-security"></a>

Gestione di siti con regole firewall complesse:

```
PS C:\migrations_workspace >  eb migrate `
    --sites "Default Web Site,ReportingService" `
    --copy-firewall-config `
    --verbose
INFO: Detected the following Windows Firewall rules:
  - Allow Web Traffic (TCP 80, 443)
  - Allow Reporting Traffic (TCP 8081)
INFO: Creating corresponding security group rules
```

Migrazione con ruoli IAM personalizzati:

```
PS C:\migrations_workspace >  eb migrate `
    --sites "SecureApp" `
    --instance-profile "CustomInstanceProfile" `
    --service-role "CustomServiceRole"
```

### Esempi di esecuzione remota
<a name="eb3-migrateexamples-remote"></a>

Migrazione di applicazioni IIS da un server Windows remoto:

```
PS C:\migrations_workspace >  eb migrate `
    --remote `
    --target-ip "192.0.2.10" `
    --username "administrator" `
    --password "YourPassword123" `
    --application-name "RemoteApp" `
    --environment-name "RemoteEnv"
INFO: Establishing SSH connection to remote host 192.0.2.10...
INFO: Connection established
INFO: Discovering IIS sites on remote host...
INFO: Found 2 sites: Default Web Site, API
INFO: Extracting site configurations...
INFO: Generating source bundle for sites, applications, and virtual directories...
  Default Web Site/ -> .\migrations\latest\upload_target\DefaultWebSite.zip
  API/ -> .\migrations\latest\upload_target\API.zip

Creating application version
Creating environment

Environment details for: RemoteEnv
  Application name: RemoteAppstage mi
  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: remoteenv.us-west-2.elasticbeanstalk.com
  Updated: 2023-03-20 15:30:45
```

Migrazione remota con selezione specifica del sito:

```
PS C:\migrations_workspace >  eb migrate `
    --remote `
    --target-ip "192.0.2.10" `
    --username "administrator" `
    --password "YourPassword123" `
    --sites "API" `
    --instance-type "c5.large"
```