Pengaturan EC2Launch v2 - Amazon Elastic Compute Cloud

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

Pengaturan EC2Launch v2

Bagian ini berisi informasi tentang cara mengonfigurasi pengaturan untuk EC2Launch v2.

Ubah pengaturan menggunakan kotak dialog pengaturan EC2Launch v2

Prosedur berikut menjelaskan cara menggunakan kotak dialog pengaturan EC2Launch v2 untuk mengaktifkan atau menonaktifkan pengaturan.

catatan

Jika Anda mengonfigurasi tugas kustom secara tidak benar di file agent-config.yml. dan Anda mencoba membuka kotak dialog pengaturan Amazon EC2Launch, Anda akan menerima kesalahan. Untuk contoh skema, lihat Contoh: agent-config.yml.

  1. Jalankan dan hubungkan ke instans Windows Anda.

  2. Dari menu Start, pilih Semua Program, lalu navigasikan ke pengaturan EC2Launch.

    Aplikasi pengaturan EC2 Launch.
  3. Pada tab Umum dari kotak dialog pengaturan EC2Launch, Anda dapat mengaktifkan atau menonaktifkan pengaturan berikut.

    1. Atur Nama Komputer

      Jika pengaturan ini diaktifkan (dinonaktifkan secara default), maka nama host saat ini dibandingkan dengan nama host yang diinginkan di setiap boot. Jika nama host tidak cocok, maka nama host disetel ulang, dan sistem kemudian secara opsional melakukan boot ulang untuk mengambil nama host baru. Jika nama host kustom tidak ditentukan, maka akan dihasilkan menggunakan alamat IPv4 privat dengan format heksadesimal, misalnya, ip-AC1F4E6. Untuk mencegah perubahan nama host yang ada, jangan aktifkan pengaturan ini.

    2. Perpanjang Volume Boot

      Pengaturan ini secara dinamis memperluas Disk 0/Volume 0 untuk memasukkan ruang yang tidak dipartisi. Pengaturan ini dapat berguna ketika instans di-boot dari volume perangkat root yang memiliki ukuran khusus.

    3. Atur Akun Administrator

      Saat diaktifkan, Anda dapat mengatur atribut nama pengguna dan kata sandi untuk akun administrator yang dibuat di mesin lokal Anda. Jika fitur ini tidak diaktifkan, akun administrator tidak dibuat di sistem setelah Sysprep. Berikan kata sandi dalamadminPassword hanya jikaadminPasswordtype adalahSpecify.

      Jenis kata sandi ditentukan sebagai berikut:

      1. Random

        EC2Launch menghasilkan dan mengenkripsikan kata sandi menggunakan kunci pengguna. Sistem akan menonaktifkan pengaturan ini setelah instans dijalankan sehingga kata sandi ini akan tetap ada jika instans tersebut di-boot ulang atau dihentikan dan dimulai.

      2. Specify

        EC2Launch menggunakan kata sandi yang Anda tentukan di adminPassword. Jika kata sandi tidak memenuhi persyaratan sistem, maka EC2Lauch membuat kata sandi acak sebagai gantinya. Kata sandi disimpan di agent-config.yml sebagai teks polos dan dihapus setelah Sysprep mengatur kata sandi administrator. EC2Launch mengenkripsi kata sandi menggunakan kunci pengguna.

      3. Do not set

        EC2Launch menggunakan kata sandi yang Anda tentukan di file unattend.xml. Jika Anda tidak menentukan kata sandi di unattend.xml, akun administrator dinonaktifkan.

    4. Mulai Layanan SSM

      Ketika dipilih, layanan Systems Manajger diaktifkan untuk mulai mengikuti Sysprep. EC2Launch v2 melakukan semua tugas yang dijelaskan sebelumnya, dan SSM Agent memproses permintaan untuk kapabilitas Systems Manager, seperti Run Command dan State Manager.

      Anda dapat menggunakan Run Command untuk memutakhirkan instans yang ada untuk mengunakan pada layanan EC2Launch v2 dan SSM Agent versi terbaru. Untuk informasi selengkapnya, lihat Perbarui SSM Agent dengan menggunakan Run Command dalam Panduan Pengguna AWS .

    5. Optimalkan ENA

      Saat dipilih, pengaturan ENA dikonfigurasi untuk memastikan bahwa pengaturan ENA Receive Side Scaling dan Receive Queue Depth dioptimalkan. AWS Untuk informasi selengkapnya, lihat Mengonfigurasi afinitas CPU RSS.

    6. Aktifkan SSH

      Pengaturan ini memungkinkan OpenSSH untuk versi Windows yang lebih baru untuk memungkinkan administrasi sistem jarak jauh.

    7. Aktifkan Jumbo Frame

      Pilih untuk mengaktifkan Jumbo Frames. Jumbo Frames dapat memiliki efek yang tidak diinginkan pada komunikasi jaringan Anda, jadi pastikan Anda memahami bagaimana Jumbo Frames akan memengaruhi sistem Anda sebelum mengaktifkan. Untuk informasi selengkapnya tentang Jumbo Frames, lihat Frame jumbo (9001 MTU).

    8. Persiapkan untuk Pencitraan

      Pilih apakah Anda ingin instans EC2 Anda dimatikan dengan atau tanpa Sysprep. Saat Anda ingin menjalankan Sysprep dengan EC2Launch v2, pilih Matikan dengan Sysprep.

  4. Pada tab Sufiks DNS, Anda dapat memilih apakah Anda ingin menambahkan daftar sufiks DNS untuk resolusi DNS dari server yang berjalan di EC2, tanpa memberikan nama domain yang memenuhi syarat. Sufiks DNS dapat berisi variabel $REGION dan $AZ. Hanya sufiks yang belum ada yang akan ditambahkan ke daftar.

    Aplikasi pengaturan EC2 Launch.
  5. Pada tab Wallpaper, Anda dapat mengonfigurasi wallpaper instans Anda dengan gambar latar belakang, dan menentukan detail instans untuk wallpaper yang akan ditampilkan. Amazon EC2 menghasilkan detail setiap kali Anda masuk.

    Anda dapat mengonfigurasi wallpaper Anda dengan kontrol berikut.

    • Tampilkan detail instans pada wallpaper — Kotak centang ini mengaktifkan atau menonaktifkan tampilan detail instans pada wallpaper.

    • Jalur gambar (.jpg) - Tentukan jalur ke gambar yang akan digunakan sebagai latar belakang wallpaper.

    • Pilih atribut yang akan ditampilkan di wallpaper — Pilih kotak centang untuk detail instans yang ingin Anda tampilkan di wallpaper. Hapus kotak centang untuk detail instans yang dipilih sebelumnya yang akan Anda hapus dari wallpaper.

    • Tampilkan Tanda Instans pada wallpaper - Pilih salah satu pengaturan berikut untuk menampilkan tanda instans pada wallpaper:

      • Tidak ada - Jangan tampilkan tanda instans apa pun di wallpaper.

      • Tampilkan semua — Tampilkan semua tanda instans pada wallpaper.

      • Tampilkan difilter - Tampilkan tanda instans tertentu pada wallpaper. Saat memilih pengaturan ini, Anda dapat menambahkan tanda instans yang ingin ditampilkan di wallpaper di kotak filter tanda instans.

        catatan

        Anda harus mengaktifkan tanda dalam metadata untuk menampilkan tanda pada wallpaper. Untuk informasi selengkapnya tentang tanda instans dan metadata, lihat Bekerja dengan tanda instans dalam metadata instans.

    Tab Wallpaper pengaturan EC2 Launch.
  6. Pada tab Volume, pilih apakah Anda ingin menginisialisasi volume yang dilampirkan ke instans. Mengaktifkan set huruf drive untuk volume tambahan dan memperluasnya untuk menggunakan ruang yang tersedia. Jika Anda memilih Semua, semua volume penyimpanan diinisialisasi. Jika Anda memilih Perangkat, hanya perangkat yang ditentukan dalam daftar yang diinisialisasi. Anda harus memasukkan perangkat untuk setiap perangkat yang akan diinisialisasi. Gunakan peranti yang terdaftar pada konsol EC2, sebagai contoh, xvdb atau /dev/nvme0n1. Daftar dropdown menampilkan volume penyimpanan yang dilampirkan pada instans. Untuk memasukkan perangkat yang tidak terpasang ke instans, masukkan perangkat itu di bidang teks.

    Nama, Huruf, dan Partisi adalah bidang opsional. Jika tidak ada nilai yang ditentukan untuk Partisi, volume penyimpanan yang lebih besar dari 2 TB diinisialisasi dengan jenis gpt partisi, dan yang lebih kecil dari 2 TB diinisialisasi dengan jenis mbr partisi. Jika perangkat dikonfigurasi, dan perangkat non-NTFS berisi tabel partisi, atau 4 KB pertama dari disk berisi data, maka disk akan dilewati dan tindakan dicatat.

    Aplikasi pengaturan EC2 Launch.

