

• AWS Systems Manager CloudWatch Dasbor tidak akan lagi tersedia setelah 30 April 2026. Pelanggan dapat terus menggunakan CloudWatch konsol Amazon untuk melihat, membuat, dan mengelola CloudWatch dasbor Amazon mereka, seperti yang mereka lakukan hari ini. Untuk informasi selengkapnya, lihat [dokumentasi CloudWatch Dasbor Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

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

# Membuat asosiasi yang menjalankan buku Ansible pedoman
<a name="systems-manager-state-manager-ansible"></a>

Anda dapat membuat State Manager asosiasi yang menjalankan Ansible buku pedoman dengan menggunakan dokumen `AWS-ApplyAnsiblePlaybooks` SSM. State Manageradalah alat di AWS Systems Manager. Dokumen ini menawarkan manfaat berikut untuk menjalankan playbook:
+ Support untuk menjalankan playbook yang kompleks
+ Support untuk mengunduh pedoman dari GitHub dan Amazon Simple Storage Service (Amazon S3)
+ Support untuk struktur playbook yang terkompresi
+ Pencatatan yang ditingkatkan
+ Kemampuan untuk menentukan playbook mana yang akan dijalankan saat playbook dipaketkan

**catatan**  
Systems Manager menyertakan dua dokumen SSM yang memungkinkan Anda membuat State Manager asosiasi yang menjalankan Ansible playbook: `AWS-RunAnsiblePlaybook` dan. `AWS-ApplyAnsiblePlaybooks` Dokumen `AWS-RunAnsiblePlaybook` tidak lagi digunakan. Ini tetap tersedia di Systems Manager untuk tujuan warisan. Kami menyarankan agar Anda menggunakan dokumen `AWS-ApplyAnsiblePlaybooks` karena peningkatan yang dijelaskan di sini.  
Asosiasi yang menjalankan Ansible buku pedoman tidak didukung. macOS

**Support untuk menjalankan playbook yang kompleks**

Dokumen `AWS-ApplyAnsiblePlaybooks` mendukung playbook kompleks yang dipaketkan karena akan menyalin keseluruhan struktur file ke direktori lokal sebelum mengeksekusi playbook utama yang ditentukan. Anda dapat memberikan playbook sumber dalam file Zip atau dalam struktur direktori. File atau direktori Zip dapat disimpan di GitHub atau Amazon S3. 

**Support untuk mengunduh pedoman dari GitHub**

Dokumen `AWS-ApplyAnsiblePlaybooks` menggunakan plugin `aws:downloadContent` untuk mengunduh file playbook. File dapat disimpan GitHub dalam satu file atau sebagai kumpulan file playbook gabungan. Untuk mengunduh kontenGitHub, tentukan informasi tentang GitHub repositori Anda dalam format JSON. Inilah contohnya.

```
{
   "owner":"{{TestUser}}",
   "repository":"{{GitHubTest}}",
   "path":"{{scripts/python/test-script}}",
   "getOptions":"{{branch:master}}",
   "tokenInfo":"{{{{ssm-secure:secure-string-token}}}}"
}
```

**Support untuk mengunduh pedoman dari Amazon S3**

Anda juga dapat menyimpan dan mengunduh Ansible buku pedoman di Amazon S3 sebagai satu file.zip atau struktur direktori. Untuk mengunduh konten dari Amazon S3, tentukan jalur ke file. Berikut ini adalah dua contoh.

**Contoh 1: Unduh file playbook tertentu**

```
{
   "path":"https://s3.amazonaws.com/{{amzn-s3-demo-bucket/playbook.yml}}"
}
```

**Contoh 2: Unduh isi direktori**

```
{
   "path":"https://s3.amazonaws.com/{{amzn-s3-demo-bucket/ansible/webservers/}}"
}
```

**penting**  
Jika Anda menentukan Amazon S3, maka profil instans AWS Identity and Access Management (IAM) pada node terkelola harus menyertakan izin untuk bucket S3. Untuk informasi selengkapnya, lihat [Mengonfigurasi izin instans yang diperlukan untuk Systems Manager](setup-instance-permissions.md). 

**Support untuk struktur playbook terkompresi**

Dokumen `AWS-ApplyAnsiblePlaybooks` mengizinkan Anda untuk menjalankan file .zip yang dikompresi dalam paket yang diunduh. Dokumen memeriksa apakah file yang diunduh berisi file yang dikompresi dalam format .zip. Jika .zip ditemukan, dokumen secara otomatis mendekompresi file dan kemudian menjalankan otomatisasi yang ditentukan. Ansible

**Penebangan yang ditingkatkan**

Dokumen `AWS-ApplyAnsiblePlaybooks` termasuk parameter opsional untuk menentukan tingkat pencatatan yang berbeda. Spesifikasikan -v untuk verbositas rendah, -vv atau –vvv untuk verbositas medium, dan -vvvv untuk pencatatan tingkat debug. Opsi ini langsung dipetakan ke opsi Ansible verbositas.

**Kemampuan untuk menentukan pedoman mana yang akan dijalankan saat pedoman dibundel**

Dokumen `AWS-ApplyAnsiblePlaybooks` menyertakan parameter yang diperlukan untuk menentukan playbook mana yang akan dijalankan ketika beberapa playbook dipaketkan. Opsi ini memberikan fleksibilitas untuk menjalankan playbook untuk men-support kasus penggunaan yang berbeda.

## Memahami dependensi yang diinstal
<a name="systems-manager-state-manager-ansible-depedencies"></a>

Jika Anda menentukan **True** untuk **InstallDependencies**parameter, maka Systems Manager memverifikasi bahwa node Anda memiliki dependensi berikut diinstal:
+ **Ubuntu Server/Debian Server**: Apt-get (Manajemen Paket), Python 3,, Unzip Ansible
+ Versi yang didukung **Amazon Linux**: Ansible
+ **RHEL**: Python 3Ansible,, Unzip

Jika satu atau lebih dari dependensi ini tidak ditemukan, maka Systems Manager secara otomatis menginstalnya.

## Buat asosiasi yang menjalankan Ansible playbook (konsol)
<a name="systems-manager-state-manager-ansible-console"></a>

Prosedur berikut menjelaskan cara menggunakan konsol Systems Manager untuk membuat State Manager asosiasi yang menjalankan Ansible playbook menggunakan `AWS-ApplyAnsiblePlaybooks` dokumen.

**Untuk membuat asosiasi yang menjalankan Ansible playbooks (konsol)**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Di panel navigasi, pilih **State Manager**.

1. Pilih **State Manager**, lalu pilih **Buat asosiasi**.

1. Untuk **Nama**, tentukan nama yang membantu anda mengingat tujuan asosiasi.

1. Di daftar **Dokumen**, pilih **`AWS-ApplyAnsiblePlaybooks`**.

1. Di bagian **Parameter**, untuk **Jenis Sumber**, pilih salah satu **GitHub**atau **S3**.

   **GitHub**

   Jika Anda memilih **GitHub**, masukkan informasi repositori dalam format berikut.

   ```
   {
      "owner":"{{user_name}}",
      "repository":"{{name}}",
      "path":"{{path_to_directory_or_playbook_to_download}}",
      "getOptions":"{{branch:branch_name}}",
      "tokenInfo":"{{{{(Optional)_token_information}}}}"
   }
   ```

   **S3**

   Jika Anda memilih **S3**, masukkan informasi jalur dalam format berikut.

   ```
   {
      "path":"https://s3.amazonaws.com/{{path_to_directory_or_playbook_to_download}}"
   }
   ```

1. Untuk **Instal Dependensi**, pilih opsi.

1. (Opsional) Untuk **File Playbook**, masukkan nama file. Jika file Zip berisi buku playbook, tentukan jalur relatif ke file Zip.

1. (Opsional) Untuk **Variabel Ekstra**, masukkan variabel yang State Manager ingin Anda kirim Ansible saat runtime.

1. (Opsional) Untuk **Periksa**, pilih opsi.

1. (Opsional) Untuk **Verbose**, pilih opsi.

1. Untuk **Target**, pilih satu opsi. Untuk informasi tentang menggunakan target, lihat [Memahami target dan kontrol tingkat dalam State Manager asosiasi](systems-manager-state-manager-targets-and-rate-controls.md).

1. Di bagian **Tentukan jadwal**, pilih **Sesuai jadwal** atau **Tidak ada jadwal**. Jika Anda memilih **Sesuai jadwal**, maka gunakan tombol yang disediakan untuk membuat jadwal cron atau rate untuk asosiasi. 

1. Di bagian **Opsi lanjutan**, untuk **Keparahan kepatuhan**, pilih tingkat keparahan untuk asosiasi. Pelaporan kepatuhan menunjukkan apakah status asosiasi sesuai atau tidak, bersama dengan tingkat keparahan yang Anda tunjukkan di sini. Untuk informasi selengkapnya, lihat [Tentang kepatuhan State Manager asosiasi](compliance-about.md#compliance-about-association).

1. Di bagian **Rate control**, konfigurasikan opsi untuk menjalankan State Manager asosiasi di seluruh armada node terkelola. Untuk informasi tentang menggunakan kontrol rate, lihat [Memahami target dan kontrol tingkat dalam State Manager asosiasi](systems-manager-state-manager-targets-and-rate-controls.md).

   Di bagian **Konkurensi**, pilih satu opsi: 
   + Pilih **target** untuk memasukkan jumlah absolut dari target yang dapat menjalankan asosiasi secara bersamaan.
   + Pilih **persentase** untuk memasukkan persentase dari kumpulan target yang dapat menjalankan asosiasi secara bersamaan.

   Di bagian **Batas kesalahan**, pilih opsi:
   + Pilih **kesalahan** untuk memasukkan jumlah absolut kesalahan yang diizinkan sebelum State Manager berhenti menjalankan asosiasi pada target tambahan.
   + Pilih **persentase** untuk memasukkan persentase kesalahan yang diizinkan sebelum State Manager berhenti menjalankan asosiasi pada target tambahan.

1. (Opsional) Untuk **Opsi output**, untuk menyimpan output perintah ke file, pilih kotak **Aktifkan output penulisan ke S3**. Masukkan nama bucket dan prefiks (folder) di dalam kotak.
**catatan**  
Izin S3 yang memberikan kemampuan untuk menulis data ke bucket S3 adalah izin dari profil instance yang ditetapkan ke node terkelola, bukan izin pengguna IAM yang melakukan tugas ini. Untuk informasi selengkapnya, lihat [Mengonfigurasi izin instans yang diperlukan untuk Systems Manager](setup-instance-permissions.md) atau [Membuat peran layanan IAM untuk lingkungan hibrid](hybrid-multicloud-service-role.md). Selain itu, jika bucket S3 yang ditentukan berbeda Akun AWS, verifikasi bahwa profil instance atau peran layanan IAM yang terkait dengan node terkelola memiliki izin yang diperlukan untuk menulis ke bucket tersebut.

1. Pilih **Buat Asosiasi**.

**catatan**  
Jika Anda menggunakan tag untuk membuat asosiasi pada satu atau lebih node target, dan kemudian Anda menghapus tag dari node, node itu tidak lagi menjalankan asosiasi. Node terlepas dari State Manager dokumen. 

## Buat asosiasi yang menjalankan Ansible buku pedoman (CLI)
<a name="systems-manager-state-manager-ansible-cli"></a>

Prosedur berikut menjelaskan cara menggunakan AWS Command Line Interface (AWS CLI) untuk membuat State Manager asosiasi yang menjalankan Ansible buku pedoman dengan menggunakan `AWS-ApplyAnsiblePlaybooks` dokumen. 

**Untuk membuat asosiasi yang menjalankan Ansible buku pedoman (CLI)**

1. Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.

   Untuk selengkapnya, lihat [Menginstal atau memperbarui versi terbaru AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Jalankan salah satu perintah berikut untuk membuat asosiasi yang menjalankan Ansible buku pedoman dengan menargetkan node menggunakan tag. Ganti masing-masing {{example resource placeholder}} dengan informasi Anda sendiri. Command (A) menentukan GitHub sebagai tipe sumber. Command (B) menentukan Amazon S3 sebagai jenis sumber.

   **(A) GitHub sumber**

------
#### [ Linux & macOS ]

   ```
   aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" \
       --targets Key=tag:{{TagKey}},Values={{TagValue}} \
       --parameters '{"SourceType":["GitHub"],"SourceInfo":["{\"owner\":\"{{owner_name}}\", \"repository\": \"{{name}}\", \"getOptions\": \"branch:master\"}"],"InstallDependencies":["{{True_or_False}}"],"PlaybookFile":["{{file_name}}.yml"],"ExtraVariables":["{{key/value_pairs_separated_by_a_space}}"],"Check":["{{True_or_False}}"],"Verbose":["{{-v,-vv,-vvv, or -vvvv}}"],"TimeoutSeconds":["3600"]}' \
       --association-name "{{name}}" \
       --schedule-expression "{{cron_or_rate_expression}}"
   ```

------
#### [ Windows ]

   ```
   aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" ^
       --targets Key=tag:{{TagKey}},Values={{TagValue}} ^
       --parameters '{"SourceType":["GitHub"],"SourceInfo":["{\"owner\":\"{{owner_name}}\", \"repository\": \"{{name}}\", \"getOptions\": \"branch:master\"}"],"InstallDependencies":["{{True_or_False}}"],"PlaybookFile":["{{file_name}}.yml"],"ExtraVariables":["{{key/value_pairs_separated_by_a_space}}"],"Check":["{{True_or_False}}"],"Verbose":["{{-v,-vv,-vvv, or -vvvv}}"], "TimeoutSeconds":["3600"]}' ^
       --association-name "{{name}}" ^
       --schedule-expression "{{cron_or_rate_expression}}"
   ```

------

   Ini contohnya.

   ```
   aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" \
       --targets "Key=tag:OS,Values=Linux" \
       --parameters '{"SourceType":["GitHub"],"SourceInfo":["{\"owner\":\"ansibleDocumentTest\", \"repository\": \"Ansible\", \"getOptions\": \"branch:master\"}"],"InstallDependencies":["True"],"PlaybookFile":["hello-world-playbook.yml"],"ExtraVariables":["SSM=True"],"Check":["False"],"Verbose":["-v"]}' \
       --association-name "AnsibleAssociation" \
       --schedule-expression "cron(0 2 ? * SUN *)"
   ```

   **(B) Sumber S3**

------
#### [ Linux & macOS ]

   ```
   aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" \
       --targets Key=tag:{{TagKey}},Values={{TagValue}} \
       --parameters '{"SourceType":["S3"],"SourceInfo":["{\"path\":\"https://s3.amazonaws.com/{{path_to_Zip_file,_directory,_or_playbook_to_download}}\"}"],"InstallDependencies":["{{True_or_False}}"],"PlaybookFile":["{{file_name}}.yml"],"ExtraVariables":["{{key/value_pairs_separated_by_a_space}}"],"Check":["{{True_or_False}}"],"Verbose":["{{-v,-vv,-vvv, or -vvvv}}"]}' \
       --association-name "{{name}}" \
       --schedule-expression "{{cron_or_rate_expression}}"
   ```

------
#### [ Windows ]

   ```
   aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" ^
       --targets Key=tag:{{TagKey}},Values={{TagValue}} ^
       --parameters '{"SourceType":["S3"],"SourceInfo":["{\"path\":\"https://s3.amazonaws.com/{{path_to_Zip_file,_directory,_or_playbook_to_download}}\"}"],"InstallDependencies":["{{True_or_False}}"],"PlaybookFile":["{{file_name}}.yml"],"ExtraVariables":["{{key/value_pairs_separated_by_a_space}}"],"Check":["{{True_or_False}}"],"Verbose":["{{-v,-vv,-vvv, or -vvvv}}"]}' ^
       --association-name "{{name}}" ^
       --schedule-expression "{{cron_or_rate_expression}}"
   ```

------

   Inilah contohnya.

   ```
   aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" \
       --targets "Key=tag:OS,Values=Linux" \
       --parameters '{"SourceType":["S3"],"SourceInfo":["{\"path\":\"https://s3.amazonaws.com/amzn-s3-demo-bucket/playbook.yml\"}"],"InstallDependencies":["True"],"PlaybookFile":["playbook.yml"],"ExtraVariables":["SSM=True"],"Check":["False"],"Verbose":["-v"]}' \
       --association-name "AnsibleAssociation" \
       --schedule-expression "cron(0 2 ? * SUN *)"
   ```
**catatan**  
State Managerasosiasi tidak mendukung semua ekspresi cron dan rate. Untuk informasi selengkapnya tentang membuat ekspresi cron dan rate untuk asosiasi, lihat [Referensi: Ekspresi cron dan rate untuk Systems Manager](reference-cron-and-rate-expressions.md).

   Sistem mencoba untuk membuat asosiasi pada node dan segera menerapkan status. 

1. Jalankan perintah berikut untuk menampilkan status terbaru dari asosiasi yang baru saja Anda buat. 

   ```
   aws ssm describe-association --association-id "{{ID}}"
   ```