eb migrate - AWS Elastic Beanstalk

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

eb migrate

Deskripsi

Memigrasi situs dan aplikasi Layanan Informasi Internet (IIS) dari server Windows ke Elastic Beanstalk. Perintah mengemas aplikasi Anda, mempertahankan konfigurasinya, dan menerapkannya ke lingkungan Elastic Beanstalk baru.

Untuk informasi selengkapnya tentang memigrasi situs dan aplikasi IIS Anda, lihat. Migrasi aplikasi IIS ke Elastic Beanstalk

catatan

Sebelum menggunakan perintah ini, pastikan sistem Anda memenuhi persyaratan ini:

  • Internet Information Services (IIS) versi 7.0 atau yang lebih baru

  • Web Deploy 3.6 atau yang lebih baru diinstal

  • Hak istimewa administratif di server Windows

  • AWS kredensil yang dikonfigurasi dengan izin yang sesuai

  • Server sumber Anda memiliki akses internet keluar ke AWS layanan.

Langkah-langkah berikut merangkum proses migrasi:

  1. Temukan situs IIS dan konfigurasinya.

  2. Konten dan konfigurasi aplikasi Package.

  3. Buat lingkungan dan aplikasi Elastic Beanstalk.

  4. Menyebarkan aplikasi dengan pengaturan yang diawetkan.

Perintah membuat artefak migrasi dalam direktori terstruktur seperti yang ditunjukkan dalam daftar berikut:

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

Gunakan eb migrate cleanup untuk mengelola artefak ini.

Sintaksis

eb migrate [options]

eb migrate explore [options]

eb migrate cleanup [options]

Ketika dijalankan tanpa argumen, eb migrate beroperasi dalam mode non-interaktif. Untuk menjalankannya dalam mode interaktif, jalankaneb migrate --interactive.

Perintah mode interaktif meminta informasi berikut:

  • Pemilihan situs IIS untuk bermigrasi

  • Nama lingkungan dan aplikasi

  • Pemilihan versi platform

  • Jenis instans dan opsi konfigurasi lainnya

Subperintah

explore

eb migrate exploreSubperintah memeriksa server IIS Anda dan daftar situs yang tersedia.

Gunakan perintah ini untuk menampilkan informasi berikut:

  • Lihat semua situs IIS di server

  • Dengan--verbose, periksa konfigurasi terperinci termasuk:

    • Binding dan port situs

    • Kolam aplikasi

    • Direktori virtual dan jalur fisiknya

    • Pengaturan otentikasi

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

pembersihan

eb migrate cleanupSubperintah mengelola artefak migrasi dengan tindakan berikut:

  • Melestarikan migrasi sukses terbaru di ./migrations/latest

  • Menghapus direktori migrasi lama

  • Mempertahankan file konfigurasi kritis

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

Gunakan --force untuk melewati permintaan konfirmasi selama pembersihan.

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

Opsi

Tak satu pun dari opsi ini diperlukan. Jika Anda menjalankan eb migrate tanpa opsi apa pun, CLI EB akan dijalankan dalam mode non-interaktif. Denganeb migrate --interactive, CLI EB meminta Anda untuk memasukkan atau memilih nilai untuk pengaturan yang diperlukan.

Nama

Deskripsi

-a application-name

atau

--application-name application-name

Nama untuk aplikasi Elastic Beanstalk baru.

Tipe: String

Default: EBMigrated Aplikasi

--archive directory-or-zip

Direktori atau file ZIP yang berisi kode sumber yang sebelumnya dihasilkan oleheb migrate --archive-only.

Gunakan opsi ini untuk menerapkan paket migrasi yang dibuat sebelumnya.

Contoh: --archive .\migrations\latest\upload_target atau --archive .\migrations\latest\upload_target.zip

-ao

atau

--archive-only

Buat hanya direktori arsip tujuan tanpa penerapan.

Direktori yang dihasilkan dapat digunakan secara manual menggunakan eb migrate dengan archive opsi, ataueb deploy.

-c subdomain-name

atau

--cname subdomain-name

Nama subdomain untuk awalan entri DNS CNAME untuk aplikasi yang dimigrasi.

