

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
<a name="smf-admin"></a>

Skrip konfigurasi host memungkinkan Anda untuk melakukan tugas-tugas administratif, seperti instalasi perangkat lunak, pada pekerja armada yang dikelola layanan Anda. Skrip ini berjalan dengan hak istimewa yang tinggi (`sudo`aktifLinux, Administrator aktifWindows), memberi Anda fleksibilitas untuk mengonfigurasi pekerja Anda untuk sistem Anda.

Deadline Cloud menjalankan skrip setelah pekerja memasuki `STARTING` status dan sebelum menjalankan tugas apa pun.

**penting**  
Skrip berjalan dengan izin yang ditinggikan. Adalah tanggung jawab Anda untuk memastikan bahwa skrip tidak menimbulkan masalah keamanan apa pun.  
Saat Anda menggunakan skrip konfigurasi host, Anda bertanggung jawab untuk memantau kesehatan armada Anda.

Penggunaan umum untuk skrip konfigurasi host meliputi:
+ Menginstal perangkat lunak yang membutuhkan akses administrator
+ Memasang Docker kontainer
+ Menginstal solusi penyimpanan cloud pihak ketiga sepertiLucidLink. Untuk penelusurannya, lihat [Mengatur LucidLink dengan skrip armada terkelola layanan untuk Deadline Cloud di Blog for](https://aws.amazon.com/blogs/media/set-up-lucidlink-with-service-managed-fleet-scripts-for-aws-deadline-cloud/) M&E. AWS 

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

------
#### [ Console ]

1. Pada halaman **Detail armada**, pilih tab **Konfigurasi.**

1. Di bidang **Script**, masukkan skrip untuk dijalankan dengan izin yang ditinggikan. Anda dapat memilih **Impor** untuk memuat skrip dari workstation Anda.

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

1. Pilih **Simpan perubahan** untuk menyimpan skrip.

------
#### [ Create with CLI ]

Gunakan AWS CLI perintah berikut 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 AWS CLI perintah berikut 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
+  AWS Kredensi itu berfungsi 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 PowerShell skrip berikut untuk menunjukkan bahwa skrip berjalan dengan hak istimewa 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
<a name="smf-admin-troubleshooting"></a>

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.

1. Pilih **Lihat pekerja** untuk membuka monitor Deadline Cloud.

1. Lihat status pekerja di halaman monitor.

**Tip**  
Saat menguji skrip konfigurasi host, atur jumlah pekerja maksimum armada ke 1 untuk menghindari memulai beberapa pekerja saat melakukan iterasi pada skrip.

Catatan penting:
+ Pekerja yang ditutup 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.

### Pantau eksekusi skrip konfigurasi host
<a name="smf-admin-monitoring"></a>

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 ke ribuan pekerja, Anda dapat memantau kapan skrip konfigurasi berhasil dijalankan atau gagal.

Kami merekomendasikan solusi berikut untuk memantau eksekusi skrip konfigurasi host.

#### CloudWatch Pemantauan log
<a name="smf-admin-cloudwatch-logs"></a>

Semua log konfigurasi host armada dialirkan ke grup CloudWatch log armada, dan secara khusus ke aliran CloudWatch log pekerja. Misalnya, `/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 *Running Host Configuration Script* dan *Selesai menjalankan Host Configuration Script, kode keluar: 0*. Kode keluar skrip disertakan dalam spanduk yang sudah jadi dan dapat ditanyakan menggunakan CloudWatch alat.

#### CloudWatch Wawasan Log
<a name="smf-admin-log-insights"></a>

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 selengkapnya tentang Wawasan CloudWatch Log, lihat [Menganalisis data CloudWatch log dengan Wawasan Log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html) di *Panduan Pengguna CloudWatch Log Amazon*.

##### Pencatatan terstruktur agen pekerja
<a name="smf-admin-structured-logging"></a>

Agen pekerja Deadline Cloud menerbitkan log JSON terstruktur ke. CloudWatch Agen pekerja menawarkan beragam log terstruktur untuk menganalisis kesehatan pekerja. Untuk informasi selengkapnya, lihat [Deadline Login agen pekerja Cloud](https://github.com/aws-deadline/deadline-cloud-worker-agent/blob/mainline/docs/logging.md). GitHub

Atribut log terstruktur dibongkar ke bidang di Wawasan Log. Anda dapat menggunakan CloudWatch kemampuan ini untuk menghitung dan menganalisis kegagalan startup konfigurasi host. Misalnya, kueri 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 mengkhawatirkan
<a name="smf-admin-metric-filters"></a>

Anda dapat mengatur filter CloudWatch 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.

1. Di panel navigasi, pilih **Log**, lalu **Log grup**.

1. Pilih grup log armada Anda.

1. Pilih **Create metric filter** (Buat filter metrik).

1. Tentukan pola filter Anda menggunakan salah satu dari berikut ini:
   + **Untuk metrik sukses:**

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

     ```
     {$.exit_code != 0 && $.message = "*Worker Agent host configuration failed with exit code*"}
     ```

1. Pilih **Berikutnya** untuk membuat metrik dengan 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 CloudWatch alarm standar untuk mengambil tindakan pada tingkat kegagalan konfigurasi host yang meningkat, atau menambahkan metrik ke CloudWatch dasbor untuk day-to-day pengoperasian dan pemantauan.

Untuk detail selengkapnya, lihat [Filter dan sintaks pola](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html) di *Panduan Pengguna Amazon CloudWatch Logs*.