

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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

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

Migriert Internet Information Services (IIS) -Sites und -Anwendungen von einem Windows-Server zu Elastic Beanstalk. Der Befehl packt Ihre Anwendungen, behält ihre Konfigurationen bei und stellt sie in einer neuen Elastic Beanstalk Beanstalk-Umgebung bereit. 

Weitere Informationen zur Migration Ihrer IIS-Sites und -Anwendungen finden Sie unter. [Migration von IIS-Anwendungen zu Elastic Beanstalk](dotnet-migrating-applications.md)

**Anmerkung**  
Bevor Sie diesen Befehl verwenden, stellen Sie sicher, dass Ihr System die folgenden Anforderungen erfüllt:  
Internetinformationsdienste (IIS) Version 7.0 oder höher
Web Deploy 3.6 oder höher ist installiert
Administratorrechte auf dem Windows-Server
AWS Anmeldeinformationen, die mit den entsprechenden Berechtigungen konfiguriert wurden
Ihr Quellserver hat ausgehenden Internetzugang zu AWS Diensten.

In den folgenden Schritten wird der Migrationsprozess zusammengefasst: 

1. Entdecken Sie IIS-Websites und ihre Konfigurationen.

1. Inhalt und Konfiguration der Paketanwendung.

1. Erstellen Sie eine Elastic Beanstalk Beanstalk-Umgebung und -Anwendung.

1. Stellen Sie die Anwendung mit beibehaltenen Einstellungen bereit.

Der Befehl erstellt Migrationsartefakte in einem strukturierten Verzeichnis, wie in der folgenden Liste dargestellt:

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

Wird verwendet**eb migrate cleanup**, um diese Artefakte zu verwalten.

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

**eb migrate *[options]***

**eb migrate explore *[options]***

**eb migrate cleanup *[options]***

Wenn es ohne Argumente ausgeführt wird, wird **eb migrate** es im nicht interaktiven Modus ausgeführt. Um es im interaktiven Modus auszuführen, führen Sie den Befehl aus**eb migrate --interactive**.

Der Befehl für den interaktiven Modus fordert Sie zur Eingabe der folgenden Informationen auf:
+ Auswahl der zu migrierenden IIS-Sites
+ Umgebungs- und Anwendungsnamen
+ Auswahl der Plattformversion
+ Instanztyp und andere Konfigurationsoptionen

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

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

Der **eb migrate explore** Unterbefehl untersucht Ihren IIS-Server und listet die verfügbaren Sites auf.

Verwenden Sie diesen Befehl, um die folgenden Informationen anzuzeigen:
+ Alle IIS-Sites auf dem Server anzeigen
+ Untersuchen Sie mit `--verbose` die detaillierte Konfiguration, einschließlich:
  + Site-Bindungen und Ports
  + Anwendungspools
  + Virtuelle Verzeichnisse und ihre physischen Pfade
  + Einstellungen für die Authentifizierung

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

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

Der **eb migrate cleanup** Unterbefehl verwaltet Migrationsartefakte mit den folgenden Aktionen:
+ Beibehaltung der letzten erfolgreichen Migration in `./migrations/latest`
+ Ältere Migrationsverzeichnisse werden entfernt
+ Pflege kritischer Konfigurationsdateien

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

Wird verwendet`--force`, um Bestätigungsaufforderungen während der Bereinigung zu überspringen.

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

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

Keine dieser Optionen ist erforderlich. Wenn Sie **eb migrate** ohne Optionen ausführen, wird die EB-CLI im nicht interaktiven Modus ausgeführt. Mit **eb migrate --interactive** fordert Sie die EB CLI auf, einen Wert für die erforderlichen Einstellungen einzugeben oder auszuwählen.


****  

