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.
Topiknya mencakup:
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.
-
Jalankan dan hubungkan ke instans Windows Anda.
-
Dari menu Start, pilih Semua Program, lalu navigasikan ke pengaturan EC2Launch.
-
Pada tab Umum dari kotak dialog pengaturan EC2Launch, Anda dapat mengaktifkan atau menonaktifkan pengaturan berikut.
-
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. -
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. -
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 dalam
adminPassword
hanya jikaadminPasswordtype
adalahSpecify
.Jenis kata sandi ditentukan sebagai berikut:
-
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.
-
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 diagent-config.yml
sebagai teks polos dan dihapus setelah Sysprep mengatur kata sandi administrator. EC2Launch mengenkripsi kata sandi menggunakan kunci pengguna. -
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.
-
-
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 .
-
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.
-
Aktifkan SSH
Pengaturan ini memungkinkan OpenSSH untuk versi Windows yang lebih baru untuk memungkinkan administrasi sistem jarak jauh.
-
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).
-
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.
-
-
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. -
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.
-
-
-
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 jenismbr
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.
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 fileagent-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
— KonfigurasiFile 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 instansLog 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 layananStatus 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 mencakupstate.json
danprevious-state.json
untuk melacak status setiap tugas. -
sysprep
— SysprepDirektori 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
danprevious-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.
Tugas dan contoh
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 |
|
EC2Launch v2 versi 2.0.1245 |
1.0 |
|
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.
Tugas
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 tugasexecuteProgram
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 tersebutExecuteProgramInputs.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 ketrue
(detach: true
).catatan
Kode keluar skrip (termasuk
3010
) tidak berpengaruh jikadetach
diatur ketrue
.
- Output
-
Semua tugas menulis entri logfile ke file
agent.log
. Output tambahan dari skrip yang dijalankan tugasexecuteScript
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 tersebutUserScript.
ext
-
Berisi skrip yang dijalankan tugas
executeScript
. Ekstensi file tergantung pada jenis skrip yang Anda tentukan dalamtype
parameter untukexecuteScript
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” diC:
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 diC:
drive.Script kedua (
batch
) menulis informasi sistem keOutput.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
danreadonly
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 kedevices
.-
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 bernamaDataVolume2
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, 3010
atau 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-Computer
maka 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.