

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

# Memecahkan masalah instans Amazon EC2 Linux yang terganggu menggunakan Rescue EC2
<a name="Linux-Server-EC2Rescue"></a>

*EC2Rescue untuk Linux adalah alat sumber terbuka yang dapat dijalankan pada instans Amazon EC2 Linux untuk mendiagnosis, memecahkan masalah, dan memperbaiki masalah umum menggunakan pustaka lebih dari 100 modul. easy-to-use* Modul adalah file YAMG yang berisi skrip BASH atau Python dan metadata yang diperlukan.

Beberapa kasus penggunaan umum untuk instance EC2 Rescue for Linux meliputi:
+ Mengumpulkan log syslog dan manajer paket
+ Mengumpulkan data pemanfaatan sumber daya
+ Mendiagnosis dan memulihkan parameter kernel bermasalah yang diketahui dan masalah umum OpenSSH

**catatan**  
Runbook `AWSSupport-TroubleshootSSH` AWS Systems Manager Otomasi menginstal EC2 Rescue untuk Linux dan kemudian menggunakan alat untuk memeriksa atau mencoba memperbaiki masalah umum yang mencegah koneksi SSH ke instance Linux. Untuk informasi selengkapnya, lihat [AWSSupport-TroubleshootSSH](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshootssh.html).

Jika Anda menggunakan instance Windows, lihat[Memecahkan masalah instans Windows Amazon EC2 yang terganggu menggunakan Rescue EC2](Windows-Server-EC2Rescue.md).

**Topics**
+ [Instal EC2 Rescue](ec2rl_install.md)
+ [Jalankan perintah EC2 Penyelamatan](ec2rl_working.md)
+ [Kembangkan modul EC2 Penyelamatan](ec2rl_moduledev.md)

# Instal EC2Rescue pada instans Amazon EC2 Linux
<a name="ec2rl_install"></a>

Alat EC2Rescue untuk Linux dapat diinstal pada instans Amazon EC2 Linux yang memenuhi prasyarat berikut.

**Prasyarat**
+ Sistem operasi yang didukung:
  + Amazon Linux 2
  + Amazon Linux 2016.09\$1
  + SUSE Linux Enterprise Server 12\$1
  + RHEL 7\$1
  + Ubuntu 16.04\$1
+ Persyaratan perangkat lunak:
  + Python 2.7.9\$1 atau 3.2\$1

## Instal EC2 Rescue
<a name="ec2rl-install"></a>

`AWSSupport-TroubleshootSSH`Runbook menginstal EC2 Rescue untuk Linux dan kemudian menggunakan alat untuk memeriksa atau mencoba memperbaiki masalah umum yang mencegah koneksi jarak jauh ke mesin Linux melalui SSH. Untuk informasi lebih lanjut, dan untuk menjalankan otomatisasi ini, lihat [Dukungan-TroubleshootSSH](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshootssh.html).

Jika sistem Anda memiliki versi Python yang diperlukan, Anda dapat menginstal build standar. Jika tidak, Anda dapat menginstal paket build, yang menyertakan salinan minimal Python.

**Untuk menginstal build standar**