Berikut ini adalah contoh file YAML konfigurasi yang dibuat dari pengaturan yang dimasukkan di dialog EC2Launch.

version: 1.0 config: - stage: boot tasks: - task: extendRootPartition - stage: preReady tasks: - task: activateWindows inputs: activation: type: amazon - task: setDnsSuffix inputs: suffixes: - $REGION.ec2-utilities.amazonaws.com - task: setAdminAccount inputs: password: type: random - task: setWallpaper inputs: path: C:\ProgramData\Amazon\EC2Launch\wallpaper\Ec2Wallpaper.jpg attributes: - hostName - instanceId - privateIpAddress - publicIpAddress - instanceSize - availabilityZone - architecture - memory - network - stage: postReady tasks: - task: startSsm

Struktur direktori EC2Launch v2

EC2Launch v2 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 ubah 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 volume EBS di instans

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

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

  • service

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

  • EC2Launch.exe — EC2Launch utama dapat dieksekusi

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

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 instans

    Log untuk layanan (agent.log), konsol (console.log), performa (bench.log), dan kesalahan (error.log) disimpan di 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 saat membuat AMI Windows kustom yang dapat digunakan kembali.

Konfigurasikan EC2Launch v2 menggunakan CLI

Anda dapat menggunakan Command Line Interface (CLI) untuk mengonfigurasi pengaturan EC2Launch Anda dan mengelola layanan. Bagian berikut ini berisi deskripsi dan informasi penggunaan untuk perintah CLI yang dapat Anda gunakan untuk mengelola EC2Launch v2.

collect-logs

Mengumpulkan file log untuk EC2Launch, men-zip file, dan menempatkannya di direktori yang ditentukan.

Contoh

ec2launch collect-logs -o C:\Mylogs.zip

Penggunaan

ec2launch collect-logs [flags]

Bendera

-h, --help

bantuan untuk collect-logs

-o, --output string

jalur ke file log output zip

get-agent-config

Mencetak agent-config.yml dalam format yang ditentukan (JSON atau YAML). Jika tidak ada format yang ditentukan, agent-config.yml dicetak dalam format yang ditentukan sebelumnya.

Contoh

ec2launch get-agent-config -f json

Contoh 2

PowerShell Perintah berikut menunjukkan cara mengedit dan menyimpan agent-config file dalam format JSON.

