Definisi tugas untuk tugas startup 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.

Definisi tugas untuk tugas startup EC2Launch v2

Setiap tugas yang dijalankan EC2Launch v2 selama peluncuran atau statup memiliki seperangkat properti dan persyaratannya sendiri. Detail tugas mencakup pengaturan untuk seberapa sering tugas berjalan — sekali, atau selalu, tahap proses boot agen apa yang dijalankannya, sintaks, dan contoh YAML dokumen. Untuk informasi lebih lanjut, tinjau detail tugas yang ditunjukkan dalam referensi ini.

activateWindows

Mengaktifkan Windows terhadap satu set AWS KMS server. Aktivasi dilewati jika instance terdeteksi sebagai Bring-Your-Own -License ()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 Bingkai jumbo (9001MTU).

Frekuensi - selalu

AllowedStages[PostReady, UserData]

Masukan - tidak ada

Contoh

task: enableJumboFrames

enableOpenSsh

Mengaktifkan Windows Open SSH dan menambahkan kunci publik untuk instance ke folder kunci yang diotorisasi.

Frekuensi - sekali

AllowedStages[PreReady, UserData]

Masukan - tidak ada

Contoh

Contoh berikut menunjukkan cara mengaktifkan Buka SSH pada sebuah instance, dan untuk menambahkan kunci publik untuk instance ke folder kunci yang diotorisasi. 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

Bagian ini berisi satu atau lebih program untuk menjalankan executeProgram tugas (input). Setiap input dapat mencakup pengaturan yang dapat dikonfigurasi 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 (tali)

(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: dapat VLC dieksekusi dengan dua argumen

Contoh ini menunjukkan executeProgram tugas yang menjalankan file VLC executable dengan dua argumen 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 wasiat masih berjalan.

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

Frekuensi: dapat dikonfigurasi, lihat Input.

Masukan

Bagian ini berisi satu atau lebih skrip untuk executeScript tugas yang akan dijalankan (input). Setiap input dapat mencakup pengaturan yang dapat dikonfigurasi 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 (bukan ke PowerShell skrip). 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 (tali)

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

  • admin

  • localSystem

lepas (Boolean)

(Opsional) Agen EC2Launch v2 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 sebagaiNTFS.

  • 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 (SSDatau HDD - bukan AmazonEBS), 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: Instans menyimpan penyimpanan blok sementara untuk EC2 instance.
  • 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 EBS volume yang dilampirkan ke sebuah instance

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

task: initializeVolume inputs: initialize: all

optimizeEna

Mengoptimalkan ENA pengaturan berdasarkan jenis instance saat ini; mungkin me-reboot instance.

Frekuensi - selalu

AllowedStages[PostReady, UserData]

Masukan - tidak ada

Contoh

task: optimizeEna

setAdminAccount

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 DNS sufiks ke daftar sufiks pencarian. Hanya sufiks yang belum ada yang ditambahkan ke daftar. Untuk informasi selengkapnya tentang cara agen peluncuran menyetel DNS sufiks, lihat. Konfigurasikan DNS Akhiran untuk EC2 agen peluncuran Windows

Frekuensi - selalu

AllowedStages[PreReady]

Masukan -

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

Contoh

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

setHostName

Menetapkan nama host komputer ke string kustom atau, jika tidak hostName ditentukan, IPv4 alamat pribadi.

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 tag contoh untuk ditambahkan ke wallpaper Anda. Sebagai contoh:

    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 Lihat tag untuk EC2 instance Anda menggunakan metadata instans.

startSsm

Memulai layanan Systems Manager (SSM) mengikuti Sysprep.

Frekuensi - selalu

AllowedStages[PostReady, UserData]

Masukan - tidak ada

Contoh

task: startSsm

sysprep

Menyetel ulang status layanan, memperbarui, menonaktifkan unattend.xmlRDP, 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

Menulis 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