1. Dari instance Linux yang berfungsi, unduh alat [EC2Rescue for Linux](https://s3.amazonaws.com/ec2rescuelinux/ec2rl.tgz):

   ```
   curl -O https://s3.amazonaws.com/ec2rescuelinux/ec2rl.tgz
   ```

1. (*Opsional*) Verifikasi tanda tangan file instalasi EC2 Rescue for Linux. Untuk informasi selengkapnya, lihat [(Opsional) Verifikasi tanda tangan EC2 Rescue untuk Linux](#ec2rl_verify).

1. Unduh file sha256 hash:

   ```
   curl -O https://s3.amazonaws.com/ec2rescuelinux/ec2rl.tgz.sha256
   ```

1. Verifikasi integritas tarball:

   ```
   sha256sum -c ec2rl.tgz.sha256
   ```

1. Buka kemasan tarball:

   ```
   tar -xzvf ec2rl.tgz
   ```

1. Verifikasi instalasi dengan mencantumkan file bantuan:

   ```
   cd ec2rl-<version_number>
   ./ec2rl help
   ```

**Untuk menginstal paket build**  
Untuk tautan ke unduhan dan daftar batasan, lihat [EC2Rescue for Linux](https://github.com/awslabs/aws-ec2rescue-linux/blob/master/README.md) di github.

## (Opsional) Verifikasi tanda tangan EC2 Rescue untuk Linux
<a name="ec2rl_verify"></a>

Berikut ini adalah proses yang direkomendasikan untuk memverifikasi validitas paket EC2 Rescue for Linux untuk sistem operasi berbasis Linux.

Saat Anda mengunduh aplikasi dari internet, kami menyarankan Anda untuk mengautentikasi identitas penerbit perangkat lunak dan memeriksa apakah aplikasi tersebut belum diubah atau rusak setelah diterbitkan. Hal ini akan melindungi Anda agar tidak menginstal versi aplikasi yang berisi virus atau kode berbahaya lainnya.

Jika, setelah menjalankan langkah-langkah dalam topik ini, Anda menentukan bahwa perangkat lunak untuk EC2 Rescue for Linux diubah atau rusak, jangan jalankan file instalasi. Alih-alih, hubungi Amazon Web Services.

EC2Rescue untuk file Linux untuk sistem operasi berbasis Linux ditandatangani menggunakan GnuPG, implementasi open-source dari standar Pretty Good Privacy (OpenPGP) untuk tanda tangan digital yang aman. GnuPG (juga dikenal sebagai GPG) menyediakan otentikasi dan pemeriksaan integritas melalui tanda tangan digital. AWS menerbitkan kunci publik dan tanda tangan yang dapat Anda gunakan untuk memverifikasi paket EC2 Rescue for Linux yang diunduh. [Untuk informasi lebih lanjut tentang PGP dan GnuPG (GPG), lihat https://www.gnupg.org/.](https://www.gnupg.org/)

Langkah pertamanya adalah membangun kepercayaan dengan penerbit perangkat lunak. Unduh kunci publik dari penerbit perangkat lunak, periksa apakah pemilik kunci publik adalah benar-benar pemiliknya, lalu tambahkan kunci publik ke dalam keyring Anda. Keyring adalah kumpulan kunci publik yang diketahui. Setelah menetapkan autentikasi kunci publik, Anda dapat menggunakannya untuk memverifikasi tanda tangan aplikasi.

**Topics**
+ [Autentikasi dan impor kunci publik](#ec2rl_authenticate)
+ [Memverifikasi tanda tangan paket](#ec2rl_verify_signature)

### Autentikasi dan impor kunci publik
<a name="ec2rl_authenticate"></a>

Langkah selanjutnya dalam proses ini adalah mengautentikasi kunci publik EC2 Rescue for Linux dan menambahkannya sebagai kunci tepercaya di keyring GPG Anda.

**Untuk mengautentikasi dan mengimpor kunci publik EC2 Rescue for Linux**

1. Pada prompt perintah, gunakan perintah berikut untuk mendapatkan salinan kunci publik build GPG kami:

   ```
   curl -O https://s3.amazonaws.com/ec2rescuelinux/ec2rl.key
   ```

1. Pada prompt perintah di direktori tempat Anda menyimpan`ec2rl.key`, gunakan perintah berikut untuk mengimpor kunci publik EC2 Rescue for Linux ke keyring Anda:

   ```
   gpg2 --import ec2rl.key
   ```

   Perintah tersebut akan mengembalikan hasil yang serupa dengan berikut ini:

   ```
   gpg: /home/ec2-user/.gnupg/trustdb.gpg: trustdb created
   gpg: key 2FAE2A1C: public key "ec2autodiag@amazon.com <EC2 Rescue for Linux>" imported
   gpg: Total number processed: 1
   gpg:               imported: 1  (RSA: 1)
   ```
**Tip**  
Jika Anda melihat kesalahan yang menyatakan bahwa perintah tidak dapat ditemukan, instal utilitas GnuPG `apt-get install gnupg2` dengan (Linux berbasis Debian) `yum install gnupg2` atau (Linux berbasis Red Hat).

### Memverifikasi tanda tangan paket
<a name="ec2rl_verify_signature"></a>

Setelah Anda menginstal alat GPG, mengautentikasi dan mengimpor kunci publik EC2 Rescue for Linux, dan memverifikasi bahwa kunci publik EC2 Rescue for Linux dipercaya, Anda siap untuk memverifikasi tanda tangan skrip instalasi EC2 Rescue for Linux.

**Untuk memverifikasi tanda tangan skrip instalasi EC2 Rescue for Linux**

1. Pada prompt perintah, jalankan perintah berikut untuk mengunduh file tanda tangan untuk skrip instalasi:

   ```
   curl -O https://s3.amazonaws.com/ec2rescuelinux/ec2rl.tgz.sig
   ```

1. Verifikasi tanda tangan dengan menjalankan perintah berikut pada prompt perintah di direktori tempat Anda menyimpan `ec2rl.tgz.sig` dan file instalasi EC2 Rescue for Linux. Kedua file tersebut harus ada.

   ```
   gpg2 --verify ./ec2rl.tgz.sig
   ```

   Output-nya akan terlihat seperti berikut ini:

   ```
   gpg: Signature made Thu 12 Jul 2018 01:57:51 AM UTC using RSA key ID 6991ED45
   gpg: Good signature from "ec2autodiag@amazon.com <EC2 Rescue for Linux>"
   gpg: WARNING: This key is not certified with a trusted signature!
   gpg:          There is no indication that the signature belongs to the owner.
   Primary key fingerprint: E528 BCC9 0DBF 5AFA 0F6C  C36A F780 4843 2FAE 2A1C
        Subkey fingerprint: 966B 0D27 85E9 AEEC 1146  7A9D 8851 1153 6991 ED45
   ```

   Jika output berisi frasa`Good signature from "ec2autodiag@amazon.com <EC2 Rescue for Linux>"`, itu berarti tanda tangan telah berhasil diverifikasi, dan Anda dapat melanjutkan untuk menjalankan skrip instalasi EC2 Rescue for Linux.

   Jika output berisi frasa `BAD signature`, periksa apakah Anda melakukan prosedur dengan benar. Jika Anda terus mendapatkan respons ini, hubungi Amazon Web Services dan jangan menjalankan file instalasi yang Anda unduh sebelumnya.

Berikut ini adalah informasi peringatan yang mungkin Anda lihat:
+ **WARNING: This key is not certified with a trusted signature\$1 There is no indication that the signature belongs to the owner.**Ini mengacu pada tingkat kepercayaan pribadi Anda dalam keyakinan Anda bahwa Anda memiliki kunci publik otentik untuk EC2 Penyelamatan untuk Linux. Idealnya, Anda harus mendatangi kantor Amazon Web Services dan menerima kunci secara langsung. Namun, kemungkinan besar Anda akan mengunduhnya dari situs web. Dalam hal ini, situs web yang dimaksud adalah situs web Amazon Web Services .
+ **gpg2: no ultimately trusted keys found.** Ini berarti bahwa kunci tersebut tidak "benar-benar tepercaya" oleh Anda (atau orang lain yang Anda percayai).

Untuk informasi lebih lanjut, lihat [https://www.gnupg.org/](https://www.gnupg.org/).

# Jalankan perintah EC2Rescue pada instans Amazon EC2 Linux
<a name="ec2rl_working"></a>

EC2Penyelamatan adalah alat baris perintah. Setelah Anda menginstal EC2 Rescue pada instance Linux Anda, Anda bisa mendapatkan bantuan umum tentang cara menggunakan alat dengan menjalankannya`./ec2rl help`. Anda dapat melihat modul yang tersedia dengan menjalankan`./ec2rl list`, dan Anda bisa mendapatkan bantuan pada modul tertentu dengan menjalankan`./ec2rl help module_name`.

Berikut ini adalah tugas umum yang dapat Anda lakukan untuk mulai menggunakan alat ini.

**Topics**
+ [Jalankan modul EC2 Rescue](#ec2rl_running_module)
+ [Unggah hasil modul EC2 Rescue](#ec2rl_uploading_results)
+ [Membuat cadangan instans Amazon EC2 Linux](#ec2rl_creating_backups)

## Jalankan modul EC2 Rescue
<a name="ec2rl_running_module"></a>

**Untuk menjalankan semua modul EC2 Rescue**  
Gunakan **./ec2rl run** perintah tanpa menentukan parameter tambahan apa pun. Beberapa modul memerlukan akses root. Jika Anda bukan pengguna root, gunakan **sudo** saat Anda menjalankan perintah.

```
./ec2rl run
```

**Untuk menjalankan modul EC2 Rescue tertentu**  
Gunakan **./ec2rl run** perintah dan untuk`--only-modules`, tentukan nama modul yang akan dijalankan. Beberapa modul memerlukan *argumen* untuk menggunakannya.

```
./ec2rl run --only-modules=module_name --arguments
```

Misalnya, untuk menjalankan **dig** modul untuk query `amazon.com` domain, gunakan perintah berikut.

```
./ec2rl run --only-modules=dig --domain=amazon.com
```

**Untuk melihat hasil dari modul EC2 Rescue**  
Jalankan modul lalu lihat file log di`cat /var/tmp/ec2rl/logfile_location`. Misalnya, file log untuk **dig** modul dapat ditemukan di lokasi berikut:

```
cat /var/tmp/ec2rl/timestamp/mod_out/run/dig.log
```

## Unggah hasil modul EC2 Rescue
<a name="ec2rl_uploading_results"></a>

Jika Dukungan telah meminta hasil untuk modul EC2 Penyelamatan, Anda dapat mengunggah file log menggunakan alat EC2 Penyelamatan. Anda dapat mengunggah hasilnya ke lokasi yang disediakan oleh Dukungan atau ke bucket Amazon S3 yang Anda miliki.

**Untuk mengunggah hasil ke lokasi yang disediakan oleh Dukungan**  
Gunakan perintah **./ec2rl upload**. Untuk`--upload-directory`, tentukan lokasi file log. Untuk`--support-url`, tentukan URL yang disediakan oleh Dukungan.

```
./ec2rl upload --upload-directory=/var/tmp/ec2rl/logfile_location --support-url="url_provided_by_aws_support"
```

**Untuk mengunggah hasil ke bucket Amazon S3**  
Gunakan perintah **./ec2rl upload**. Untuk`--upload-directory`, tentukan lokasi file log. Untuk`--presigned-url`, tentukan URL yang telah ditetapkan sebelumnya untuk bucket S3. Untuk informasi selengkapnya tentang membuat pra-ditandatangani URLs untuk Amazon S3, [lihat Mengunggah](https://docs.aws.amazon.com/AmazonS3/latest/userguide/PresignedUrlUploadObject.html) Objek Menggunakan Pra-Tanda Tangan. URLs

```
./ec2rl upload --upload-directory=/var/tmp/ec2rl/logfile_location --presigned-url="presigned_s3_url"
```

## Membuat cadangan instans Amazon EC2 Linux
<a name="ec2rl_creating_backups"></a>

Anda dapat menggunakan EC2 Rescue untuk mencadangkan instance Linux Anda dengan membuat AMI atau dengan membuat snapshot dari volume terlampirnya.

**Untuk membuat AMI**  
Gunakan `./ec2rl run` perintah dan untuk --`backup`, tentukan`ami`.

```
./ec2rl run --backup=ami
```

**Untuk membuat snapshot multi-volume dari semua volume terlampir**  
Gunakan `./ec2rl run` perintah dan untuk --`backup`, tentukan`allvolumes`.

```
./ec2rl run --backup=allvolumes
```

**Untuk membuat snapshot dari volume terlampir tertentu**  
Gunakan `./ec2rl run` perintah dan untuk --`backup`, tentukan ID volume yang akan dicadangkan.

```
./ec2rl run --backup=vol-01234567890abcdef
```

# Mengembangkan modul EC2Rescue untuk instans Amazon EC2 Linux
<a name="ec2rl_moduledev"></a>

Modul ditulis dalam YAML, yaitu standar serialisasi data. File YAML pada sebuah modul terdiri atas satu dokumen yang mewakili modul dan atributnya.

## Menambahkan atribut modul
<a name="ec2rl-adding-modules"></a>

Tabel berikut menjelaskan atribut modul yang tersedia.


| Atribut | Deskripsi | 
| --- | --- | 
| nama | Nama modul. Nama harus berisi 18 karakter atau kurang. | 
| version | Nomor versi modul. | 
| title | Judul singkat dan deskriptif untuk modul. Panjang judul harus berisi 50 karakter atau kurang. | 
| helptext |  Deskripsi modul yang lebih panjang. Setiap baris harus berisi 75 karakter atau kurang. Jika modul menggunakan argumen, yang bersifat wajib atau opsional, sertakan argumen tersebut dalam nilai teks bantuan. Misalnya: <pre>helptext: !!str |<br />  Collect output from ps for system analysis<br />  Consumes --times= for number of times to repeat<br />  Consumes --period= for time period between repetition</pre> | 
| placement | Tahap ketika modul harus dijalankan. Nilai yang didukung: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/ec2rl_moduledev.html)  | 
| language | Bahasa yang digunakan untuk menuliskan kode modul. Nilai yang didukung: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/ec2rl_moduledev.html)  Kode Python harus kompatibel dengan Python 2.7.9\$1 maupun Python 3.2\$1.   | 
| remediation |  Menunjukkan apakah modul mendukung remediasi. Nilai yang didukung adalah `True` atau `False`. Secara default, modul menjadi `False` jika hal ini tidak ada, sehingga membuatnya menjadi atribut opsional untuk modul yang tidak mendukung remediasi.  | 
| content | Keseluruhan kode skrip. | 
| constraint | Nama objek yang berisi nilai kendala. | 
| domain | Penjelasan tentang cara modul dikelompokkan atau diklasifikasikan. Rangkaian modul yang disertakan menggunakan domain berikut:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/ec2rl_moduledev.html) | 
| class | Penjelasan tentang tipe tugas yang dilakukan oleh modul. Rangkaian modul yang disertakan menggunakan domain berikut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/ec2rl_moduledev.html) | 
| distro | Daftar distribusi Linux yang didukung oleh modul ini. Rangkaian modul yang disertakan menggunakan distribusi berikut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/ec2rl_moduledev.html) | 
| diperlukan | Argumen wajib yang digunakan oleh modul dari opsi CLI. | 
| optional | Argumen opsional yang dapat digunakan oleh modul. | 
| software | Perangkat lunak yang dapat dieksekusi yang digunakan di dalam modul. Atribut ini ditujukan untuk menentukan perangkat lunak yang tidak terinstal secara default. Logika EC2 Rescue for Linux memastikan bahwa program-program ini hadir dan dapat dieksekusi sebelum menjalankan modul. | 
| package | Paket perangkat lunak sumber untuk file yang dapat dieksekusi. Atribut ini ditujukan untuk memberikan detail tambahan pada paket dengan perangkat lunak, termasuk URL untuk mengunduh atau mendapatkan informasi lebih lanjut. | 
| sudo | Mengindikasikan apakah akses root diperlukan untuk menjalankan modul.  Anda tidak perlu menerapkan pengecekan sudo dalam skrip modul. Jika nilainya benar, maka logika EC2 Rescue for Linux hanya menjalankan modul ketika pengguna yang mengeksekusi memiliki akses root. | 
| perfimpact | Mengindikasikan apakah modul dapat menimbulkan dampak performa yang signifikan terhadap lingkungan tempat modul dijalankan. Jika nilainya benar dan argumen `--perfimpact=true` tidak ada, modul akan dilewati. | 
| parallelexclusive | Menentukan program yang membutuhkan eksklusivitas bersama. Misalnya, semua modul yang menentukan proses "bpf" dijalankan secara bersambung. | 

## Menambahkan variabel lingkungan
<a name="ec2rl_adding_envvars"></a>

Tabel berikut menjelaskan variabel lingkungan yang tersedia.


| Variabel Lingkungan | Deskripsi | 
| --- | --- | 
|  `EC2RL_CALLPATH`  | Path ke ec2rl.py. Path ini dapat digunakan untuk menemukan direktori lib dan menggunakan modul Python yang bervendor. | 
|  `EC2RL_WORKDIR`  |  Direktori tmp utama untuk alat diagnostik. Nilai default: `/var/tmp/ec2rl`. | 
|  `EC2RL_RUNDIR`  |  Direktori tempat semua output disimpan. Nilai default: `/var/tmp/ec2rl/<date&timestamp>`.  | 
|  `EC2RL_GATHEREDDIR`  |  Direktori root untuk menempatkan data modul yang dikumpulkan. Nilai default:`/var/tmp/ec2rl/<date&timestamp>/mod_out/gathered/`.  | 
|  `EC2RL_NET_DRIVER`  |  Driver yang digunakan untuk antarmuka jaringan non-virtual pertama yang diurutkan menurut abjad pada instans. Contoh: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/ec2rl_moduledev.html)  | 
|  `EC2RL_SUDO`  |  Benar jika EC2 Rescue untuk Linux berjalan sebagai root; jika tidak, false.  | 
|  `EC2RL_VIRT_TYPE`  |  Tipe virtualisasi seperti yang disediakan oleh metadata instans. Contoh: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/ec2rl_moduledev.html)  | 
|  `EC2RL_INTERFACES`  |  Daftar antarmuka yang disebutkan pada sistem. Nilai tersebut adalah string yang berisi nama, seperti `eth0`, `eth1`, dan lain-lain. Ini dibuat melalui `functions.bash` dan hanya tersedia untuk modul yang bersumber darinya.  | 

## Menggunakan sintaks YAML
<a name="ec2rl_yamlsyntax"></a>

Hal-hal berikut ini harus diperhatikan saat menyusun file YAML modul Anda:
+ Tiga tanda hubung (`---`) menunjukkan awal yang jelas dari suatu dokumen.
+ Tanda `!ec2rlcore.module.Module` memberi tahu pengurai YAML konstruktor mana yang akan dipanggil saat membuat objek dari aliran data. Anda dapat menemukan konstruktor di dalam file `module.py`.
+ Tanda `!!str` memberi tahu pengurai YAML untuk tidak mencoba menentukan tipe data, dan sebagai gantinya menginterpretasikan konten sebagai literal string.
+ Simbol garis lurus (`|`) memberi tahu pengurai YAML bahwa nilainya adalah skalar gaya literal. Dalam hal ini, pengurai menyertakan semua spasi. Ini penting untuk modul karena indentasi dan karakter baris baru disimpan.
+ Indentasi standar YAML adalah dua spasi, yang dapat dilihat pada contoh berikut. Pastikan Anda mempertahankan indentasi standar (misalnya, empat spasi untuk Python) untuk skrip Anda dan kemudian menunjukkan seluruh konten dua spasi di dalam file modul.

## Contoh modul
<a name="ec2rl_example"></a>

Contoh satu (`mod.d/ps.yaml`):

```
--- !ec2rlcore.module.Module
# Module document. Translates directly into an almost-complete Module object
name: !!str ps
path: !!str
version: !!str 1.0
title: !!str Collect output from ps for system analysis
helptext: !!str |
  Collect output from ps for system analysis
  Requires --times= for number of times to repeat
  Requires --period= for time period between repetition
placement: !!str run
package: 
  - !!str
language: !!str bash
content: !!str |
  #!/bin/bash
  error_trap()
  {
      printf "%0.s=" {1..80}
      echo -e "\nERROR:	"$BASH_COMMAND" exited with an error on line ${BASH_LINENO[0]}"
      exit 0
  }
  trap error_trap ERR

  # read-in shared function
  source functions.bash
  echo "I will collect ps output from this $EC2RL_DISTRO box for $times times every $period seconds."
  for i in $(seq 1 $times); do
      ps auxww
      sleep $period
  done
constraint:
  requires_ec2: !!str False
  domain: !!str performance
  class: !!str collect
  distro: !!str alami ubuntu rhel suse
  required: !!str period times
  optional: !!str
  software: !!str
  sudo: !!str False
  perfimpact: !!str False
  parallelexclusive: !!str
```