$config = & "$env:ProgramFiles/Amazon/EC2Launch/EC2Launch.exe" --format json | ConvertFrom-Json $jumboFrame =@" { "task": "enableJumboFrames" } "@ $config.config | %{if($_.stage -eq 'postReady'){$_.tasks += (ConvertFrom-Json -InputObject $jumboFrame)}} $config | ConvertTo-Json -Depth 6 | Out-File -encoding UTF8 $env:ProgramData/Amazon/EC2Launch/config/agent-config.yml

Penggunaan

ec2launch get-agent-config [flags]

Bendera

-h, --help

bantuan untuk get-agent-config

-f, --format string

format output file agent-config: json, yaml

list-volumes

Mencantumkan semua volume penyimpanan yang dilampirkan ke instans, termasuk volume singkat dan EBS.

Contoh

ec2launch list-volumes

Penggunaan

ec2launch list-volumes

Bendera

-h, --help

bantuan untuk list-volumes

atur ulang

Tujuan utama dari tugas ini adalah untuk mengatur ulang agen untuk waktu berikutnya yang dijalankan. Untuk melakukan itu, perintah reset menghapus semua data status agen untuk EC2launch v2 dari direktori EC2Launch lokal (lihat Struktur direktori EC2Launch v2). Reset opsional menghapus layanan dan log Sysprep.

Perilaku skrip tergantung pada mode apa agen menjalankan skrip — inline, atau terpisah.

Inline (default)

Agen EC2Launch v2 menjalankan skrip satu per satu (detach: false) Ini adalah pengaturan default.

catatan

Ketika skrip inline Anda mengeluarkan perintah reset atau sysprep, skrip tersebut segera berjalan dan mengatur ulang agen. Tugas saat ini selesai, kemudian agen dimatikan tanpa menjalankan tugas lebih lanjut.

Misalnya, jika tugas yang mengeluarkan perintah akan diikuti oleh startSsm tugas (disertakan secara default setelah data pengguna berjalan), tugas tidak berjalan dan layanan Systems Manager tidak pernah dimulai.

Terlepas

Agen EC2launch v2 menjalankan skrip bersamaan dengan tugas lain (detach: true).

catatan

Saat skrip terpisah Anda mengeluarkan reset atau sysprep, perintah tersebut menunggu agen selesai sebelum dijalankan. Tugas setelah executeScript masih akan berjalan.

Contoh

ec2launch reset -c

Penggunaan

ec2launch reset [flags]

Bendera

-c, --clean

membersihkan log instans sebelum reset

-h, --help

bantuan untuk reset

run

Jalankan EC2Launch v2.

Contoh

ec2launch run

Penggunaan

ec2launch run [flags]

Bendera

-h, --help

bantuan untuk run

status

Dapatkan status agen EC2Launch v2. Memblokir proses secara opsional sampai agen selesai. Kode keluar proses menentukan status agen:

  • 0 – agen berjalan dan berhasil.

  • 1 – agen berjalan dan gagal.

  • 2 – agen masih berjalan.

  • 3 – agen dalam status yang tidak diketahui. Status agen tidak berjalan atau berhenti.

  • 4 – kesalahan terjadi ketika mencoba untuk mengambil status agen.

  • 5 – agen tidak berjalan dan status berjalan terakhir yang diketahui tidak diketahui. Ini bisa berarti salah satu dari berikut ini:

    • kedua state.json dan previous-state.json dihapus.

    • previous-state.json rusak.

    Ini adalah status agen setelah menjalankan perintah reset.

Contoh:

ec2launch status -b

Penggunaan

ec2launch status [flags]

Bendera

-b,--block

memblokir proses sampai agen selesai berjalan

-h,--help

bantuan untuk status

sysprep

Tujuan utama dari tugas ini adalah untuk mengatur ulang agen untuk waktu berikutnya yang dijalankan. Untuk melakukan itu, perintah sysprep mengatur ulang status agen, memperbarui file unattend.xml, menonaktifkan RDP, dan menjalankan Sysprep.

Perilaku skrip tergantung pada mode apa agen menjalankan skrip — inline, atau terpisah.

Inline (default)

Agen EC2Launch v2 menjalankan skrip satu per satu (detach: false) Ini adalah pengaturan default.

catatan

Ketika skrip inline Anda mengeluarkan perintah reset atau sysprep, skrip tersebut segera berjalan dan mengatur ulang agen. Tugas saat ini selesai, kemudian agen dimatikan tanpa menjalankan tugas lebih lanjut.

Misalnya, jika tugas yang mengeluarkan perintah akan diikuti oleh startSsm tugas (disertakan secara default setelah data pengguna berjalan), tugas tidak berjalan dan layanan Systems Manager tidak pernah dimulai.

Terlepas

Agen EC2launch v2 menjalankan skrip bersamaan dengan tugas lain (detach: true).

catatan

Saat skrip terpisah Anda mengeluarkan reset atau sysprep, perintah tersebut menunggu agen selesai sebelum dijalankan. Tugas setelah executeScript masih akan berjalan.

Contoh:

ec2launch sysprep

Penggunaan

ec2launch sysprep [flags]

Bendera

-c,--clean

membersihkan log instans sebelum sysprep

-h,--help

bantuan untuk Sysprep

-s,--shutdown

mematikan instans setelah sysprep

validasi

Memvalidasi agent-config file C:\ProgramData\Amazon\EC2Launch\config\agent-config.yml.

Contoh

ec2launch validate

Penggunaan

ec2launch validate [flags]

Bendera

-h , --help

bantuan untuk validate

versi

Mendapatkan versi yang dapat dieksekusi.

Contoh

ec2launch version

Penggunaan

ec2launch version [flags]

Bendera

-h, --help

bantuan untuk version

wallpaper

Menyetel wallpaper baru ke jalur wallpaper yang disediakan (file.jpg), dan menampilkan detail instans yang dipilih.

Sintaksis

