

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

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

Fait migrer les sites et applications Internet Information Services (IIS) d'un serveur Windows vers Elastic Beanstalk. La commande empaquète vos applications, préserve leurs configurations et les déploie dans un nouvel environnement Elastic Beanstalk. 

Pour plus d'informations sur la migration de vos sites et applications IIS, consultez[Migration des applications IIS vers Elastic Beanstalk](dotnet-migrating-applications.md).

**Note**  
Avant d'utiliser cette commande, assurez-vous que votre système répond aux exigences suivantes :  
Internet Information Services (IIS) version 7.0 ou ultérieure
Web Deploy 3.6 ou version ultérieure installé
Privilèges administratifs sur le serveur Windows
AWS informations d'identification configurées avec les autorisations appropriées
Votre serveur source dispose d'un accès Internet sortant aux AWS services.

Les étapes suivantes résument le processus de migration : 

1. Découvrez les sites IIS et leurs configurations.

1. Package du contenu et de la configuration de l'application.

1. Créez l'environnement et l'application Elastic Beanstalk.

1. Déployez l'application avec des paramètres préservés.

La commande crée des artefacts de migration dans un répertoire structuré, comme indiqué dans la liste suivante :

```
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
```

**eb migrate cleanup**À utiliser pour gérer ces artefacts.

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

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

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

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

Lorsqu'il est exécuté sans arguments, **eb migrate** fonctionne en mode non interactif. Pour l'exécuter en mode interactif, exécutez**eb migrate --interactive**.

La commande du mode interactif demande les informations suivantes :
+ Sélection des sites IIS à migrer
+ Noms de l'environnement et des applications
+ Sélection de la version de la plateforme
+ Type d'instance et autres options de configuration

## Sous-commandes
<a name="eb3-migratesubcommands"></a>

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

La **eb migrate explore** sous-commande examine votre serveur IIS et répertorie les sites disponibles.

Utilisez cette commande pour afficher les informations suivantes :
+ Afficher tous les sites IIS sur le serveur
+ Avec`--verbose`, inspectez la configuration détaillée, y compris :
  + Liaisons et ports du site
  + Pools d'applications
  + Répertoires virtuels et leurs chemins physiques
  + Paramètres d'authentification

```
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:
...
```

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

La **eb migrate cleanup** sous-commande gère les artefacts de migration à l'aide des actions suivantes :
+ Préserver la dernière migration réussie dans `./migrations/latest`
+ Suppression des anciens répertoires de migration
+ Gestion des fichiers de configuration critiques

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

`--force`À utiliser pour ignorer les instructions de confirmation pendant le nettoyage.

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

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

Aucune de ces options n'est obligatoire. Si vous exécutez **eb migrate** sans aucune option, l'interface de ligne de commande EB s'exécutera en mode non interactif. Avec**eb migrate --interactive**, l'EB CLI vous invite à saisir ou à sélectionner une valeur pour les paramètres requis.


****  