Tipe: String

Default: Nama lingkungan

-cf

atau

--copy-firewall-config

Salin konfigurasi firewall server sumber ke tujuan untuk semua port HTTP dengan binding aktif.

Membuat aturan grup keamanan yang sesuai di AWS.

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

atau

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

Daftar snapshot Amazon EBS yang dipisahkan koma IDs untuk dikaitkan dengan lingkungan.

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

--encrypt-ebs-volumes

Menerapkan enkripsi untuk semua volume Amazon EBS baru.

penting

Ini adalah pengaturan seluruh akun yang memengaruhi semua pembuatan volume Amazon EBS di masa mendatang.

-e environment-name

atau

--environment-name environment-name

Nama untuk lingkungan Elastic Beanstalk yang baru.

Tipe: String

Default: EBMigrated Env

Kendala: Panjangnya harus antara 4 dan 40 karakter. Hanya dapat berisi huruf, angka, dan tanda hubung. Tidak dapat memulai atau mengakhiri dengan tanda hubung.

--force

Lewati permintaan konfirmasi selama operasi.

Ketika digunakan dengan cleanup subperintah, menghapus artefak migrasi tanpa konfirmasi.

-ip profile-name

atau

--instance-profile profile-name

Profil Instance untuk diasosiasikan dengan EC2 instans Amazon lingkungan.

Jika tidak ditentukan, buat profil instance default dengan izin untuk mengakses sumber daya Elastic Beanstalk. Untuk informasi selengkapnya, lihat Profil instans Elastic Beanstalk.

-i instance-type

atau

--instance-type instance-type

Jenis EC2 instans Amazon untuk lingkungan Elastic Beanstalk Anda.

Tipe: String

Default: c5.2xlarge

Untuk jenis instans yang tersedia, lihat jenis EC2 instans Amazon di Panduan EC2 Pengguna Amazon.

-in

atau

--interactive

Paksa mode interaktif untuk proses migrasi.

Meminta nilai konfigurasi bahkan ketika default tersedia.

-k key-name

atau

--keyname key-name

Amazon EC2 key pair untuk mengaktifkan akses RDP ke instance lingkungan.

Berguna untuk menyelidiki masalah tingkat instance yang tidak terlihat di log.

Nilai yang valid: Nama key pair yang sudah ada terdaftar di Amazon EC2

-p platform-version

atau

--platform platform-version

Runtime platform Elastic Beanstalk untuk lingkungan. Jika tidak ditentukan, secara otomatis terdeteksi dari host versi Windows Server.

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

Untuk daftar versi platform yang tersedia, gunakan daftar platform eb.

--remote

Menunjukkan untuk menjalankan migrasi dalam mode jarak jauh. Opsi ini memungkinkan eksekusi dari host bastion, yang terhubung ke server target yang berisi aplikasi dan konfigurasi yang akan dimigrasikan ke Elastic Beanstalk. Berjalan dari server bastion, eb migrate menemukan konfigurasi, mentahapkan logika migrasi pada host bastion, lalu menyebarkan aplikasi Anda ke lingkungan Elastic Beanstalk baru.

Opsi ini menghilangkan kebutuhan untuk menginstal EB CLI dan Python di server Windows yang perlu Anda migrasi. Anda menginstal Python dan EB CLI pada host bastion sebagai gantinya, di mana Anda menjalankan eb migrate perintah dengan opsi. --remote Gunakan --target-ip opsi untuk menentukan host dengan konfigurasi IIS untuk bermigrasi.

Harus digunakan dengan--target-ip,--username, dan--password.

--target-ip ip-address

Alamat IP publik dari mesin Windows jarak jauh yang berisi server IIS yang akan dimigrasikan.

Diperlukan saat menggunakan--remote. Hanya dapat ditentukan saat menggunakan--remote.

--username username

Nama pengguna profil pengguna untuk mengakses mesin Windows jarak jauh yang berisi server IIS yang akan dimigrasi.

Diperlukan saat menggunakan--remote. Hanya dapat ditentukan saat menggunakan--remote.

--password password

Kata sandi profil pengguna untuk mengakses mesin Windows jarak jauh yang berisi server IIS yang akan dimigrasi.