ec2launch wallpaper ^ --path="C:\ProgramData\Amazon\EC2Launch\wallpaper\Ec2Wallpaper.jpg" ^ --all-tags ^ --attributes=hostName,instanceId,privateIpAddress,publicIpAddress,instanceSize,availabilityZone,architecture,memory,network

Masukan

Parameter
--allowed-tags [tag-name-1, tag-name-n]

(Opsional) Base64 mengenkode array JSON dari nama tanda instans untuk ditampilkan di wallpaper. Anda dapat menggunakan tanda ini atau --all-tags, tetapi tidak keduanya.

--attributes attribute-string-1, attribute-string-n

(Opsional) Daftar string atribut wallpaper yang dipisahkan dengan koma untuk menerapkan pengaturan ke wallpaper.

[--path | -p] path-string

(Wajib) Menentukan jalur file gambar latar belakang wallpaper.

Bendera
--all-tags

(Opsional) Menampilkan semua tanda instans pada wallpaper. Anda dapat menggunakan tanda ini atau --allowed-tags, tetapi tidak keduanya.

[--help | -h]

Menampilkan bantuan untuk perintah wallpaper.

Konfigurasi EC2Launch v2

Bagian ini mencakup skema, tugas, detail, dan contoh konfigurasi untuk agent-config.yml dan data pengguna.

Skema: agent-config.yml

Struktur agent-config.yml file ditunjukkan di bawah ini. Perhatikan bahwa tugas tidak dapat diulang dalam tahap yang sama. Untuk properti tugas, lihat deskripsi tugas yang mengikuti.

Struktur dokumen: agent-config.yml

JSON

{ "version": "1.0", "config": [ { "stage": "string", "tasks": [ { "task": "string", "inputs": { ... } }, ... ] }, ... ] }

YAML

version: 1.0 config: - stage: string tasks: - task: string inputs: ... ... ...

Contoh: agent-config.yml

Contoh berikut menunjukkan pengaturan untuk file konfigurasi agent-config.yml.

version: 1.0 config: - stage: boot tasks: - task: extendRootPartition - stage: preReady tasks: - task: activateWindows inputs: activation: type: amazon - task: setDnsSuffix inputs: suffixes: - $REGION.ec2-utilities.amazonaws.com - task: setAdminAccount inputs: password: type: random - task: setWallpaper inputs: path: C:\ProgramData\Amazon\EC2Launch\wallpaper\Ec2Wallpaper.jpg attributes: - hostName - instanceId - privateIpAddress - publicIpAddress - instanceSize - availabilityZone - architecture - memory - network - stage: postReady tasks: - task: startSsm

Skema: data pengguna

Contoh JSON dan YAMG berikut menunjukkan struktur dokumen untuk data pengguna. Amazon EC2 mengurai setiap tugas yang dinamai dalam array tasks yang Anda tentukan dalam dokumen. Setiap tugas memiliki set properti dan persyaratan sendiri. Untuk detailnya, lihat Ketentuan tugas.

catatan

Tugas hanya boleh muncul sekali dalam array tugas data pengguna.

Struktur dokumen: data pengguna

JSON

{ "version": "1.1", "tasks": [ { "task": "string", "inputs": { ... }, }, ... ] }

YAML

version: 1.1 tasks: - task: string inputs: ... ...

Contoh: data pengguna

Untuk informasi selengkapnya tentang data pengguna, lihat Bagaimana Amazon EC2 menangani data pengguna untuk instans Windows.

Contoh dokumen YAMG berikut menunjukkan PowerShell skrip yang EC2launch v2 berjalan sebagai data pengguna untuk membuat file.

version: 1.1 tasks: - task: executeScript inputs: - frequency: always type: powershell runAs: localSystem content: |- New-Item -Path 'C:\PowerShellTest.txt' -ItemType File

Anda dapat menggunakan format XML untuk data pengguna yang kompatibel dengan versi agen peluncuran sebelumnya. EC2Launch v2 menjalankan skrip sebagai tugas executeScript di tahap UserData. Agar sesuai dengan perilaku EC2launch v1 dan EC2config, skrip data pengguna berjalan sebagai proses terlampir/inline secara default.

Anda dapat menambahkan tanda opsional untuk menyesuaikan cara skrip Anda berjalan. Misalnya, untuk menjalankan skrip data pengguna saat instans di-boot ulang selain satu kali saat instans diluncurkan, Anda dapat menggunakan tanda berikut:

<persist>true</persist>

Contoh:

<powershell> $file = $env:SystemRoot + "\Temp" + (Get-Date).ToString("MM-dd-yy-hh-mm") New-Item $file -ItemType file </powershell> <persist>true</persist>

Anda dapat menentukan satu atau lebih PowerShell argumen dengan <powershellArguments> tag. Jika tidak ada argumen yang diteruskan, EC2launch v2 menambahkan argumen berikut secara default:. -ExecutionPolicy Unrestricted

Contoh:

<powershell> $file = $env:SystemRoot + "\Temp" + (Get-Date).ToString("MM-dd-yy-hh-mm") New-Item $file -ItemType file </powershell> <powershellArguments>-ExecutionPolicy Unrestricted -NoProfile -NonInteractive</powershellArguments>

Untuk menjalankan skrip data pengguna XML sebagai proses yang terpisah, tambahkan tanda berikut ke data pengguna Anda.

<detach>true</detach>

Contoh:

<powershell> $file = $env:SystemRoot + "\Temp" + (Get-Date).ToString("MM-dd-yy-hh-mm") New-Item $file -ItemType file </powershell> <detach>true</detach>
catatan

Tanda lepas tidak didukung pada agen peluncuran sebelumnya.

Log perubahan: data pengguna

Tabel berikut mencantumkan perubahan untuk data pengguna, dan referensi silang ke versi agen EC2launch v2 yang berlaku.

