eb migrate - AWS Elastic Beanstalk

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

Beschreibung

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

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.

  2. Inhalt und Konfiguration der Paketanwendung.

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

  4. 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 verwendeteb migrate cleanup, um diese Artefakte zu verwalten.

Syntax

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

erforschen

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

Verwenden Sie diesen Befehl, um die folgenden Informationen anzuzeigen:

  • Alle IIS-Sites auf dem Server anzeigen

  • Überprüfen Sie mit --verbose die detaillierte Konfiguration, einschließlich:

    • Seitenbindungen und Ports

    • Anwendungspools

    • Virtuelle Verzeichnisse und ihre physischen Pfade

    • Authentifizierungseinstellungen

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

Aufräumen

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

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

or

--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 mit dem Quellcode, der zuvor von generiert wurdeeb 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

or

--archive-only

Erstellen Sie nur das Zielarchivverzeichnis ohne Bereitstellung.

Das resultierende Verzeichnis kann eb migrate mit der archive Option oder manuell bereitgestellt werdeneb deploy.

-c subdomain-name

or

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

or

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

or

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

Wichtig

Dies ist eine kontoweite Einstellung, die sich auf alle future Amazon EBS-Volume-Erstellungen auswirkt.

-e environment-name

or

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

or

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

-i instance-type

or

--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 im EC2 Amazon-Benutzerhandbuch.

-in

or

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

or

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

or

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

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

or

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

Anmerkung

Geben Sie nur den Rollennamen an, nicht den vollständigen ARN. Elastic Beanstalk erstellt automatisch den kompletten ARN.

-s site-names

or

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

or

--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 Markieren von Umgebungen mit Tags.

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

or

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

{ "id": "vpc-1234567890abcdef0", "publicip": "true|false", "elbscheme": "public|private", "ec2subnets": ["subnet-a1b2c3d4", "subnet-e5f6g7h8"], "securitygroups": "sg-123456,sg-789012", "elbsubnets": ["subnet-a1b2c3d4", "subnet-e5f6g7h8"] }
  • id: (Erforderlich) VPC-ID

  • publicip: Ob Instanzen öffentlich zugewiesen IPs werden sollen

  • elbscheme: Load Balancer-Schema (öffentlich oder privat)

  • ec2subnets: Liste der Subnetze IDs für Instanzen EC2

  • securitygroups: Kommagetrennte Sicherheitsgruppe IDs

  • elbsubnets: Liste der Subnetze IDs für den Load Balancer

Wichtig

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

Output

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

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

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

  3. Status der Erstellung der Umgebung

  4. Fortschritt der Bereitstellung

Bei erfolgreicher Ausführung werden die Details der neuen Umgebung angezeigt, darunter:

  • Name und ID der Umgebung

  • Anwendungsname

  • Region

  • Plattformversion

  • Umgebung CNAME

Verwenden Sie bei Problemen während der Migration die eb healthBefehle eb eventsund, um detaillierte Informationen zu erhalten.

Beispiele

Grundlegende Verwendung

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

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

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

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"