|  Name  |  Beschreibung  | 
| --- | --- | 
|  `-a` *application-name* oder `--application-name` *application-name*  |  Name für die neue Elastic Beanstalk Beanstalk-Anwendung. Typ: Zeichenfolge Standard: App EBMigrated  | 
|  `--archive` *directory-or-zip*  |  Das Verzeichnis oder die ZIP-Datei, die den Quellcode enthält, der zuvor von generiert wurde**eb migrate --archive-only**. Verwenden Sie diese Option, um ein zuvor erstelltes Migrationspaket bereitzustellen. Beispiel: `--archive .\migrations\latest\upload_target` oder `--archive .\migrations\latest\upload_target.zip`  | 
|  `-ao` oder `--archive-only`  |  Erstellen Sie nur das Zielarchivverzeichnis ohne Bereitstellung. Das resultierende Verzeichnis kann **eb migrate** mit der `archive` Option oder manuell bereitgestellt werden**eb deploy**.  | 
|  `-c` *subdomain-name* oder `--cname` *subdomain-name*  |  Der Name der Subdomain, der dem CNAME-DNS-Eintrag für Ihre migrierte Anwendung vorangestellt werden soll. Typ: Zeichenfolge Standard: Der Umgebungsname  | 
|  `-cf` oder `--copy-firewall-config`  |  Kopieren Sie die Firewallkonfiguration des Quellservers für alle HTTP-Ports mit aktiven Bindungen auf das Ziel. Erstellt entsprechende Sicherheitsgruppenregeln in AWS.  | 
|  `-es` *snapshot-id* [*snapshot-id* ...] oder `--ebs-snapshots` *snapshot-id* [*snapshot-id* ...]  |  Durch Kommas getrennte Liste der Amazon EBS-Snapshots IDs , die der Umgebung zugeordnet werden sollen. Beispiel: `--ebs-snapshots snap-1234567890abcdef0, snap-0987654321fedcba1`  | 
|  `--encrypt-ebs-volumes`  |  Erzwingen Sie die Verschlüsselung für alle neuen Amazon EBS-Volumes.  Dies ist eine kontoweite Einstellung, die sich auf alle future Amazon EBS-Volume-Erstellungen auswirkt.   | 
|  `-e` *environment-name* oder `--environment-name` *environment-name*  |  Name für die neue Elastic Beanstalk Beanstalk-Umgebung. Typ: Zeichenfolge Standard: Env EBMigrated Einschränkungen: Muss zwischen 4 und 40 Zeichen lang sein. Kann nur Buchstaben, Zahlen und Bindestriche enthalten. Am Anfang und am Ende darf kein Bindestrich stehen.  | 
|  `--force`  |  Überspringen Sie Bestätigungsaufforderungen während des Betriebs. Bei Verwendung mit einem **cleanup** Unterbefehl werden Migrationsartefakte ohne Bestätigung entfernt.  | 
|  `-ip` *profile-name* oder `--instance-profile` *profile-name*  |  Instance-Profil, das den EC2 Amazon-Instances der Umgebung zugeordnet werden soll. Wenn nicht angegeben, wird ein Standard-Instanzprofil mit Berechtigungen für den Zugriff auf Elastic Beanstalk Beanstalk-Ressourcen erstellt. Weitere Informationen finden Sie unter [Elastic Beanstalk-Instance-Profil](concepts-roles-instance.md).   | 
|  `-i` *instance-type* oder `--instance-type` *instance-type*  |  Der EC2 Amazon-Instance-Typ für Ihre Elastic Beanstalk Beanstalk-Umgebung. Typ: Zeichenfolge Standard: c5.2xlarge Die verfügbaren Instance-Typen finden Sie unter [ EC2 Amazon-Instance-Typen](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) im * EC2 Amazon-Benutzerhandbuch*.  | 
|  `-in` oder `--interactive`  |  Erzwingen Sie den interaktiven Modus für den Migrationsprozess. Fordert zur Eingabe von Konfigurationswerten auf, auch wenn Standardwerte verfügbar sind.  | 
|  `-k` *key-name* oder `--keyname` *key-name*  |   EC2 Amazon-Schlüsselpaar zur Aktivierung des RDP-Zugriffs auf Umgebungsinstanzen. Nützlich für die Untersuchung von Problemen auf Instanzebene, die in Protokollen nicht sichtbar sind. Gültige Werte: Ein vorhandener Schlüsselpaarname, der bei Amazon registriert ist EC2  | 
|  `-p` *platform-version* oder `--platform` *platform-version*  |  Elastic Beanstalk-Plattformlaufzeit für die Umgebung. Wenn nicht angegeben, wird es automatisch von der Windows Server-Host-Version erkannt. Beispiel: `"64bit Windows Server 2016 v2.16.2 running IIS 10.0"` Eine Liste der verfügbaren Plattformversionen finden Sie unter [web platform list](eb3-platform.md#eb3-platform-list).  | 
|  `--remote`  |  Zeigt an, dass die Migration im Remote-Modus ausgeführt werden soll. Diese Option ermöglicht die Ausführung von einem Bastion-Host aus, der eine Verbindung zu dem Zielserver herstellt, der die Anwendung und die Konfigurationen enthält, die zu Elastic Beanstalk migriert werden sollen. Wird auf dem Bastion-Server ausgeführt, `eb migrate` erkennt Konfigurationen, stellt die Migrationslogik auf dem Bastion-Host bereit und stellt Ihre Anwendung anschließend in einer neuen Elastic Beanstalk Beanstalk-Umgebung bereit.  Mit dieser Option müssen Sie EB CLI und Python nicht mehr auf dem Windows-Server installieren, den Sie migrieren müssen. Sie installieren Python und die EB-CLI stattdessen auf einem Bastion-Host, wo Sie den **eb migrate** Befehl mit der `--remote` Option ausführen. Verwenden Sie die `--target-ip` Option, um den Host mit den zu migrierenden IIS-Konfigurationen anzugeben. Muss mit `--target-ip``--username`, und verwendet werden`--password`.  | 
|  `--target-ip` *ip-address*  |  Öffentliche IP-Adresse des Windows-Remotecomputers, auf dem sich die zu migrierenden IIS-Server befinden. Erforderlich bei der Verwendung von`--remote`. Kann nur bei Verwendung angegeben werden`--remote`.  | 
|  `--username` *username*  |  Benutzername des Benutzerprofils für den Zugriff auf den Windows-Remotecomputer, der die zu migrierenden IIS-Server enthält. Erforderlich bei der Verwendung`--remote`. Kann nur bei Verwendung angegeben werden`--remote`.  | 
|  `--password` *password*  |  Passwort des Benutzerprofils für den Zugriff auf den Windows-Remotecomputer, der die zu migrierenden IIS-Server enthält. Erforderlich bei der Verwendung`--remote`. Kann nur bei Verwendung angegeben werden`--remote`.  | 
|  `-sr` *role-name* oder `--service-role` *role-name*  |  IAM-Servicerolle für Elastic Beanstalk zur Verwaltung verwandter Dienste. AWS  Wenn nicht angegeben, wird eine Standard-Servicerolle mit den erforderlichen Berechtigungen erstellt. Weitere Informationen finden Sie unter [Elastic Beanstalk-Servicerolle](concepts-roles-service.md).  Geben Sie nur den Rollennamen an, nicht den vollständigen ARN. Elastic Beanstalk erstellt automatisch den kompletten ARN.   | 
|  `-s` *site-names* oder `--sites` *site-names*  |  Durch Kommas getrennte Liste der zu migrierenden IIS-Sites. Wenn nicht angegeben, werden alle verfügbaren Sites auf dem Server migriert. Beispiel: `--sites "Default Web Site,Intranet,API"`  | 
|  `--ssl-certificates` *certificate-arn*[,*certificate-arn* ...]  |  Durch Kommas getrennte Liste der ACM-SSL-Zertifikate, die dem Application ARNs Load Balancer zugeordnet werden sollen. Erforderlich für die Migration von Websites mit HTTPS-Bindungen. Beispiel: `--ssl-certificates arn:aws:acm:region:account:certificate/certificate-id`  | 
|  `-t key1=value1[,key2=value2 ...]` oder `-﻿-﻿tags key1=value1[,key2=value2 ...]`  |  Kommagetrennte Liste von `key=value` Paaren zur Kennzeichnung neuer Ressourcen in Ihrer Umgebung: Umgebung, Elastic Beanstalk Beanstalk-Anwendung, Anwendungsversion. Weitere Informationen finden Sie unter [Tagging-Umgebungen](using-features.tagging.md).  | 
|  `--verbose`  |  Zeigt detaillierte Informationen während des Migrationsprozesses an. Zeigt bei Verwendung mit einem **explore** Unterbefehl umfassende Informationen zur Site-Konfiguration an.  | 
|  `-vpc` *config-file-or-string* oder `--vpc-config` *config-file-or-string*  |  VPC-Konfiguration für die Umgebung, entweder als JSON-Dateipfad oder als JSON-Zeichenfolge angegeben. Die Konfiguration muss Folgendes beinhalten: <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/de_de/elasticbeanstalk/latest/dg/eb3-migrate.html)  Bei *der Migration werden alle vorhandenen VPC-Einstellungen aus der Quellumgebung ignoriert, wenn Sie den `--vpc-config` *Parameter* angeben*. Wenn Sie diesen Parameter verwenden, verwendet die Migration nur die VPC-Einstellungen, die in der Konfigurationsdatei angegeben sind, die Sie übergeben. Die Verwendung dieses Parameters setzt das Standardverhalten beim Erkennen der VPC-Konfiguration der Quell-Instance oder beim Verwenden der Standard-VPC außer Kraft.   | 
|  [Allgemeine Optionen](eb3-cmd-options.md)  |  | 

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