Versi data pengguna Detail Diperkenalkan di
1.1
  • Tugas data pengguna berjalan sebelum tahap PostReady dalam file konfigurasi agen.

  • Menjalankan data pengguna sebelum memulai Systems Manager Agent (perilaku yang sama seperti EC2Launch v1 dan EC2Config).*

EC2Launch v2 versi 2.0.1245
1.0
  • Akan usang.

  • Tugas data pengguna berjalan sebelum tahap PostReady dalam file konfigurasi agen. Ini tidak kompatibel dengan EC2Launch v1.

  • Dipengaruhi oleh kondisi balapan antara start Systems Manager Agent dan tugas data pengguna.

EC2Launch v2 versi 2.0.0

* Bila digunakan dengan file agent-config.yml default.

Ketentuan tugas

Setiap tugas memiliki set properti dan persyaratan sendiri. Untuk detail, lihat tugas individual yang ingin Anda sertakan dalam dokumen.

activateWindows

Mengaktifkan Windows terhadap satu set AWS KMS server. Aktivasi dilewati jika instans terdeteksi sebagai Bawa Lisensi Sendiri (BYOL).

Frekuensi — sekali

AllowedStages[PreReady]

Masukan

activation: (peta)

type: (string) tipe aktivasi yang akan digunakan, diatur ke amazon

Contoh

task: activateWindows inputs: activation: type: amazon

enableJumboFrames

Mengaktifkan Jumbo Frames, yang meningkatkan unit transmisi maksimum (MTU) dari adaptor jaringan. Untuk informasi selengkapnya, lihat Frame jumbo (9001 MTU).

Frekuensi - selalu

AllowedStages[PostReady, UserData]

Masukan - tidak ada

Contoh

task: enableJumboFrames

enableOpenSsh

Mengaktifkan Windows OpenSSH dan menambahkan kunci publik untuk instans tersebut ke folder kunci resmi.

Frekuensi — sekali

AllowedStages[PreReady, UserData]

Masukan - tidak ada

Contoh

Contoh berikut menunjukkan cara mengaktifkan OpenSSH pada sebuah instans, dan untuk menambahkan kunci publik untuk instans tersebut ke folder kunci resmi. Konfigurasi ini hanya berfungsi pada instans yang menjalankan Windows Server 2019 dan versi setelahnya.

task: enableOpenSsh

executeProgram

Menjalankan program dengan argumen opsional dan frekuensi tertentu.

Tahapan: Anda dapat menjalankan tugas executeProgram selama tahapan PreReady, PostReady, dan UserData

Frekuensi: dapat dikonfigurasi, lihat Input.

Masukan

Anda dapat mengonfigurasi parameter runtime sebagai berikut:

frekuensi (string)

(Wajib) Tentukan dengan tepat satu dari nilai-nilai berikut:

  • once

  • always

jalur (string)

(Wajib) Jalur file untuk menjalankan executable.

argumen (daftar string)

(Opsional) Daftar argumen yang dipisahkan koma untuk diberikan kepada program sebagai input.

runAs (string)

(Wajib) Harus diatur ke localSystem

Output

Semua tugas menulis entri logfile ke file agent.log. Output tambahan dari tugas executeProgram disimpan secara terpisah dalam folder bernama dinamis, sebagai berikut:

%LocalAppData%\Temp\EC2Launch#########\outputfilename.tmp

Jalur yang tepat ke file output disertakan dalam agent.log file, misalnya:

Program file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\ExecuteProgramInputs.tmp Output file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\Output.tmp Error file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\Err.tmp
File keluaran untuk executeProgram tugas tersebut
ExecuteProgramInputs.tmp

Berisi jalur untuk executable, dan semua parameter input yang diteruskan tugas executeProgram padanya saat dijalankan.

Output.tmp

Berisi output runtime dari program yang dijalankan tugas executeProgram.

Err.tmp

Berisi pesan kesalahan runtime dari program yang dijalankan tugas executeProgram.

Contoh

Contoh berikut menunjukkan cara menjalankan file yang dapat dieksekusi dari direktori lokal pada instans dengan tugas executeProgram.

Contoh 1: File setup yang dapat dieksekusi dengan satu argumen

Contoh ini menunjukkan tugas executeProgram yang menjalankan setup yang dapat dieksekusi dalam mode senyap.

task: executeProgram inputs: - frequency: always path: C:\Users\Administrator\Desktop\setup.exe arguments: ['-quiet']
Contoh 2: VLC dapat dieksekusi dengan dua argumen

Contoh ini menunjukkan tugas executeProgram yang menjalankan file VLC yang dapat dieksekusi dengan dua argumen yang diteruskan sebagai parameter input.

task: executeProgram inputs: - frequency: always path: C:\vlc-3.0.11-win64.exe arguments: ['/L=1033','/S'] runAs: localSystem

executeScript

Menjalankan skrip dengan argumen opsional dan frekuensi tertentu. Perilaku skrip tergantung pada mode apa agen menjalankan skrip — inline, atau terpisah.

Inline (default)

Agen EC2Launch v2 menjalankan skrip satu per satu (detach: false) Ini adalah pengaturan default.

catatan

Ketika skrip inline Anda mengeluarkan perintah reset atau sysprep, skrip tersebut segera berjalan dan mengatur ulang agen. Tugas saat ini selesai, kemudian agen dimatikan tanpa menjalankan tugas lebih lanjut.

Misalnya, jika tugas yang mengeluarkan perintah akan diikuti oleh startSsm tugas (disertakan secara default setelah data pengguna berjalan), tugas tidak berjalan dan layanan Systems Manager tidak pernah dimulai.

Terlepas

Agen EC2launch v2 menjalankan skrip bersamaan dengan tugas lain (detach: true).

catatan

Saat skrip terpisah Anda mengeluarkan reset atau sysprep, perintah tersebut menunggu agen selesai sebelum dijalankan. Tugas setelah executeScript masih akan berjalan.

