Gunakan agen EC2Launch v2 untuk melakukan tugas selama peluncuran instans EC2 Windows - Amazon Elastic Compute Cloud

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

Gunakan agen EC2Launch v2 untuk melakukan tugas selama peluncuran instans EC2 Windows

Semua instance Amazon yang didukung EC2 yang diluncurkan dari AWS Windows Server 2022 AMIs menyertakan agen peluncuran EC2Launch v2 (EC2Launch.exe) secara default. Kami juga menyediakan Windows Server 2016 dan 2019 AMIs dengan EC2Launch v2 diinstal sebagai agen peluncuran default. Ini AMIs disediakan selain Windows Server 2016 dan 2019 AMIs yang mencakup EC2Launch v1. Anda dapat mencari Windows AMIs yang menyertakan EC2Launch v2 secara default dengan memasukkan awalan berikut dalam pencarian Anda dari AMIshalaman di EC2 konsol Amazon:EC2LaunchV2-Windows_Server-*.

Untuk membandingkan fitur versi agen peluncuran, lihatBandingkan agen EC2 peluncuran Amazon.

EC2Launchv2 melakukan tugas selama startup instance dan berjalan jika instance dihentikan dan kemudian dimulai, atau dimulai ulang. EC2Launchv2 juga dapat melakukan tugas sesuai permintaan. Beberapa dari tugas ini diaktifkan secara otomatis, sementara yang lainnya harus diaktifkan secara manual. Layanan EC2Launch v2 mendukung semua EC2Config dan EC2Launch fitur.

Layanan ini menggunakan file konfigurasi untuk mengontrol operasinya. Anda dapat memperbarui file konfigurasi dengan menggunakan alat grafis atau dengan mengeditnya secara langsung sebagai file .yml tunggal (agent-config.yml). Biner layanan terletak di direktori %ProgramFiles%\Amazon\EC2Launch.

EC2Launchv2 menerbitkan log peristiwa Windows untuk membantu Anda memecahkan masalah kesalahan dan mengatur pemicu. Untuk informasi selengkapnya, lihat Log peristiwa Windows.

Agen EC2Launch v2 mendukung versi sistem operasi Windows Server (OS) berikut:

Versi OS yang didukung
  • Windows Server 2022

  • Windows Server 2019 (Saluran Layanan Jangka Panjang dan Saluran Semi-Tahunan)

  • Windows Server 2016

EC2Launchkonsep v2

Konsep-konsep berikut berguna untuk dipahami ketika mempertimbangkan EC2Launch v2.

Tugas

Anda dapat menginvokasi tugas untuk melakukan tindakan pada sebuah instans. Anda dapat mengonfigurasi tugas dalam file agent-config.yml atau melalui data pengguna. Untuk daftar tugas yang tersedia untuk EC2Launch v2, lihat tugas EC2Launch v2. Untuk skema konfigurasi tugas dan detailnya, lihat EC2Launchkonfigurasi tugas v2.

Tahap

Tahap adalah pengelompokan tugas logis yang dijalankan agen EC2Launch v2. Beberapa tugas hanya dapat dijalankan dalam tahap tertentu. Yang lain dapat berjalan dalam beberapa tahap. Saat menggunakan agent-config.yml, Anda harus menentukan daftar tahapan, dan daftar tugas untuk dijalankan dalam setiap tahap.

Layanan berjalan tahapan dalam urutan sebagai berikut:

Tahap 1: Boot

Tahap 2: Jaringan

Tahap 3: PreReady

Windows sudah siap

Setelah PreReady tahap selesai, layanan mengirim Windows is ready pesan ke EC2 konsol Amazon.

Tahap 4: PostReady

Data pengguna berjalan selama PostReadytahap. Beberapa versi skrip berjalan sebelum PostReadytahap agent-config.yml file, dan beberapa berjalan setelahnya, sebagai berikut:

Sebelum agent-config.yml
  • YAMLdata pengguna versi 1.1

  • XMLdata pengguna

Setelah agent-config.yml
  • YAMLdata pengguna versi 1.0 (versi lama untuk kompatibilitas mundur)

Untuk contoh tahapan dan tugas, lihat Contoh: agent-config.yml.

Saat Anda menggunakan data pengguna, Anda harus menentukan daftar tugas agar agen peluncuran dijalankan. Panggung tersirat. Untuk contoh tugas, lihat Contoh: data pengguna.

EC2Launchv2 menjalankan daftar tugas dalam urutan yang Anda tentukan dalam agent-config.yml dan dalam data pengguna. Tahapan berjalan secara berurutan. Tahap selanjutnya dimulai setelah tahap sebelumnya selesai. Tugas juga berjalan secara berurutan.

Frekuensi