Der Befehl stellt während des gesamten Migrationsprozesses Statusaktualisierungen bereit:

1. VPC-Konfigurationserkennung (bei Ausführung auf einer EC2 Instance)

1. Fortschritt der Generierung des Quellpakets für jede Site

1. Status der Erstellung der Umgebung

1. Fortschritt bei der Bereitstellung

Bei erfolgreicher Ausführung werden die Details der neuen Umgebung angezeigt, darunter:
+ Name und ID der Umgebung
+ Anwendungsname
+ Region
+ Version der Plattform
+ Umgebung CNAME

Verwenden Sie bei Problemen während der Migration die [**eb health**](eb3-health.md)Befehle [**eb events**](eb3-events.md)und, um detaillierte Informationen zu erhalten.

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

### Grundlegende Verwendung
<a name="eb3-migrateexamples-basic"></a>

Grundlegende Migration im interaktiven Modus:

```
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 bestimmter Websites mit benutzerdefinierter Konfiguration:

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

Migrationsarchiv ohne Bereitstellung erstellen:

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

### Beispiele für erweiterte Konfigurationen
<a name="eb3-migrateexamples-advanced"></a>

Migration mit benutzerdefinierter VPC-Konfiguration mithilfe einer JSON-Datei:

```
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 von Websites mit SSL-Zertifikaten und Host-Headern:

```
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 mit EBS-Snapshot-Konfiguration: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
```

### Beispiele für Sicherheitskonfigurationen
<a name="eb3-migrateexamples-security"></a>

Umgang mit Websites mit komplexen Firewallregeln:

```
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 mit benutzerdefinierten IAM-Rollen:

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

### Beispiele für die Ausführung per Fernzugriff
<a name="eb3-migrateexamples-remote"></a>

Migration von IIS-Anwendungen von einem Windows-Remoteserver:

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

Remote-Migration mit spezifischer Standortwahl:

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