|  Nom  |  Description  | 
| --- | --- | 
| `-a` {{application-name}}<br />or<br />`--application-name` {{application-name}} | Nom de la nouvelle application Elastic Beanstalk.<br />Type : Chaîne<br />Par défaut : EBMigrated App | 
| `--archive` {{directory-or-zip}} | Le répertoire ou le fichier ZIP contenant le code source précédemment généré par**eb migrate --archive-only**.<br />Utilisez cette option pour déployer un package de migration créé précédemment.<br />Exemple : `--archive .\migrations\latest\upload_target` ou `--archive .\migrations\latest\upload_target.zip` | 
| `-ao`<br />or<br />`--archive-only` | Créez uniquement le répertoire d'archives de destination sans déploiement.<br />Le répertoire obtenu peut être déployé manuellement à l'**eb migrate**aide de l'`archive`option, ou**eb deploy**. | 
| `-c` {{subdomain-name}}<br />or<br />`--cname` {{subdomain-name}} | Le nom du sous-domaine devant préfixer l'entrée DNS CNAME de votre application migrée.<br />Type : Chaîne<br />Par défaut : le nom de l'environnement | 
| `-cf`<br />or<br />`--copy-firewall-config` | Copiez la configuration du pare-feu du serveur source vers la destination pour tous les ports HTTP dotés de liaisons actives.<br />Crée les règles de groupe de sécurité correspondantes dans AWS. | 
| `-es` {{snapshot-id}} [{{snapshot-id}} ...]<br />or<br />`--ebs-snapshots` {{snapshot-id}} [{{snapshot-id}} ...] | Liste séparée par des virgules des instantanés Amazon EBS IDs à associer à l'environnement.<br />Exemple : `--ebs-snapshots snap-1234567890abcdef0, snap-0987654321fedcba1` | 
| `--encrypt-ebs-volumes` | Appliquez le chiffrement à tous les nouveaux volumes Amazon EBS. Il s'agit d'un paramètre à l'échelle du compte qui affecte toutes les futures créations de volumes Amazon EBS.  | 
| `-e` {{environment-name}}<br />or<br />`--environment-name` {{environment-name}} | Nom du nouvel environnement Elastic Beanstalk.<br />Type : Chaîne<br />Par défaut : EBMigrated Env<br />Contraintes : Doit comporter entre 4 et 40 caractères. Ne peut contenir que des lettres, des chiffres et des traits d'union. Il ne peut pas commencer ni se terminer par un trait d'union. | 
| `--force` | Ignorez les instructions de confirmation pendant les opérations.<br />Lorsqu'il est utilisé avec une **cleanup** sous-commande, supprime les artefacts de migration sans confirmation. | 
| `-ip` {{profile-name}}<br />or<br />`--instance-profile` {{profile-name}} | Profil d'instance à associer aux EC2 instances Amazon de l'environnement.<br />S'il n'est pas spécifié, crée un profil d'instance par défaut avec les autorisations d'accès aux ressources Elastic Beanstalk. Pour de plus amples informations, veuillez consulter [Profil d'instance Elastic Beanstalk](concepts-roles-instance.md).  | 
| `-i` {{instance-type}}<br />or<br />`--instance-type` {{instance-type}} | Type d' EC2 instance Amazon pour votre environnement Elastic Beanstalk.<br />Type : Chaîne<br />Par défaut : c5.2xlarge<br />Pour connaître les types d'instances disponibles, consultez les [types d' EC2 instances Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) dans le *guide de EC2 l'utilisateur Amazon*. | 
| `-in`<br />or<br />`--interactive` | Forcer le mode interactif pour le processus de migration.<br />Vous invite à saisir les valeurs de configuration même lorsque des valeurs par défaut sont disponibles. | 
| `-k` {{key-name}}<br />or<br />`--keyname` {{key-name}} | Paire de EC2 clés Amazon pour permettre l'accès RDP aux instances de l'environnement.<br />Utile pour étudier les problèmes au niveau de l'instance qui ne sont pas visibles dans les journaux.<br />Valeurs valides : nom de paire de clés existant enregistré auprès d'Amazon EC2 | 
| `-p` {{platform-version}}<br />or<br />`--platform` {{platform-version}} | Runtime de la plateforme Elastic Beanstalk pour l'environnement. Si ce n'est pas spécifié, détecté automatiquement à partir de la version hôte de Windows Server.<br />Exemple : `"64bit Windows Server 2016 v2.16.2 running IIS 10.0"`<br />Pour obtenir la liste des versions de plate-forme disponibles, utilisez la [liste des plateformes Web](eb3-platform.md#eb3-platform-list). | 
| `--remote` | Indique d'exécuter la migration en mode distant. Cette option permet l'exécution à partir d'un hôte bastion, qui se connecte au serveur cible qui contient l'application et les configurations à migrer vers Elastic Beanstalk. Exécuté depuis le serveur Bastion, `eb migrate` découvre les configurations, met en place la logique de migration sur l'hôte du bastion, puis déploie votre application dans un nouvel environnement Elastic Beanstalk. <br />Cette option élimine le besoin d'installer l'interface de ligne de commande EB et Python sur le serveur Windows que vous devez migrer. Vous installez plutôt Python et l'EB CLI sur un hôte bastion, où vous exécutez la **eb migrate** commande avec l'`--remote`option. Utilisez l'`--target-ip`option pour spécifier l'hôte avec les configurations IIS à migrer.<br />Doit être utilisé avec `--target-ip``--username`, et`--password`. | 
| `--target-ip` {{ip-address}} | Adresse IP publique de la machine Windows distante qui contient les serveurs IIS à migrer.<br />Nécessaire lors de l'utilisation`--remote`. Ne peut être spécifié que lors de l'utilisation`--remote`. | 
| `--username` {{username}} | Nom d'utilisateur du profil utilisateur permettant d'accéder à la machine Windows distante qui contient les serveurs IIS à migrer.<br />Nécessaire lors de l'utilisation`--remote`. Ne peut être spécifié que lors de l'utilisation`--remote`. | 
| `--password` {{password}} | Mot de passe du profil utilisateur permettant d'accéder à la machine Windows distante qui contient les serveurs IIS à migrer.<br />Nécessaire lors de l'utilisation`--remote`. Ne peut être spécifié que lors de l'utilisation`--remote`. | 
| `-sr` {{role-name}}<br />or<br />`--service-role` {{role-name}} | Rôle de service IAM pour Elastic Beanstalk afin de gérer les services associés. AWS <br />S'il n'est pas spécifié, crée un rôle de service par défaut avec les autorisations nécessaires. Pour de plus amples informations, veuillez consulter [Rôle de service Elastic Beanstalk](concepts-roles-service.md). Spécifiez uniquement le nom du rôle, pas l'ARN complet. Elastic Beanstalk crée automatiquement l'ARN complet.  | 
| `-s` {{site-names}}<br />or<br />`--sites` {{site-names}} | Liste des sites IIS à migrer séparés par des virgules. Si ce n'est pas spécifié, migre tous les sites disponibles sur le serveur.<br />Exemple : `--sites "Default Web Site,Intranet,API"` | 
| `--ssl-certificates` {{certificate-arn}}[,{{certificate-arn}} ...] | Liste séparée par des virgules des certificats SSL ACM ARNs à associer à l'Application Load Balancer.<br />Nécessaire lors de la migration de sites avec des liaisons HTTPS.<br />Exemple : `--ssl-certificates arn:aws:acm:region:account:certificate/certificate-id` | 
| `-t {{key1}}={{value1}}[,{{key2}}={{value2}} ...]`<br />or<br />`-﻿-﻿tags {{key1}}={{value1}}[,{{key2}}={{value2}} ...]` | Liste de `key=value` paires séparées par des virgules pour baliser les nouvelles ressources de votre environnement : environnement, application Elastic Beanstalk, version de l'application.<br />Pour de plus amples informations, veuillez consulter [Environnements de balisage](using-features.tagging.md). | 
| `--verbose` | Afficher des informations détaillées pendant le processus de migration.<br />Lorsqu'il est utilisé avec une **explore** sous-commande, affiche les détails complets de la configuration du site. | 
| `-vpc` {{config-file-or-string}}<br />or<br />`--vpc-config` {{config-file-or-string}} | Configuration VPC pour l'environnement, spécifiée sous forme de chemin de fichier JSON ou de chaîne JSON.<br />La configuration doit inclure :<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/fr_fr/elasticbeanstalk/latest/dg/eb3-migrate.html) *La migration ignorera tous les paramètres VPC existants de l'environnement source lorsque vous spécifiez le `--vpc-config`* *paramètre.* Lorsque vous utilisez ce paramètre, la migration utilise uniquement les paramètres VPC spécifiés dans le fichier de configuration que vous transmettez. L'utilisation de ce paramètre remplace le comportement par défaut qui consiste à découvrir la configuration VPC de l'instance source ou à utiliser le VPC par défaut.  | 
| [Options courantes](eb3-cmd-options.md) |  | 

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

La commande fournit des mises à jour de statut tout au long du processus de migration :

1. Détection de configuration VPC (lors de l'exécution sur une EC2 instance)

1. Progression de la génération du bundle source pour chaque site

1. État de création de l'environnement

1. Progression du déploiement

En cas de succès, affiche les détails du nouvel environnement, notamment :
+ Nom et ID de l'environnement
+ Application name (Nom de l'application)
+ Région
+ Version de la plateforme
+ Environnement CNAME

En cas de problème lors de la migration, utilisez les [**eb health**](eb3-health.md)commandes [**eb events**](eb3-events.md)et pour obtenir des informations détaillées.

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

### Utilisation de base
<a name="eb3-migrateexamples-basic"></a>

Migration de base en mode interactif :

```
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
```

Migration de sites spécifiques avec une configuration personnalisée :

```
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
```

Création d'une archive de migration sans déploiement :

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

### Exemples de configuration avancée
<a name="eb3-migrateexamples-advanced"></a>

Migration avec configuration VPC personnalisée à l'aide d'un fichier 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"
```

Migration de sites avec des certificats SSL et des en-têtes d'hôte :

```
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
```

Migration avec configuration instantanée 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
```

### Exemples de configuration de sécurité
<a name="eb3-migrateexamples-security"></a>

Gestion des sites soumis à des règles de pare-feu complexes :

```
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
```

Migration avec des rôles IAM personnalisés :

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

### Exemples d'exécution à distance
<a name="eb3-migrateexamples-remote"></a>

Migration des applications IIS depuis un serveur Windows distant :

```
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
```

Migration à distance avec sélection de sites spécifiques :

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