Tahapan: Anda dapat menjalankan tugas executeScript selama tahapan PreReady, PostReady, dan UserData

Frekuensi: dapat dikonfigurasi, lihat Input.

Masukan

Anda dapat mengonfigurasi parameter runtime sebagai berikut:

frekuensi (string)

(Wajib) Tentukan dengan tepat satu dari nilai-nilai berikut:

  • once

  • always

tipe (string)

(Wajib) Tentukan dengan tepat satu dari nilai-nilai berikut:

  • batch

  • powershell

argumen (daftar string)

(Opsional) Daftar argumen string untuk diteruskan ke shell. Parameter ini tidak didukung untuk type: batch. Jika tidak ada argumen yang diteruskan, EC2launch v2 menambahkan argumen berikut secara default:. -ExecutionPolicy Unrestricted

konten (string)

(Wajib) Konten skrip.

runAs (string)

(Wajib) Tentukan dengan tepat satu dari nilai-nilai berikut:

  • admin

  • localSystem

lepas (Boolean)

(Opsional) Agen EC2launch v2 diatur default untuk menjalankan skrip satu per satu (detach: false). Untuk menjalankan skrip secara bersamaan dengan tugas lain, atur nilainya ke true (detach: true).

catatan

Kode keluar skrip (termasuk 3010) tidak berpengaruh jika detach diatur ke true.

Output

Semua tugas menulis entri logfile ke file agent.log. Output tambahan dari skrip yang dijalankan tugas executeScript disimpan secara terpisah dalam folder bernama dinamis, sebagai berikut:

%LocalAppData%\Temp\EC2Launch#########\outputfilename.ext

Jalur yang tepat ke file output disertakan dalam agent.log file, misalnya:

Program file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\UserScript.ps1 Output file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\Output.tmp Error file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\Err.tmp
File keluaran untuk executeScript tugas tersebut
UserScript.ext

Berisi skrip yang dijalankan tugas executeScript. Ekstensi file tergantung pada jenis skrip yang Anda tentukan dalam type parameter untuk executeScript tugas, sebagai berikut:

  • Jika tipenya adalah batch, maka ekstensi file adalah .bat.

  • Jika tipenya adalah powershell, maka ekstensi file adalah .ps1.

Output.tmp

Berisi output runtime dari skrip yang dijalankan tugas executeScript.

Err.tmp

Berisi pesan kesalahan runtime dari skrip yang dijalankan tugas executeScript.

Contoh

Contoh berikut menunjukkan cara menjalankan skrip inline dengan tugas executeScript.

Contoh 1: File teks output Hello world

Contoh ini menunjukkan executeScript tugas yang menjalankan PowerShell skrip untuk membuat file teks “Hello world” di C: drive.

task: executeScript inputs: - frequency: always type: powershell runAs: admin content: |- New-Item -Path 'C:\PowerShellTest.txt' -ItemType File Set-Content 'C:\PowerShellTest.txt' "Hello world"
Contoh 2: Jalankan dua skrip

Contoh ini menunjukkan bahwa tugas executeScript dapat menjalankan lebih dari satu skrip, dan tipe skrip tidak harus cocok.

Script pertama (type: powershell) menulis ringkasan proses yang saat ini berjalan pada instans ke file teks yang terletak di C: drive.

Script kedua (batch) menulis informasi sistem ke Output.tmp file.

task: executeScript inputs: - frequency: always type: powershell content: | Get-Process | Out-File -FilePath C:\Process.txt runAs: localSystem - frequency: always type: batch content: | systeminfo
Contoh 3: Konfigurasi sistem idempotensi dengan boot ulang

Contoh ini menunjukkan tugas executeScript yang menjalankan skrip idempotensi untuk melakukan konfigurasi sistem berikut dengan boot ulang di antara setiap langkah:

  • Ganti nama komputer.

  • Bergabunglah dengan komputer ke domain.

  • Aktifkan Telnet.

Skrip memastikan bahwa setiap operasi berjalan satu kali saja. Ini mencegah loop reboot dan membuat skrip idempoten.

task: executeScript inputs: - frequency: always type: powershell runAs: localSystem content: |- $name = $env:ComputerName if ($name -ne $desiredName) { Rename-Computer -NewName $desiredName exit 3010 } $domain = Get-ADDomain if ($domain -ne $desiredDomain) { Add-Computer -DomainName $desiredDomain exit 3010 } $telnet = Get-WindowsFeature -Name Telnet-Client if (-not $telnet.Installed) { Install-WindowsFeature -Name "Telnet-Client" exit 3010 }

extendRootPartition

Memperluas volume root untuk menggunakan semua ruang yang tersedia di disk.

Frekuensi - sekali

AllowedStages[Boot]

Masukan - tidak ada

Contoh

task: extendRootPartition

initializeVolume

Menginisialisasi volume kosong yang dilampirkan ke instans sehingga mereka diaktifkan dan dipartisi. Agen peluncuran melewatkan inisialisasi jika mendeteksi bahwa volume tidak kosong. Volume dianggap kosong jika 4 KiB pertama dari volume adalah kosong, atau jika volume tidak memiliki tata letak hard disk yang dapat dikenali Windows.

Parameter letter input selalu diterapkan saat tugas ini berjalan, terlepas dari apakah drive sudah diinisialisasi.