Frekuensi tugas menentukan kapan tugas harus dijalankan, tergantung pada konteks boot. Sebagian besar tugas hanya memiliki satu frekuensi yang diizinkan. Anda dapat menentukan frekuensi untuk tugas executeScript.

Anda akan melihat frekuensi berikut di EC2Launchkonfigurasi tugas v2.

  • Once — Tugas berjalan sekali, ketika AMI telah boot untuk pertama kalinya (selesai Sysprep).

  • Selalu — Tugas berjalan setiap kali agen peluncuran berjalan. Agen peluncuran berjalan saat:

    • sebuah instans dimulai atau dimulai ulang

    • EC2Launchlayanan berjalan

    • EC2Launch.exe run diinvokasi

agent-config

agent-configadalah file yang terletak di folder konfigurasi untuk EC2Launch v2. Ini termasuk konfigurasi untuk boot, jaringan PreReady, dan PostReady tahapan. File ini digunakan untuk menentukan konfigurasi instance untuk tugas-tugas yang harus dijalankan ketika boot untuk pertama kalinya atau untuk waktu berikutnya. AMI

Secara default, instalasi EC2Launch v2 menginstal agent-config file yang menyertakan konfigurasi yang direkomendasikan yang digunakan di Amazon Windows standar. AMIs Anda dapat memperbarui file konfigurasi untuk mengubah pengalaman boot default untuk AMI yang ditentukan EC2Launch v2 Anda.

Data pengguna

Data pengguna adalah data yang dapat dikonfigurasi saat Anda meluncurkan sebuah instans. Anda dapat memperbarui data pengguna untuk secara dinamis mengubah cara kustom AMIs atau quickstart AMIs dikonfigurasi. EC2Launchv2 mendukung panjang input data pengguna 60 kB. Data pengguna hanya mencakup UserData tahap, dan karena itu berjalan setelah agent-config file. Anda dapat memasukkan data pengguna saat meluncurkan instance menggunakan wizard instans peluncuran, atau Anda dapat memodifikasi data pengguna dari EC2 konsol. Untuk informasi lebih lanjut tentang bekerja dengan data pengguna, lihat Bagaimana Amazon EC2 menangani data pengguna untuk instans Windows.

EC2Launchikhtisar tugas v2

EC2Launchv2 dapat melakukan tugas-tugas berikut di setiap boot:

  • Siapkan wallpaper baru dan yang disesuaikan secara opsional yang menyajikan informasi tentang instans.

  • Setel atribut untuk akun administrator yang dibuat di mesin lokal.

  • Tambahkan DNS sufiks ke daftar sufiks pencarian. Hanya sufiks yang belum ada yang ditambahkan ke daftar.

  • Atur huruf drive untuk volume tambahan dan perluas untuk menggunakan ruang yang tersedia.

  • Tulis file dari konfigurasi ke disk.

  • Jalankan skrip yang ditentukan dalam file konfigurasi EC2Launch v2 atau dari. user-data Skrip dari user-data dapat berupa teks biasa atau zip dan disediakan sebagai format base64.

  • Jalankan program dengan argumen yang diberikan.

  • Tetapkan nama komputer.

  • Kirim informasi instans ke EC2 konsol Amazon.

  • Kirim cap jempol RDP sertifikat ke konsol AmazonEC2.

  • Secara dinamis, perluas partisi sistem operasi untuk menyertakan ruang yang tidak dipartisi.

  • Jalankan data pengguna. Untuk informasi selengkapnya tentang menentukan data pengguna, lihat EC2Launchkonfigurasi tugas v2.

  • Setel rute statis non-persisten untuk menjangkau layanan metadata dan server. AWS KMS

  • Setel partisi non-boot ke mbr atau. gpt

  • Mulai layanan Systems Manager setelah Sysprep.

  • Optimalkan ENA pengaturan.

  • Aktifkan Buka SSH untuk versi Windows yang lebih baru.

  • Aktifkan Jumbo Frame.

  • Setel Sysprep untuk dijalankan dengan v2. EC2Launch

  • Publikasikan log peristiwa Windows.

EC2Launchv2 struktur direktori

EC2Launchv2 harus diinstal di direktori berikut:

  • Biner layana: %ProgramFiles%\Amazon\EC2Launch

  • Data layanan (pengaturan, file log, dan file statu): %ProgramData%\Amazon\EC2Launch

catatan

Secara default, Windows menyembunyikan file dan folder dalam C:\ProgramData. Untuk melihat direktori dan file EC2Launch v2, Anda harus memasukkan jalur di Windows Explorer atau mengubah properti folder untuk menampilkan file dan folder tersembunyi.

