View a markdown version of this page

Jalankan skrip konfigurasi host dengan hak administrator - Awan Batas Waktu

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

Jalankan skrip konfigurasi host dengan hak administrator

Skrip konfigurasi host memungkinkan Anda melakukan tugas administratif, seperti instalasi perangkat lunak, pada pekerja di armada Anda. Skrip ini berjalan dengan hak istimewa yang ditingkatkan (sudo di atas Linux, Administrator aktif Windows), memberi Anda fleksibilitas untuk mengkonfigurasi pekerja Anda untuk sistem Anda.

Deadline Cloud menjalankan skrip setelah pekerja memasuki STARTED status dan sebelum menjalankan tugas apa pun. Jika skrip gagal, status pekerja berubah menjadi STOPPED.

Skrip konfigurasi host juga berfungsi untuk pekerja di armada yang dikelola pelanggan. Mereka sangat berguna untuk armada yang dikelola pelanggan yang menggunakan host sementara, seperti contoh yang diluncurkan grup Penskalaan Otomatis, karena setiap host baru memerlukan perangkat lunaknya yang diinstal. On-premises host yang selalu aktif biasanya memiliki perangkat lunak yang mereka butuhkan sudah diinstal.

Skrip berjalan setelah Deadline Cloud menyiapkan lisensi berbasis penggunaan (UBL). Deadline Cloud menetapkan variabel lingkungan lisensi UBL saat instance pekerja diluncurkan, sebelum agen pekerja dimulai, dan agen pekerja kemudian menjalankan skrip konfigurasi host Anda. Penyiapan UBL otomatis tidak mengganti variabel lingkungan yang ditetapkan skrip Anda: variabel lisensi yang ditetapkan skrip Anda di seluruh sistem diutamakan untuk pekerjaan yang dijalankan pekerja. Untuk informasi selengkapnya tentang opsi lisensi, lihat Menggunakan lisensi perangkat lunak dengan Deadline Cloud.

penting

Skrip berjalan dengan izin yang ditingkatkan. Adalah tanggung jawab Anda untuk memastikan bahwa skrip tidak menimbulkan masalah keamanan apa pun.

Ketika Anda menggunakan skrip konfigurasi host, Anda bertanggung jawab untuk memantau kesehatan armada Anda.

Penggunaan umum untuk skrip konfigurasi host meliputi:

Anda dapat membuat dan memperbarui skrip konfigurasi host menggunakan konsol atau menggunakan AWS CLI.

Console
  1. Pada Rincian armada halaman, pilih Konfigurasi tab.

  2. Di Skrip bidang, masukkan skrip untuk dijalankan dengan izin yang ditingkatkan. Anda dapat memilih Impor untuk memuat skrip dari workstation Anda.

  3. Tetapkan periode batas waktu dalam detik untuk menjalankan skrip. Default-nya adalah 300 detik (5 menit).

  4. Pilih Simpan perubahan untuk menyimpan skrip.

Create with CLI

Gunakan yang berikut ini AWS CLI perintah untuk membuat armada dengan skrip konfigurasi host. Ganti placeholder teks dengan informasi Anda.

aws deadline create-fleet \ --farm-id farm-12345 \ --display-name "fleet-name" \ --max-worker-count 1 \ --configuration '{ "serviceManagedEc2": { "instanceCapabilities": { "vCpuCount": {"min": 2}, "memoryMiB": {"min": 4096}, "osFamily": "linux", "cpuArchitectureType": "x86_64" }, "instanceMarketOptions": {"type":"spot"} } }' \ --role-arn arn:aws:iam::111122223333:role/role-name \ --host-configuration '{ "scriptBody": "script body", "scriptTimeoutSeconds": timeout value}'
Update with CLI

Gunakan yang berikut ini AWS CLI perintah untuk memperbarui skrip konfigurasi host armada. Ganti placeholder teks dengan informasi Anda.

aws deadline update-fleet \ --farm-id farm-12345 \ --fleet-id fleet-455678 \ --host-configuration '{ "scriptBody": "script body", "scriptTimeoutSeconds": timeout value}'

Skrip berikut menunjukkan:

  • Variabel lingkungan yang tersedia untuk skrip

  • Itu AWS kredenSIAL bekerja di shell

  • Bahwa skrip berjalan di shell yang ditinggikan

Linux

Gunakan skrip berikut untuk menunjukkan bahwa skrip berjalan dengan root hak istimewa:

# Print environment variables set # Check AWS Credentials aws sts get-caller-identity
Windows

Gunakan yang berikut ini PowerShell skrip untuk menunjukkan bahwa skrip berjalan dengan hak Administrator:

Get-ChildItem env: | ForEach-Object { "$($_.Name)=$($_.Value)" } aws sts get-caller-identity function Test-AdminPrivileges { $currentUser = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent()) $isAdmin = $currentUser.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) return $isAdmin } if (Test-AdminPrivileges) { Write-Host "The current PowerShell session is elevated (running as Administrator)." } else { Write-Host "The current PowerShell session is not elevated (not running as Administrator)." } exit 0

Memecahkan masalah skrip konfigurasi host

Saat Anda menjalankan skrip konfigurasi host:

  • Tentang kesuksesan: Pekerja menjalankan pekerjaan

  • Pada kegagalan (kode keluar bukan nol atau crash):

    • Pekerja menutup

    Armada secara otomatis meluncurkan pekerja baru menggunakan skrip konfigurasi host terbaru