Diperlukan saat menggunakan--remote. Hanya dapat ditentukan saat menggunakan--remote.

-sr role-name

atau

--service-role role-name

Peran layanan IAM untuk Elastic Beanstalk untuk mengelola layanan terkait. AWS

Jika tidak ditentukan, buat peran layanan default dengan izin yang diperlukan. Untuk informasi selengkapnya, lihat Peran layanan Elastic Beanstalk.

catatan

Tentukan hanya nama peran, bukan ARN lengkap. Elastic Beanstalk secara otomatis menciptakan ARN lengkap.

-s site-names

atau

--sites site-names

Daftar situs IIS yang dipisahkan koma untuk bermigrasi. Jika tidak ditentukan, memigrasikan semua situs yang tersedia di server.

Contoh: --sites "Default Web Site,Intranet,API"

--ssl-certificates certificate-arn[,certificate-arn ...]

Daftar sertifikat SSL ACM yang dipisahkan koma ARNs untuk dikaitkan dengan Application Load Balancer.

Diperlukan saat memigrasi situs dengan binding HTTPS.

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

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

atau

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

Daftar key=value pasangan yang dipisahkan koma untuk menandai sumber daya baru di lingkungan Anda: Lingkungan, aplikasi Elastic Beanstalk, versi Aplikasi.

Untuk informasi selengkapnya, lihat Menandai lingkungan.

--verbose

Tampilkan informasi terperinci selama proses migrasi.

Saat digunakan dengan explore subperintah, menampilkan detail konfigurasi situs yang komprehensif.

-vpc config-file-or-string

atau

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

Konfigurasi VPC untuk lingkungan, ditentukan baik sebagai jalur file JSON atau string JSON.

Konfigurasi harus mencakup:

{ "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: (Diperlukan) pengidentifikasi VPC

  • publicip: Apakah akan menetapkan publik IPs ke instance

  • elbscheme: Skema penyeimbang beban (publik atau pribadi)

  • ec2subnets: Daftar subnet IDs untuk instance EC2

  • securitygroups: Kelompok keamanan yang dipisahkan koma IDs

  • elbsubnets: Daftar subnet IDs untuk penyeimbang beban

penting

Migrasi akan mengabaikan pengaturan VPC yang ada dari lingkungan sumber saat Anda menentukan parameter. --vpc-config Saat Anda menggunakan parameter ini, migrasi hanya akan menggunakan pengaturan VPC yang ditentukan dalam file konfigurasi yang Anda lewati. Menggunakan parameter ini mengesampingkan perilaku default untuk menemukan konfigurasi VPC instance sumber atau menggunakan VPC default.

Opsi umum

Output

Perintah menyediakan pembaruan status selama proses migrasi:

  1. Deteksi konfigurasi VPC (saat berjalan pada sebuah EC2 instance)

  2. Kemajuan pembuatan bundel sumber untuk setiap situs

  3. Status penciptaan lingkungan

  4. Kemajuan penerapan

Jika berhasil, menampilkan detail lingkungan baru termasuk:

  • Nama dan ID lingkungan

  • Nama aplikasi

  • Wilayah

  • Versi platform

  • Lingkungan CNAME

Untuk masalah selama migrasi, gunakan eb healthperintah eb eventsand untuk mendapatkan informasi terperinci.

Contoh

Penggunaan Dasar

Migrasi dasar dalam mode interaktif:

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

Migrasi situs tertentu dengan konfigurasi khusus:

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

Membuat arsip migrasi tanpa penerapan:

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.

Contoh Konfigurasi Lanjutan

Migrasi dengan konfigurasi VPC kustom menggunakan 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"

Migrasi situs dengan sertifikat SSL dan header 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

Migrasi dengan konfigurasi 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

Contoh Konfigurasi Keamanan

Menangani situs dengan aturan firewall yang kompleks:

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

Migrasi dengan peran IAM khusus:

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

Contoh Eksekusi Jarak Jauh

Migrasi aplikasi IIS dari server Windows jarak jauh:

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

Migrasi jarak jauh dengan pemilihan lokasi tertentu:

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