Direktori %ProgramFiles%\Amazon\EC2Launch berisi binari dan pustaka pendukung. Ini mencakup subdirektori berikut:

  • settings

    • EC2LaunchSettingsUI.exe — antarmuka pengguna untuk memodifikasi file agent-config.yml

    • YamlDotNet.dll— DLL untuk mendukung beberapa operasi di antarmuka pengguna

  • tools

    • ebsnvme-id.exe— alat untuk memeriksa metadata EBS volume pada instance

    • AWSAcpiSpcrReader.exe— alat untuk menentukan COM port yang benar untuk digunakan

    • EC2LaunchEventMessage.dll— DLL untuk mendukung pencatatan peristiwa Windows untukEC2Launch.

  • service

    • EC2LaunchService.exe — Layanan Windows dapat dieksekusi yang diluncurkan ketika agen peluncuran berjalan sebagai layanan.

  • EC2Launch.exe- utamaEC2Launch dapat dieksekusi

  • EC2LaunchAgentAttribution.txt— atribusi untuk kode yang digunakan dalam EC2 Peluncuran

Direktori %ProgramData%\Amazon\EC2Launch berisi subdirektori berikut. Semua data yang dihasilkan oleh layanan, termasuk log, konfigurasi, dan status, disimpan di direktori ini.

  • config— Konfigurasi

    File konfigurasi layanan disimpan dalam direktori ini sebagai agent-config.yml. File ini dapat diperbarui untuk mengubah, menambah, atau menghapus tugas default yang dijalankan oleh layanan. Izin untuk membuat file di direktori ini dibatasi untuk akun administrator untuk mencegah eskalasi hak istimewa.

  • log— Log contoh

    Log untuk service (agent.log), console (console.log), performance (bench.log), error (err.log), dan telemetri (telemetry.logdisimpan dalam direktori ini. File log ditambahkan ke eksekusi layanan selanjutnya.

  • state— Data status layanan

    Status yang digunakan layanan untuk menentukan tugas mana yang harus dijalankan disimpan di sini. Ada sebuah file .run-once yang menunjukkan apakah layanan telah dijalankan setelah Sysprep (jadi tugas dengan frekuensi sekali akan dilewati pada proses berikutnya). Subdirektori ini mencakup state.json dan previous-state.json untuk melacak status setiap tugas.

  • sysprep— Sysprep

    Direktori ini berisi file yang digunakan untuk menentukan operasi mana yang akan dilakukan oleh Sysprep ketika membuat Windows yang disesuaikan AMI yang dapat digunakan kembali.

  • wallpaper— Wallpaper

    Gambar wallpaper ini disimpan di direktori ini.

Telemetri

Telemetri adalah informasi tambahan yang membantu AWS untuk lebih memahami kebutuhan Anda, mendiagnosis masalah, dan memberikan fitur untuk meningkatkan pengalaman Anda. AWS layanan

EC2LaunchVersi v2 2.0.592 dan kemudian mengumpulkan telemetri, seperti metrik penggunaan dan kesalahan. Data ini dikumpulkan dari EC2 instance Amazon tempat EC2Launch v2 berjalan. Ini termasuk semua Windows yang AMIs dimiliki oleh AWS.

Jenis telemetri berikut dikumpulkan oleh EC2Launch v2:

  • Informasi penggunaan — perintah agen, metode penginstalan, dan frekuensi eksekusi terjadwal.

  • Kesalahan dan informasi diagnostik - kode kesalahan instalasi agen, jalankan kode kesalahan, dan tumpukan panggilan kesalahan.

Contoh data yang dikumpulkan:

2021/07/15 21:44:12Z: EC2LaunchTelemetry: IsAgentScheduledPerBoot=true 2021/07/15 21:44:12Z: EC2LaunchTelemetry: IsUserDataScheduledPerBoot=true 2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentCommandCode=1 2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentCommandErrorCode=5 2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentInstallCode=2 2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentInstallErrorCode=0

Telemetri tidak diaktifkan secara default. Anda dapat menonaktifkan kumpulan telemetri kapan saja. Jika telemetri diaktifkan, EC2Launch v2 mengirimkan data telemetri tanpa pemberitahuan pelanggan tambahan.

Visibilitas telemetri

Ketika telemetri diaktifkan, itu muncul di output EC2 konsol Amazon sebagai berikut.

2021/07/15 21:44:12Z: Telemetry: <Data>
Menonaktifkan telemetri pada sebuah instans

Untuk menonaktifkan telemetri untuk satu contoh, Anda dapat mengatur variabel lingkungan sistem, atau menggunakan MSI untuk memodifikasi instalasi.

Untuk menonaktifkan telemetri dengan menyetel variabel lingkungan sistem, jalankan perintah berikut sebagai administrator.

setx /M EC2LAUNCH_TELEMETRY 0

Untuk menonaktifkan telemetri menggunakanMSI, jalankan perintah berikut setelah Anda mengunduh file. MSI

msiexec /i ".\AmazonEC2Launch.msi" Remove="Telemetry" /q