Untuk memantau skrip:

  1. Buka halaman armada di konsol Deadline Cloud.

  2. Pilih Lihat pekerja untuk membuka monitor Deadline Cloud.

  3. Lihat status pekerja di halaman monitor.

Tip

Saat menguji skrip konfigurasi host, atur jumlah pekerja maksimum armada menjadi 1 untuk menghindari memulai beberapa pekerja saat mengulangi skrip.

Catatan penting:

  • Pekerja yang mati karena kesalahan tidak tersedia dalam daftar pekerja di monitor. Gunakan CloudWatch Log untuk melihat log pekerja di grup log berikut:

    /aws/deadline/farm-XXXXX/fleet-YYYYY

    Dalam grup log itu, cari aliran bernama worker-ZZZZZ.

  • CloudWatch Log menyimpan log pekerja sesuai dengan periode retensi yang dikonfigurasi.

Memantau eksekusi skrip konfigurasi host

Dengan skrip konfigurasi host, Anda dapat mengambil kendali penuh dari pekerja Deadline Cloud. Anda dapat menginstal paket perangkat lunak apa pun, mengkonfigurasi ulang parameter sistem operasi, atau memasang sistem file bersama. Dengan fitur canggih ini dan kemampuan Deadline Cloud untuk menskalakan hingga ribuan pekerja, Anda dapat memantau kapan skrip konfigurasi dijalankan dengan sukses atau gagal.

Kami merekomendasikan solusi berikut untuk memantau eksekusi skrip konfigurasi host.

CloudWatch Pemantauan log

Semua log konfigurasi host armada dialirkan ke armada CloudWatch grup log, dan khususnya untuk pekerja CloudWatch aliran log. Contohnya, /aws/deadline/farm-123456789012/fleet-777788889999 adalah grup log untuk pertanian 123456789012, armada 777788889999.

Setiap pekerja menyediakan aliran log khusus, misalnya worker-123456789012. Log konfigurasi host termasuk spanduk log seperti Menjalankan Skrip Konfigurasi Host dan Selesai menjalankan Skrip Konfigurasi Host, kode keluar: 0. Kode keluar skrip disertakan dalam spanduk yang sudah jadi dan dapat ditanyakan menggunakan CloudWatch alat.

CloudWatch Wawasan Log

CloudWatch Logs Insights menawarkan kemampuan canggih untuk menganalisis informasi log. Misalnya, kueri Log Insights berikut mengurai kode keluar konfigurasi host, diurutkan berdasarkan waktu:

fields @timestamp, @message, @logStream, @log | filter @message like /Finished running Host Configuration Script/ | parse @message /exit code: (?<exit_code>\d+)/ | display @timestamp, exit_code | sort @timestamp desc

Untuk informasi lebih lanjut tentang CloudWatch Log Wawasan, lihat Menganalisis data log dengan CloudWatch Wawasan Log di Amazon CloudWatch Panduan Pengguna Log.

Logging terstruktur agen pekerja

Agen pekerja Deadline Cloud menerbitkan log JSON terstruktur ke CloudWatch. Agen pekerja menawarkan banyak log terstruktur untuk menganalisis kesehatan pekerja. Untuk informasi lebih lanjut, lihat Batas waktu pencatatan agen pekerja cloud pada GitHub situs web.

Atribut log terstruktur dibongkar ke bidang di Log Insights. Anda dapat menggunakan ini CloudWatch kemampuan untuk menghitung dan menganalisis kegagalan startup konfigurasi host. Misalnya, query count dan bin dapat digunakan untuk menentukan seberapa sering kegagalan terjadi:

fields @timestamp, @message, @logStream, @log | sort @timestamp desc | filter message like /Worker Agent host configuration failed with exit code/ | stats count(*) by exit_code, bin(1h)

CloudWatch filter metrik untuk metrik dan alarm

Anda dapat mengatur CloudWatch filter metrik untuk menghasilkan CloudWatch metrik dari log. Filter metrik memungkinkan Anda membuat alarm dan dasbor untuk memantau eksekusi skrip konfigurasi host.

Untuk membuat filter metrik
  1. Buka CloudWatch konsol.

  2. Di panel navigasi, pilih Log, lalu Grup log.

  3. Pilih grup log armada Anda.

  4. Pilih Create metric filter (Buat filter metrik).

  5. Tentukan pola filter Anda menggunakan salah satu dari berikut ini:

    • Untuk metrik keberhasilan:

      {$.message = "*Worker Agent host configuration succeeded.*"}
    • Untuk metrik kegagalan:

      {$.exit_code != 0 && $.message = "*Worker Agent host configuration failed with exit code*"}
  6. Pilih Berikutnya untuk membuat metrik dengan nilai-nilai berikut:

    • Namespace metrik: Namespace metrik Anda (misalnya, MyDeadlineFarm)

    • Nama metrik: Nama metrik yang Anda minta (misalnya, host_config_failure)

    • Nilai metrik: 1 (setiap contoh adalah hitungan 1)

    • Nilai default: Biarkan kosong

    • Satuan: Count

Setelah membuat filter metrik, Anda dapat mengonfigurasi standar CloudWatch alarm untuk mengambil tindakan pada tingkat kegagalan konfigurasi host yang ditingkatkan, atau menambahkan metrik ke CloudWatch dasbor untuk operasi dan pemantauan sehari-hari.

Untuk lebih jelasnya, lihat Filter dan sintaks pola di Amazon CloudWatch Panduan Pengguna Log.