Tugas initializeVolume melakukan tindakan berikut.

  • Atur atribut disk offline dan readonly ke false.

  • Buat sebuah partisi. Jika tidak ada jenis partisi yang ditentukan dalam parameter partition input, default berikut berlaku:

    • Jika ukuran disk lebih kecil dari 2 TB, atur tipe partisi ke mbr.

    • Jika ukuran disk 2 TB atau lebih besar, atur tipe partisi ke gpt.

  • Format volume sebagai NTFS.

  • Atur label volume sebagai berikut:

    • Gunakan nilai parameter input name, jika ditentukan.

    • Jika volumenya fana, dan tidak ada nama yang ditentukan, atur label volume ke. Temporary Storage Z

  • Jika volumenya singkat (SSD atau HDD - bukan Amazon EBS), buat Important.txt file di root volume dengan konten berikut:

    This is an 'Instance Store' disk and is provided at no additional charge. *This disk offers increased performance since it is local to the host *The number of Instance Store disks available to an instance vary by instance type *DATA ON THIS DRIVE WILL BE LOST IN CASES OF IMPAIRMENT OR STOPPING THE INSTANCE. PLEASE ENSURE THAT ANY IMPORTANT DATA IS BACKED UP FREQUENTLY For more information, please refer to: Penyimpanan instans Amazon EC2.
  • Atur huruf drive ke nilai yang ditentukan dalam parameter letter input.

Tahapan: Anda dapat menjalankan initializeVolume tugas selama PostReady dan UserData tahapan.

Frekuensi: selalu.

Masukan

Anda dapat mengonfigurasi parameter runtime sebagai berikut:

perangkat (daftar peta)

(Bersyarat) Konfigurasi untuk setiap perangkat yang dimulai agen peluncuran. Ini diperlukan jika parameter input initialize diatur ke devices.

  • perangkat (string, wajib) - Mengidentifikasi perangkat selama pembuatan instans. Sebagai contoh, xvdb, xvdf, atau \dev\nvme0n1.

  • huruf (string, opsional) - Satu karakter. Surat drive untuk ditetapkan.

  • nama (string, opsional) - Nama volume yang akan ditetapkan.

  • partisi (string, opsional) – Tentukan salah satu nilai berikut untuk tipe partisi yang akan dibuat, atau biarkan agen peluncuran menentukan default berdasarkan ukuran volume:

    • mbr

    • gpt

inisialisasi (string)

(Wajib) Tentukan dengan tepat satu dari nilai-nilai berikut:

  • all

  • devices

Contoh

Contoh berikut menampilkan konfigurasi input sampel untuk tugas initializeVolume tersebut.

Contoh 1: Inisialisasi dua volume pada sebuah instans

Contoh ini menunjukkan tugas initializeVolume yang menginisialisasi dua volume sekunder pada sebuah instans. Perangkat yang bernama DataVolume2 dalam contoh tersebut bersifat sementara.

task: initializeVolume inputs: initialize: devices devices: - device: xvdb name: DataVolume1 letter: D partition: mbr - device: /dev/nvme0n1 name: DataVolume2 letter: E partition: gpt
Contoh 2: Inisialisasi volume EBS yang dilampirkan ke sebuah instans

Contoh ini menunjukkan tugas initializeVolume yang menginisialisasi semua volume EBS kosong yang dilampirkan ke instans.

task: initializeVolume inputs: initialize: all

optimizeEna

Mengoptimalkan pengaturan ENA berdasarkan tipe instans saat ini; mungkin mem-boot ulang instans.

Frekuensi - selalu

AllowedStages[PostReady, UserData]

Masukan - tidak ada

Contoh

task: optimizeEna

set AdminAccount

Set atribut untuk akun administrator default yang dibuat di mesin lokal.

Frekuensi - sekali

AllowedStages[PreReady]

Masukan

name: (string) nama akun administrator

password: (peta)

type: (string) strategi untuk mengatur kata sandi, baik sebagai static, random, atau doNothing

data: (string) menyimpan data jika bidang type statis

Contoh

task: setAdminAccount inputs: name: Administrator password: type: random

setDnsSuffix

Menambahkan sufiks DNS ke daftar sufiks pencarian. Hanya sufiks yang belum ada yang ditambahkan ke daftar. Untuk informasi selengkapnya tentang cara agen peluncuran mengatur sufiks DNS, lihat. Konfigurasikan DNS Suffix untuk agen peluncuran Windows

Frekuensi - selalu

AllowedStages[PreReady]

Masukan

suffixes: (daftar string) daftar satu atau lebih sufiks DNS yang valid; variabel substitusi yang valid adalah $REGION dan $AZ

Contoh

task: setDnsSuffix inputs: suffixes: - $REGION.ec2-utilities.amazonaws.com

setHostName

Menetapkan nama host komputer menjadi string kustom atau, jika hostName tidak ditentukan, alamat IPv4 privat-nya.

Frekuensi — selalu

AllowedStages[PostReady, UserData]

Masukan

hostName: (string) nama host opsional, yang harus diformat sebagai berikut.

  • Harus 15 karakter atau kurang

  • Harus hanya berisi karakter alfanumerik (a-z, A-Z, 0-9) dan tanda hubung (-).

  • Tidak boleh seluruhnya terdiri dari karakter numerik.

reboot: (boolean) menunjukkan apakah booti ulang diizinkan saat nama host diubah

Contoh

task: setHostName inputs: reboot: true

setWallpaper

Membuat file pintasan setwallpaper.lnk di folder startup setiap pengguna yang ada kecuali untuk Default User. File pintasan ini berjalan saat pengguna masuk untuk pertama kalinya setelah boot instans. File ini menyiapkan instans dengan wallpaper kustom yang menampilkan atribut instans.

Jalur file pintasan adalah:

$env:SystemDrive/Users/<user>/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/setwallpaper.lnk
catatan

Saat Anda menghapus tugas setWallpaper, file pintasan ini tidak akan terhapus. Untuk informasi selengkapnya, lihat Tugas setWallpaper tidak diaktifkan tetapi wallpaper diatur ulang saat reboot.

Tahapan: Anda dapat mengonfigurasi wallpaper selama tahapan PreReady dan UserData.

Frekuensi: always

