eb migrate - AWS Elastic Beanstalk

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

Descrizione

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

Nota

Prima di utilizzare questo comando, assicurati che il sistema soddisfi questi 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.

  2. Contenuto e configurazione dell'applicazione del Package.

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

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

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

esplorare

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

pulire

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

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

Nome

Descrizione

-a application-name

oppure

--application-name application-name

Nome per la nuova applicazione Elastic Beanstalk.

Tipo: stringa

Impostazione predefinita: App EBMigrated

--archive directory-or-zip

La directory o il file ZIP contenente il codice sorgente precedentemente generato daeb migrate --archive-only.

Utilizzate questa opzione per distribuire un pacchetto di migrazione creato in precedenza.

Esempio: --archive .\migrations\latest\upload_target o --archive .\migrations\latest\upload_target.zip

-ao

oppure

--archive-only

Crea solo la directory di archivio di destinazione senza distribuzione.

La directory risultante può essere distribuita manualmente utilizzando eb migrate l'archiveopzione oeb deploy.

-c subdomain-name

oppure

--cname subdomain-name

Il nome del sottodominio da aggiungere come prefisso alla voce DNS CNAME per l'applicazione migrata.

Tipo: stringa

Impostazione predefinita: nome dell'ambiente

-cf

oppure

--copy-firewall-config

Copia la configurazione del firewall del server di origine nella destinazione per tutte le porte HTTP con collegamenti attivi.

Crea le regole del gruppo di sicurezza corrispondenti in. AWS

-es snapshot-id [snapshot-id ...]

oppure

--ebs-snapshots snapshot-id [snapshot-id ...]

Elenco separato da virgole di snapshot Amazon EBS da associare IDs all'ambiente.

Esempio: --ebs-snapshots snap-1234567890abcdef0, snap-0987654321fedcba1

--encrypt-ebs-volumes

Applica la crittografia per tutti i nuovi volumi Amazon EBS.

Importante

Si tratta di un'impostazione a livello di account che influisce su tutte le future creazioni di volumi Amazon EBS.

-e environment-name

oppure

--environment-name environment-name

Nome per il nuovo ambiente Elastic Beanstalk.

Tipo: stringa

Impostazione predefinita: Env EBMigrated

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.

Se utilizzato con il cleanup sottocomando, rimuove gli elementi della migrazione senza conferma.

-ip profile-name

oppure

--instance-profile profile-name

Profilo dell'istanza da associare alle EC2 istanze Amazon dell'ambiente.

Se non specificato, crea un profilo di istanza predefinito con autorizzazioni per accedere alle risorse Elastic Beanstalk. Per ulteriori informazioni, consulta Profilo dell'istanza Elastic Beanstalk.

-i instance-type

oppure

--instance-type instance-type

Il tipo di EC2 istanza Amazon per il tuo ambiente Elastic Beanstalk.

Tipo: stringa

Predefinito: c5.2xlarge

Per i tipi di istanze disponibili, consulta i tipi di EC2 istanze Amazon nella Amazon EC2 User Guide.

-in

oppure

--interactive

Forza la modalità interattiva per il processo di migrazione.

Richiede i valori di configurazione anche quando sono disponibili quelli predefiniti.

-k key-name

oppure

--keyname key-name

Amazon EC2 key pair per abilitare l'accesso RDP alle istanze di ambiente.

Utile per analizzare problemi a livello di istanza non visibili nei log.

Valori validi: un nome di key pair esistente registrato con Amazon EC2

-p platform-version

oppure

--platform platform-version

Runtime della piattaforma Elastic Beanstalk per l'ambiente. Se non specificato, viene rilevato automaticamente dalla versione host di Windows Server.

Esempio: "64bit Windows Server 2016 v2.16.2 running IIS 10.0"

Per un elenco delle versioni disponibili della piattaforma, usa eb 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.

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 migrateopzione. --remote Usa l'--target-ipopzione per specificare l'host con le configurazioni IIS da migrare.

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.

Richiesto durante l'utilizzo--remote. Può essere specificato solo durante l'uso--remote.

--username username

Nome utente del profilo utente per accedere al computer Windows remoto che contiene i server IIS da migrare.

Richiesto durante l'utilizzo--remote. Può essere specificato solo durante l'uso--remote.

--password password

Password del profilo utente per accedere al computer Windows remoto che contiene i server IIS da migrare.

Richiesto durante l'utilizzo--remote. Può essere specificato solo durante l'uso--remote.

-sr role-name

oppure

--service-role role-name

Ruolo di servizio IAM per Elastic Beanstalk per la gestione dei servizi correlati. AWS

Se non specificato, crea un ruolo di servizio predefinito con le autorizzazioni necessarie. Per ulteriori informazioni, consulta Ruolo di servizio Elastic Beanstalk.

Nota

Specificate solo il nome del ruolo, non l'ARN completo. Elastic Beanstalk crea automaticamente l'ARN completo.

-s site-names

oppure

--sites site-names

Elenco separato da virgole di siti IIS da migrare. Se non specificato, migra tutti i siti disponibili sul server.

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.

Richiesto per la migrazione di siti con collegamenti HTTPS.

Esempio: --ssl-certificates arn:aws:acm:region:account:certificate/certificate-id

-t key1=value1[,key2=value2 ...]

oppure

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

Per ulteriori informazioni, consulta Tagging degli ambienti.

--verbose

Mostra informazioni dettagliate durante il processo di migrazione.

Se utilizzato con il explore sottocomando, visualizza dettagli completi sulla configurazione del sito.

-vpc config-file-or-string

oppure

--vpc-config config-file-or-string

Configurazione VPC per l'ambiente, specificata come percorso di file JSON o stringa JSON.

La configurazione deve includere:

{ "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: (obbligatorio) identificatore VPC

  • publicip: se assegnare il pubblico alle istanze IPs

  • elbscheme: schema di bilanciamento del carico (pubblico o privato)

  • ec2subnets: elenco di IDs sottoreti per le istanze EC2

  • securitygroups: gruppo di sicurezza separato da virgole IDs

  • elbsubnets: elenco di sottoreti per il IDs bilanciamento del carico

Importante

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

Output

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

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

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

  3. Stato di creazione dell'ambiente

  4. Avanzamento dell'implementazione

In caso di successo, visualizza i dettagli del nuovo ambiente, tra cui:

  • Nome e ID dell'ambiente

  • Nome applicazione

  • Regione

  • Versione della piattaforma

  • CNAME dell'ambiente

Per problemi durante la migrazione, usa i eb healthcomandi eb eventsand per ottenere informazioni dettagliate.

Esempi

Utilizzo di base

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

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

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

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"