Konfigurasi wallpaper

Anda dapat menggunakan pengaturan berikut untuk mengonfigurasi wallpaper Anda.

Masukan

Parameter masukan yang Anda berikan, dan atribut yang dapat Anda atur untuk mengonfigurasi wallpaper Anda:

atribut (daftar string)

(Opsional) Anda dapat menambahkan satu atau lebih atribut berikut ke wallpaper Anda:

  • architecture

  • availabilityZone

  • hostName

  • instanceId

  • instanceSize

  • memory

  • network

  • privateIpAddress

  • publicIpAddress

instanceTags

(Opsional) Anda dapat menggunakan salah satu opsi berikut untuk pengaturan ini.

  • AllTags(string) — Tambahkan semua tag instance ke wallpaper Anda.

    instanceTags: AllTags
  • instanceTags (daftar string) - Tentukan daftar nama tanda instans untuk ditambahkan ke wallpaper Anda. Misalnya:

    instanceTags: - Tag 1 - Tag 2
jalur (string)

(Wajib) Jalur nama file dari file gambar format .jpg lokal yang akan digunakan untuk gambar wallpaper Anda.

Contoh

Contoh berikut menunjukkan input konfigurasi wallpaper yang mengatur jalur file untuk gambar latar belakang wallpaper, bersama dengan tanda instans bernama Tag 1 dan Tag 2, serta atribut yang menyertakan nama host, ID instans, dan alamat IP privat serta publik untuk instans tersebut.

task: setWallpaper inputs: path: C:\ProgramData\Amazon\EC2Launch\wallpaper\Ec2Wallpaper.jpg attributes: - hostName - instanceId - privateIpAddress - publicIpAddress instanceTags: - Tag 1 - Tag 2
catatan

Anda harus mengaktifkan tanda dalam metadata untuk menampilkan tanda pada wallpaper. Untuk informasi selengkapnya tentang tanda instans dan metadata, lihat Bekerja dengan tanda instans dalam metadata instans.

startSsm

Memulai layanan Systems Manager (SSM) setelah Sysprep.

Frekuensi - selalu

AllowedStages[PostReady, UserData]

Masukan - tidak ada

Contoh

task: startSsm

sysprep

Mereset status layanan, update unattend.xml, menonaktifkan RDP, dan menjalankan Sysprep. Tugas ini berjalan hanya setelah semua tugas lainnya selesai.

Frekuensi - sekali

AllowedStages[UserData]

Masukan

clean: (boolean) membersihkan log instans sebelum menjalankan Sysprep

shutdown: (boolean) menutup instans setelah menjalankan Sysprep

Contoh

task: sysprep inputs: clean: true shutdown: true

writeFile

Menuliskan file ke tujuan.

Frekuensi - lihat Input

AllowedStages[PostReady, UserData]

Masukan

frequency: (string) salah satu once atau always

destination: (string) jalur tempat menulis konten

content: (string) teks untuk ditulis ke tujuan

Contoh

task: writeFile inputs: - frequency: once destination: C:\Users\Administrator\Desktop\booted.txt content: Windows Has Booted

Kode keluar dan boot ulang EC2Launch v2

Anda dapat menggunakan EC2Launch v2 untuk menentukan bagaimana kode keluar ditangani oleh skrip Anda. Secara default, kode keluar dari perintah terakhir yang dijalankan dalam skrip dilaporkan sebagai kode keluar untuk seluruh skrip. Sebagai contoh, jika skrip mencakup tiga perintah dan perintah pertama gagal tetapi perintah yang berikutnya berhasil, maka status berjalan dilaporkan sebagai success karena perintah akhir berhasil.

Jika Anda ingin skrip me-reboot sebuah instans, maka Anda harus menentukan exit 3010 dalam skrip Anda, bahkan saat reboot menjadi langkah terakhir dalam skrip Anda. exit 3010 menginstruksikan EC2Launch v2 untuk me-reboot instans dan memanggil skrip lagi sampai mengembalikan kode keluar yang tidak, 3010atau sehingga jumlah reboot maksimum telah dicapai. EC2Launch v2 memungkinkan maksimal 5 boot ulang per tugas. Jika Anda mencoba untuk me-reboot instans dari skrip dengan menggunakan mekanisme yang berbeda, seperti, Restart-Computermaka status berjalan skrip akan menjadi tidak konsisten. Sebagai contoh, skrip mungkin terjebak dalam loop mulai ulang atau tidak melakukan restart.

Jika Anda menggunakan format data pengguna XMLyang kompatibel dengan agen sebelumnya, maka data pengguna dapat berjalan lebih banyak daripada yang Anda inginkan. Untuk informasi selengkapnya, lihat Layanan menjalankan data pengguna lebih dari satu kali di bagian Pemecahan Masalah.

EC2Launch v2 dan Sysprep

Layanan EC2Launch v2 menjalankan Sysprep, alat Microsoft yang memungkinkan Anda untuk membuat AMI Windows kustom yang dapat digunakan kembali. Saat EC2Launch v2 memanggil Sysprep, file digunakan di %ProgramData%\Amazon\EC2Launch untuk menentukan operasi mana yang akan dilakukan. Anda dapat mengedit file ini secara tidak langsung menggunakan kotak dialog pengaturan EC2Launch, atau langsung menggunakan editor YAML atau editor teks. Namun, ada beberapa pengaturan lanjutan yang tidak tersedia di kotak dialog pengaturan EC2Launch, jadi Anda harus mengedit entri tersebut secara langsung.

Jika Anda membuat AMI dari sebuah instans setelah memperbarui pengaturannya, pengaturan baru tersebut diterapkan ke setiap instans yang diluncurkan dari AMI baru. Untuk informasi tentang membuat grafik, lihat Buat AMI yang didukung Amazon EBS-Backed.