

• 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 Chef resep
<a name="systems-manager-state-manager-chef"></a>

Anda dapat membuat State Manager asosiasi yang menjalankan Chef resep dengan menggunakan dokumen `AWS-ApplyChefRecipes` SSM. State Manageradalah alat di AWS Systems Manager. Anda dapat menargetkan node yang dikelola Linux-based Systems Manager dengan dokumen `AWS-ApplyChefRecipes` SSM. Dokumen ini menawarkan manfaat berikut untuk menjalankan Chef resep:
+ Mendukung beberapa rilis Chef (Chef11 hingga Chef 18).
+ Secara otomatis menginstal perangkat lunak Chef klien pada node target.
+ Secara opsional menjalankan [pemeriksaan kepatuhan Systems Manager](systems-manager-compliance.md) pada node target, dan menyimpan hasil pemeriksaan kepatuhan di bucket Amazon Simple Storage Service (Amazon S3).
+ Menjalankan beberapa buku masak dan resep dalam satu dokumen.
+ Secara opsional menjalankan resep dalam `why-run` mode, untuk menunjukkan resep mana yang berubah pada node target tanpa membuat perubahan.
+ Secara opsional menerapkan atribut JSON khusus untuk `chef-client` dijalankan.
+ Opsional menerapkan atribut JSON kustom dari file sumber yang disimpan di lokasi yang Anda tentukan.

Anda dapat menggunakan bucket [Git [GitHub](#state-manager-chef-github)](#state-manager-chef-git),, [HTTP](#state-manager-chef-http), atau [Amazon S3](#state-manager-chef-s3) sebagai sumber unduhan untuk Chef buku masak dan resep yang Anda tentukan dalam dokumen. `AWS-ApplyChefRecipes`

**catatan**  
Asosiasi yang menjalankan Chef resep tidak didukung padamacOS.

## Memulai
<a name="state-manager-chef-prereqs"></a>

Sebelum Anda membuat `AWS-ApplyChefRecipes` dokumen, siapkan buku masak dan Chef repositori buku masak Anda. Jika Anda belum memiliki Chef buku masak yang ingin Anda gunakan, Anda dapat memulai dengan menggunakan `HelloWorld` buku masak tes yang AWS telah disiapkan untuk Anda. Dokumen `AWS-ApplyChefRecipes` sudah menunjuk ke buku masak ini secara default. Buku masak Anda harus diatur serupa dengan struktur direktori berikut. Dalam contoh berikut, `jenkins` dan `nginx` merupakan contoh Chef buku masak yang tersedia di [https://supermarket.chef.io/](https://supermarket.chef.io/)situs Chef web.

Meskipun tidak AWS dapat secara resmi mendukung buku masak di [https://supermarket.chef.io/](https://supermarket.chef.io/)situs web, banyak dari mereka bekerja dengan `AWS-ApplyChefRecipes` dokumen tersebut. Berikut ini adalah contoh kriteria untuk menentukan kapan Anda menguji buku masak komunitas:
+ Buku masak harus mendukung sistem Linux-based operasi node terkelola Systems Manager yang Anda targetkan.
+ Buku masak harus valid untuk versi Chef klien (Chef11 hingga Chef 18) yang Anda gunakan.
+ Buku masak kompatibel denganChef Infra Client, dan, tidak memerlukan server Chef.

Verifikasi bahwa Anda dapat mencapai `Chef.io` situs web, sehingga buku masak apa pun yang Anda tentukan dalam daftar jalankan dapat diinstal saat dokumen Systems Manager (dokumen SSM) berjalan. Menggunakan folder `cookbooks` yang di-nest disupport, tetapi tidak diperlukan; Anda dapat menyimpan buku masak langsung di tingkat root.

```
<Top-level directory, or the top level of the archive file (ZIP or tgz or tar.gz)>
    └── cookbooks (optional level)
        ├── jenkins
        │   ├── metadata.rb
        │   └── recipes
        └── nginx
            ├── metadata.rb
            └── recipes
```

**penting**  
Sebelum Anda membuat State Manager asosiasi yang menjalankan Chef resep, ketahuilah bahwa dokumen yang dijalankan menginstal perangkat lunak Chef klien pada node terkelola Systems Manager Anda, kecuali jika Anda menetapkan nilai **versi Chef klien**. `None` Operasi ini menggunakan skrip instalasi dari Chef untuk menginstal Chef komponen atas nama Anda. Sebelum Anda menjalankan `AWS-ApplyChefRecipes` dokumen, pastikan perusahaan Anda dapat mematuhi persyaratan hukum yang berlaku, termasuk ketentuan lisensi yang berlaku untuk penggunaan Chef perangkat lunak. Untuk informasi lebih lanjut, lihat situs [Chefweb](https://www.chef.io/).

Systems Manager dapat mengirimkan laporan kepatuhan ke bucket S3, konsol Systems Manager, atau membuat hasil kepatuhan tersedia sebagai respons terhadap perintah API Systems Manager. Untuk menjalankan laporan kepatuhan Systems Manager, profil instans yang dilampirkan ke node terkelola Systems Manager harus memiliki izin untuk menulis ke bucket S3. Profil instans harus memiliki izin untuk menggunakan API `PutComplianceItem` Systems Manager. Untuk informasi selengkapnya tentang kepatuhan Systems Manager, lihat [AWS Systems Manager Kepatuhan](systems-manager-compliance.md).

### Mencatat dokumen yang berjalan
<a name="state-manager-chef-logging"></a>

Saat menjalankan dokumen Systems Manager (dokumen SSM) menggunakan State Manager asosiasi, Anda dapat mengonfigurasi asosiasi untuk memilih output dokumen yang dijalankan, dan Anda dapat mengirim output ke Amazon S3 atau CloudWatch Amazon Logs CloudWatch (Log). Untuk membantu memudahkan pemecahan masalah saat asosiasi selesai berjalan, verifikasi bahwa asosiasi dikonfigurasi untuk menulis output perintah ke bucket Amazon S3 atau Log. CloudWatch Untuk informasi selengkapnya, lihat [Bekerja dengan asosiasi di Systems Manager](state-manager-associations.md).

## Menerapkan atribut JSON ke target saat menjalankan resep
<a name="apply-custom-json-attributes"></a>

Anda dapat menentukan atribut JSON untuk Chef klien Anda untuk diterapkan ke node target selama menjalankan asosiasi. Saat menyiapkan asosiasi, Anda dapat memberikan JSON mentah atau memberikan jalur ke file JSON yang disimpan di Amazon S3.

Gunakan atribut JSON ketika Anda ingin menyesuaikan bagaimana resep dijalankan tanpa harus memodifikasi resep itu sendiri, misalnya:
+ **Mengesampingkan sejumlah kecil atribut**

  Gunakan JSON khusus untuk menghindari keharusan mempertahankan beberapa versi resep untuk mengakomodasi perbedaan kecil.
+ **Memberikan nilai variabel**

  Gunakan JSON khusus untuk menentukan nilai yang mungkin berubah dari run-to-run. Misalnya, jika Chef buku masak Anda mengonfigurasi aplikasi pihak ketiga yang menerima pembayaran, Anda dapat menggunakan JSON khusus untuk menentukan URL titik akhir pembayaran. 

**Menentukan atribut dalam JSON mentah**

Berikut ini adalah contoh format yang dapat Anda gunakan untuk menentukan atribut JSON kustom untuk Chef resep Anda.

```
{"filepath":"{{/tmp/example.txt}}", "content":"{{Hello, World!}}"}
```

**Menentukan jalur ke file JSON**  
Berikut ini adalah contoh format yang dapat Anda gunakan untuk menentukan jalur ke atribut JSON kustom untuk Chef resep Anda.

```
{"sourceType":"s3", "sourceInfo":"{{someS3URL1}}"}, {"sourceType":"s3", "sourceInfo":"{{someS3URL2}}"}
```

## Gunakan Git sebagai sumber buku masak
<a name="state-manager-chef-git"></a>

`AWS-ApplyChefRecipes`Dokumen ini menggunakan plugin [AWS:DownloadContent](documents-command-ssm-plugin-reference.md#aws-downloadContent) untuk mengunduh buku masak. Chef Untuk mengunduh konten dari Git, tentukan informasi tentang repositori Git Anda dalam format JSON seperti pada contoh berikut. Ganti masing-masing {{example-resource-placeholder}} dengan informasi Anda sendiri.

```
{
   "repository":"{{GitCookbookRepository}}",
   "privateSSHKey":"{{ssm-secure:{{ssh-key-secure-string-parameter}}}}",
   "skipHostKeyChecking":"{{false}}",
   "getOptions":"branch:refs/head/{{main}}",
   "username":"{{ssm-secure:{{username-secure-string-parameter}}}}",
   "password":"{{ssm-secure:{{password-secure-string-parameter}}}}"
}
```

## Gunakan GitHub sebagai sumber buku masak
<a name="state-manager-chef-github"></a>

`AWS-ApplyChefRecipes`Dokumen ini menggunakan plugin [AWS:DownloadContent](documents-command-ssm-plugin-reference.md#aws-downloadContent) untuk mengunduh buku masak. Untuk mengunduh konten dariGitHub, tentukan informasi tentang GitHub repositori Anda dalam format JSON seperti pada contoh berikut. Ganti masing-masing {{example-resource-placeholder}} dengan informasi Anda sendiri.

```
{
   "owner":"{{TestUser}}",
   "repository":"{{GitHubCookbookRepository}}",
   "path":"{{cookbooks/HelloWorld}}",
   "getOptions":"branch:refs/head/{{main}}",
   "tokenInfo":"{{ssm-secure:{{token-secure-string-parameter}}}}"
}
```

## Gunakan HTTP sebagai sumber buku masak
<a name="state-manager-chef-http"></a>

Anda dapat menyimpan Chef buku masak di lokasi HTTP kustom baik sebagai satu `.zip` atau `tar.gz` file, atau struktur direktori. Untuk mengunduh konten dari HTTP, tentukan jalur ke file atau direktori dalam format JSON seperti pada contoh berikut. Ganti masing-masing {{example-resource-placeholder}} dengan informasi Anda sendiri.

```
{
   "url":"https:{{//my.website.com/chef-cookbooks/HelloWorld.zip}}",
   "allowInsecureDownload":"false",
   "authMethod":"Basic",
   "username":"{{ssm-secure:{{username-secure-string-parameter}}}}",
   "password":"{{ssm-secure:{{password-secure-string-parameter}}}}"
}
```

## Menggunakan Amazon S3 sebagai sumber buku masak
<a name="state-manager-chef-s3"></a>

Anda juga dapat menyimpan dan mengunduh Chef buku masak di Amazon S3 sebagai `.zip` satu `tar.gz` atau file, atau struktur direktori. Untuk mengunduh konten dari Amazon S3, tentukan jalur ke file dalam format JSON seperti pada contoh berikut. Ganti masing-masing {{example-resource-placeholder}} dengan informasi Anda sendiri.

**Contoh 1: Unduh buku masak tertentu**

```
{
   "path":"https://s3.amazonaws.com/{{chef-cookbooks/HelloWorld.zip}}"
}
```

**Contoh 2: Unduh isi direktori**

```
{
   "path":"https://s3.amazonaws.com/{{chef-cookbooks-test/HelloWorld}}"
}
```

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

## Buat asosiasi yang menjalankan Chef resep (konsol)
<a name="state-manager-chef-console"></a>

Prosedur berikut menjelaskan cara menggunakan konsol Systems Manager untuk membuat State Manager asosiasi yang menjalankan Chef buku masak dengan menggunakan `AWS-ApplyChefRecipes` dokumen.

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**, masukkan nama yang membantu Anda mengingat tujuan asosiasi.

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

1. Di **Parameter**, untuk **Jenis Sumber**, pilih **Git **GitHub****, **HTTP**, atau **S3**.

1. Untuk **info Sumber**, masukkan informasi sumber buku masak menggunakan format yang sesuai untuk **Jenis Sumber** yang Anda pilih pada langkah 6. Untuk informasi selengkapnya, lihat topik berikut:
   + [Gunakan Git sebagai sumber buku masak](#state-manager-chef-git)
   + [Gunakan GitHub sebagai sumber buku masak](#state-manager-chef-github)
   + [Gunakan HTTP sebagai sumber buku masak](#state-manager-chef-http)
   + [Menggunakan Amazon S3 sebagai sumber buku masak](#state-manager-chef-s3)

1. Di **Jalankan daftar**, buat daftar resep yang ingin Anda jalankan dalam format berikut, memisahkan setiap resep dengan koma seperti yang ditunjukkan. Jangan masukkan spasi setelah koma. Ganti masing-masing {{example-resource-placeholder}} dengan informasi Anda sendiri.

   ```
   recipe[{{cookbook-name1}}::{{recipe-name}}],recipe[{{cookbook-name2}}::{{recipe-name}}]
   ```

1. (Opsional) Tentukan atribut JSON kustom yang Anda ingin Chef klien berikan ke node target Anda.

   1. Dalam **konten atribut JSON**, tambahkan atribut apa pun yang Anda ingin Chef klien berikan ke node target Anda.

   1. Di **sumber atribut JSON**, tambahkan jalur ke atribut apa pun yang Anda ingin Chef klien lewatkan ke node target Anda.

   Untuk informasi selengkapnya, lihat [Menerapkan atribut JSON ke target saat menjalankan resep](#apply-custom-json-attributes).

1. Untuk **versi Chef klien**, tentukan Chef versi. Nilai yang valid adalah `11` melalui`18`, atau`None`. Jika Anda menentukan nomor antara `11` `18` (inklusif), Systems Manager menginstal versi Chef klien yang benar pada node target Anda. Jika Anda menentukan`None`, Systems Manager tidak menginstal Chef klien pada node target sebelum menjalankan resep dokumen.

1. (Opsional) Untuk **argumen Chef klien**, tentukan argumen tambahan yang didukung untuk versi yang Chef Anda gunakan. Untuk mempelajari lebih lanjut tentang argumen yang didukung, jalankan `chef-client -h` pada node yang menjalankan Chef klien.

1. (Opsional) Nyalakan **Why-run**untuk menampilkan perubahan yang dibuat pada node target jika resep dijalankan, tanpa benar-benar mengubah node target.

1. Untuk **Keparahan kepatuhan**, pilih keparahan dari hasil Kepatuhan Systems Manager yang ingin Anda laporkan. Pelaporan kepatuhan menunjukkan apakah status asosiasi sesuai atau tidak sesuai, bersama dengan tingkat keparahan yang Anda tentukan. Laporan kepatuhan disimpan di bucket S3 yang Anda tentukan sebagai nilai dari parameter **Bucket laporan kepatuhan** (langkah 14). Untuk informasi selengkapnya tentang Kepatuhan, lihat [Pelajari detail tentang Kepatuhan](compliance-about.md) dalam panduan ini.

   Pemindaian kepatuhan mengukur penyimpangan antara konfigurasi yang ditentukan dalam Chef resep dan sumber daya node Anda. Nilai yang valid adalah `Critical`, `High`, `Medium`, `Low`, `Informational`, `Unspecified`, atau `None`. Untuk melewati pelaporan kepatuhan, pilih `None`.

1. Untuk **Jenis kepatuhan**, tentukan jenis kepatuhan yang hasilnya ingin Anda laporkan. Nilai yang valid adalah `Association` untuk State Manager asosiasi, atau `Custom:`{{custom-type}}. Nilai default-nya adalah `Custom:Chef`.

1. Untuk **bucket laporan Kepatuhan**, masukkan nama bucket S3 untuk menyimpan informasi tentang setiap Chef proses yang dilakukan oleh dokumen ini, termasuk konfigurasi sumber daya dan hasil Kepatuhan.

1. Dalam **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 **Konkurensi**, pilih 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 **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**.

## Buat asosiasi yang menjalankan Chef resep (CLI)
<a name="state-manager-chef-cli"></a>

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

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 Chef buku masak pada node target yang memiliki tag tertentu. Gunakan perintah yang sesuai untuk jenis sumber buku masak dan sistem operasi Anda. Ganti masing-masing {{example-resource-placeholder}} dengan informasi Anda sendiri.

   1. **Sumber Git**

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

      ```
      aws ssm create-association --name "AWS-ApplyChefRecipes" \
          --targets Key=tag:{{TagKey}},Values={{TagValue}} \
          --parameters '{"SourceType":["Git"],"SourceInfo":["{\"repository\":\"{{repository-name}}\", \"getOptions\": \"branch:{{branch-name}}\", \"username\": \"{{ ssm-secure:{{username-secure-string-parameter}} }}\", \"password\": \"{{ ssm-secure:{{password-secure-string-parameter}} }}\"}"], "RunList":["{\"recipe[{{cookbook-name-1}}::{{recipe-name}}]\", \"recipe[{{cookbook-name-2}}::{{recipe-name}}]\"}"], "JsonAttributesContent": ["{{{custom-json-content}}}"], "JsonAttributesSources": "{\"sourceType\":\"s3\", \"sourceInfo\":\"{{s3-bucket-endpoint-1}}\"}, {\"sourceType\":\"s3\", \"sourceInfo\":\"{{s3-bucket-endpoint-2}}\"}", "ChefClientVersion": ["{{version-number}}"], "ChefClientArguments":["{{{chef-client-arguments}}}"], "WhyRun": {{boolean}}, "ComplianceSeverity": ["{{severity-value}}"], "ComplianceType": ["Custom:Chef"], "ComplianceReportBucket": ["{{s3-bucket-name}}"]}' \
          --association-name "{{name}}" \
          --schedule-expression "{{cron-or-rate-expression}}"
      ```

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

      ```
      aws ssm create-association --name "AWS-ApplyChefRecipes" ^
          --targets Key=tag:{{TagKey}},Values={{TagValue}} ^
          --parameters '{"SourceType":["Git"],"SourceInfo":["{\"repository\":\"{{repository-name}}\", \"getOptions\": \"branch:{{branch-name}}\", \"username\": \"{{ ssm-secure:{{username-secure-string-parameter}} }}\", \"password\": \"{{ ssm-secure:{{password-secure-string-parameter}} }}\"}"], "RunList":["{\"recipe[{{cookbook-name-1}}::{{recipe-name}}]\", \"recipe[{{cookbook-name-2}}::{{recipe-name}}]\"}"], "JsonAttributesContent": ["{{{custom-json}}}"], "JsonAttributesSources": "{\"sourceType\":\"s3\", \"sourceInfo\":\"{{s3-bucket-endpoint-1}}\"}, {\"sourceType\":\"s3\", \"sourceInfo\":\"{{s3-bucket-endpoint-2}}\"}", "ChefClientVersion": ["{{version-number}}"], "ChefClientArguments":["{{{chef-client-arguments}}}"], "WhyRun": {{boolean}}, "ComplianceSeverity": ["{{severity-value}}"], "ComplianceType": ["Custom:Chef"], "ComplianceReportBucket": ["{{s3-bucket-name}}"]}' ^
          --association-name "{{name}}" ^
          --schedule-expression "{{cron-or-rate-expression}}"
      ```

------

   1. **GitHub sumber**

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

      ```
      aws ssm create-association --name "AWS-ApplyChefRecipes" \
          --targets Key=tag:{{TagKey}},Values={{TagValue}} \
          --parameters '{"SourceType":["GitHub"],"SourceInfo":["{\"owner\":\"{{owner-name}}\", \"repository\": \"{{name}}\", \"path\": \"{{path-to-directory-or-cookbook-to-download}}\", \"getOptions\": \"branch:{{branch-name}}\"}"], "RunList":["{\"recipe[{{cookbook-name-1}}::{{recipe-name}}]\", \"recipe[{{cookbook-name-2}}::{{recipe-name}}]\"}"], "JsonAttributesContent": ["{{{custom-json}}}"], "ChefClientVersion": ["{{version-number}}"], "ChefClientArguments":["{{{chef-client-arguments}}}"], "WhyRun": {{boolean}}, "ComplianceSeverity": ["{{severity-value}}"], "ComplianceType": ["Custom:Chef"], "ComplianceReportBucket": ["{{s3-bucket-name}}"]}' \
          --association-name "{{name}}" \
          --schedule-expression "{{cron-or-rate-expression}}"
      ```

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

      ```
      aws ssm create-association --name "AWS-ApplyChefRecipes" ^
          --targets Key=tag:{{TagKey}},Values={{TagValue}} \
          --parameters '{"SourceType":["GitHub"],"SourceInfo":["{\"owner\":\"{{owner-name}}\", \"repository\": \"{{name}}\", \"path\": \"{{path-to-directory-or-cookbook-to-download}}\", \"getOptions\": \"branch:{{branch-name}}\"}"], "RunList":["{\"recipe[{{cookbook-name-1}}::{{recipe-name}}]\", \"recipe[{{cookbook-name-2}}::{{recipe-name}}]\"}"], "JsonAttributesContent": ["{{{custom-json}}}"], "ChefClientVersion": ["{{version-number}}"], "ChefClientArguments":["{{{chef-client-arguments}}}"], "WhyRun": {{boolean}}, "ComplianceSeverity": ["{{severity-value}}"], "ComplianceType": ["Custom:Chef"], "ComplianceReportBucket": ["{{s3-bucket-name}}"]}' ^
          --association-name "{{name}}" ^
          --schedule-expression "{{cron-or-rate-expression}}"
      ```

------

      Ini contohnya.

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

      ```
      aws ssm create-association --name "AWS-ApplyChefRecipes" \
          --targets Key=tag:OS,Values=Linux \
          --parameters '{"SourceType":["GitHub"],"SourceInfo":["{\"owner\":\"ChefRecipeTest\", \"repository\": \"ChefCookbooks\", \"path\": \"cookbooks/HelloWorld\", \"getOptions\": \"branch:master\"}"], "RunList":["{\"recipe[HelloWorld::HelloWorldRecipe]\", \"recipe[HelloWorld::InstallApp]\"}"], "JsonAttributesContent": ["{\"state\": \"visible\",\"colors\": {\"foreground\": \"light-blue\",\"background\": \"dark-gray\"}}"], "ChefClientVersion": ["14"], "ChefClientArguments":["{--fips}"], "WhyRun": false, "ComplianceSeverity": ["Medium"], "ComplianceType": ["Custom:Chef"], "ComplianceReportBucket": ["ChefComplianceResultsBucket"]}' \
          --association-name "MyChefAssociation" \
          --schedule-expression "cron(0 2 ? * SUN *)"
      ```

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

      ```
      aws ssm create-association --name "AWS-ApplyChefRecipes" ^
          --targets Key=tag:OS,Values=Linux ^
          --parameters '{"SourceType":["GitHub"],"SourceInfo":["{\"owner\":\"ChefRecipeTest\", \"repository\": \"ChefCookbooks\", \"path\": \"cookbooks/HelloWorld\", \"getOptions\": \"branch:master\"}"], "RunList":["{\"recipe[HelloWorld::HelloWorldRecipe]\", \"recipe[HelloWorld::InstallApp]\"}"], "JsonAttributesContent": ["{\"state\": \"visible\",\"colors\": {\"foreground\": \"light-blue\",\"background\": \"dark-gray\"}}"], "ChefClientVersion": ["14"], "ChefClientArguments":["{--fips}"], "WhyRun": false, "ComplianceSeverity": ["Medium"], "ComplianceType": ["Custom:Chef"], "ComplianceReportBucket": ["ChefComplianceResultsBucket"]}' ^
          --association-name "MyChefAssociation" ^
          --schedule-expression "cron(0 2 ? * SUN *)"
      ```

------

   1. **Sumber HTTP**

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

      ```
      aws ssm create-association --name "AWS-ApplyChefRecipes" \
          --targets Key=tag:{{TagKey}},Values={{TagValue}} \
          --parameters '{"SourceType":["HTTP"],"SourceInfo":["{\"url\":\"{{url-to-zip-file|directory|cookbook}}\", \"authMethod\": \"{{auth-method}}\", \"username\": \"{{ ssm-secure:{{username-secure-string-parameter}} }}\", \"password\": \"{{ ssm-secure:{{password-secure-string-parameter}} }}\"}"], "RunList":["{\"recipe[{{cookbook-name-1}}::{{recipe-name}}]\", \"recipe[{{cookbook-name-2}}::{{recipe-name}}]\"}"], "JsonAttributesContent": ["{{{custom-json-content}}}"], "JsonAttributesSources": "{\"sourceType\":\"s3\", \"sourceInfo\":\"{{s3-bucket-endpoint-1}}\"}, {\"sourceType\":\"s3\", \"sourceInfo\":\"{{s3-bucket-endpoint-2}}\"}", "ChefClientVersion": ["{{version-number}}"], "ChefClientArguments":["{{{chef-client-arguments}}}"], "WhyRun": {{boolean}}, "ComplianceSeverity": ["{{severity-value}}"], "ComplianceType": ["Custom:Chef"], "ComplianceReportBucket": ["{{s3-bucket-name}}"]}' \
          --association-name "{{name}}" \
          --schedule-expression "{{cron-or-rate-expression}}"
      ```

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

      ```
      aws ssm create-association --name "AWS-ApplyChefRecipes" ^
          --targets Key=tag:{{TagKey}},Values={{TagValue}} ^
          --parameters '{"SourceType":["HTTP"],"SourceInfo":["{\"url\":\"{{url-to-zip-file|directory|cookbook}}\", \"authMethod\": \"{{auth-method}}\", \"username\": \"{{ ssm-secure:{{username-secure-string-parameter}} }}\", \"password\": \"{{ ssm-secure:{{password-secure-string-parameter}} }}\"}"], "RunList":["{\"recipe[{{cookbook-name-1}}::{{recipe-name}}]\", \"recipe[{{cookbook-name-2}}::{{recipe-name}}]\"}"], "JsonAttributesContent": ["{{{custom-json-content}}}"], "JsonAttributesSources": "{\"sourceType\":\"s3\", \"sourceInfo\":\"{{s3-bucket-endpoint-1}}\"}, {\"sourceType\":\"s3\", \"sourceInfo\":\"{{s3-bucket-endpoint-2}}\"}", "ChefClientVersion": ["{{version-number}}"], "ChefClientArguments":["{{{chef-client-arguments}}}"], "WhyRun": {{boolean}}, "ComplianceSeverity": ["{{severity-value}}"], "ComplianceType": ["Custom:Chef"], "ComplianceReportBucket": ["{{s3-bucket-name}}"]}' \
          --association-name "{{name}}" ^
          --schedule-expression "{{cron-or-rate-expression}}"
      ```

------

   1. **Sumber Amazon S3**

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

      ```
      aws ssm create-association --name "AWS-ApplyChefRecipes" \
          --targets Key=tag:{{TagKey}},Values={{TagValue}} \
          --parameters '{"SourceType":["S3"],"SourceInfo":["{\"path\":\"https://s3.amazonaws.com/{{path_to_Zip_file,_directory,_or_cookbook_to_download}}\"}"], "RunList":["{\"recipe[{{cookbook_name1}}::{{recipe_name}}]\", \"recipe[{{cookbook_name2}}::{{recipe_name}}]\"}"], "JsonAttributesContent": ["{{{Custom_JSON}}}"], "ChefClientVersion": ["{{version_number}}"], "ChefClientArguments":["{{{chef_client_arguments}}}"], "WhyRun": {{true_or_false}}, "ComplianceSeverity": ["{{severity_value}}"], "ComplianceType": ["Custom:Chef"], "ComplianceReportBucket": ["amzn-s3-demo-bucket"]}' \
          --association-name "{{name}}" \
          --schedule-expression "{{cron_or_rate_expression}}"
      ```

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

      ```
      aws ssm create-association --name "AWS-ApplyChefRecipes" ^
          --targets Key=tag:{{TagKey}},Values={{TagValue}} ^
          --parameters '{"SourceType":["S3"],"SourceInfo":["{\"path\":\"https://s3.amazonaws.com/{{path_to_Zip_file,_directory,_or_cookbook_to_download}}\"}"], "RunList":["{\"recipe[{{cookbook_name1}}::{{recipe_name}}]\", \"recipe[{{cookbook_name2}}::{{recipe_name}}]\"}"], "JsonAttributesContent": ["{{{Custom_JSON}}}"], "ChefClientVersion": ["{{version_number}}"], "ChefClientArguments":["{{{chef_client_arguments}}}"], "WhyRun": {{true_or_false}}, "ComplianceSeverity": ["{{severity_value}}"], "ComplianceType": ["Custom:Chef"], "ComplianceReportBucket": ["amzn-s3-demo-bucket"]}' ^
          --association-name "{{name}}" ^
          --schedule-expression "{{cron_or_rate_expression}}"
      ```

------

      Ini contohnya.

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

      ```
      aws ssm create-association --name "AWS-ApplyChefRecipes" \
          --targets "Key=tag:OS,Values= Linux" \
          --parameters '{"SourceType":["S3"],"SourceInfo":["{\"path\":\"https://s3.amazonaws.com/amzn-s3-demo-bucket/HelloWorld\"}"], "RunList":["{\"recipe[HelloWorld::HelloWorldRecipe]\", \"recipe[HelloWorld::InstallApp]\"}"], "JsonAttributesContent": ["{\"state\": \"visible\",\"colors\": {\"foreground\": \"light-blue\",\"background\": \"dark-gray\"}}"], "ChefClientVersion": ["14"], "ChefClientArguments":["{--fips}"], "WhyRun": false, "ComplianceSeverity": ["Medium"], "ComplianceType": ["Custom:Chef"], "ComplianceReportBucket": ["ChefComplianceResultsBucket"]}' \
          --association-name "{{name}}" \
          --schedule-expression "cron(0 2 ? * SUN *)"
      ```

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

      ```
      aws ssm create-association --name "AWS-ApplyChefRecipes" ^
          --targets "Key=tag:OS,Values= Linux" ^
          --parameters '{"SourceType":["S3"],"SourceInfo":["{\"path\":\"https://s3.amazonaws.com/amzn-s3-demo-bucket/HelloWorld\"}"], "RunList":["{\"recipe[HelloWorld::HelloWorldRecipe]\", \"recipe[HelloWorld::InstallApp]\"}"], "JsonAttributesContent": ["{\"state\": \"visible\",\"colors\": {\"foreground\": \"light-blue\",\"background\": \"dark-gray\"}}"], "ChefClientVersion": ["14"], "ChefClientArguments":["{--fips}"], "WhyRun": false, "ComplianceSeverity": ["Medium"], "ComplianceType": ["Custom:Chef"], "ComplianceReportBucket": ["ChefComplianceResultsBucket"]}' ^
          --association-name "{{name}}" ^
          --schedule-expression "cron(0 2 ? * SUN *)"
      ```

------

      Sistem membuat asosiasi, dan kecuali ekspresi cron atau rate yang Anda tentukan mencegahnya, sistem menjalankan asosiasi pada node target.
**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).

1. Jalankan perintah berikut untuk melihat status asosiasi yang baru saja Anda buat. 

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

## Melihat detail kepatuhan sumber daya Chef
<a name="state-manager-chef-compliance"></a>

Systems Manager menangkap informasi kepatuhan tentang sumber daya yang Chef dikelola dalam nilai bucket **laporan Kepatuhan Amazon S3** yang ditentukan saat menjalankan dokumen. `AWS-ApplyChefRecipes` Mencari informasi tentang kegagalan Chef sumber daya dalam bucket S3 dapat memakan waktu. Sebaliknya, Anda dapat melihat informasi ini pada halaman **Kepatuhan** Systems Manager.

Pemindaian Kepatuhan Systems Manager mengumpulkan informasi tentang sumber daya pada node terkelola yang dibuat atau diperiksa dalam proses terbaruChef. Sumber daya dapat mencakup file, direktori, layanan `systemd`, paket `yum`, file templat, paket `gem`, dan buku masak dependen, di antaranya.

Bagian **Ringkasan sumber daya kepatuhan** menampilkan jumlah sumber daya yang gagal. Dalam contoh berikut, **ComplianceType**adalah **Custom: Chef** dan satu sumber daya tidak sesuai.

**catatan**  
`Custom:Chef`adalah **ComplianceType**nilai default dalam `AWS-ApplyChefRecipes` dokumen. Nilai ini dapat disesuaikan.

![Melihat jumlah di bagian Ringkasan sumber daya kepatuhan dari halaman Kepatuhan.](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/images/state-manager-chef-compliance-summary.png)


Bagian **Ikhtisar detail untuk sumber** daya menunjukkan informasi tentang AWS sumber daya yang tidak sesuai. Bagian ini juga mencakup jenis Chef sumber daya yang digunakan untuk menjalankan kepatuhan, tingkat keparahan masalah, status kepatuhan, dan tautan ke informasi lebih lanjut bila berlaku.

![Melihat detail kepatuhan untuk kegagalan sumber daya Chef terkelola](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/images/state-manager-chef-compliance-details.png)


**Melihat output** menunjukkan 4.000 karakter terakhir dari status terperinci. Systems Manager dimulai dengan pengecualian sebagai elemen pertama, menemukan pesan verbose, dan menunjukkannya sampai mencapai kuota karakter 4.000. Proses ini menampilkan pesan log yang dikeluarkan sebelum pengecualian diluncurkan, yang merupakan pesan yang paling relevan untuk pemecahan masalah.

Untuk informasi tentang cara melihat informasi kepatuhan, lihat [AWS Systems Manager Kepatuhan](systems-manager-compliance.md).

**penting**  
Jika State Manager asosiasi gagal, tidak ada data kepatuhan yang dilaporkan. Misalnya, jika Systems Manager mencoba mengunduh Chef buku masak dari bucket S3 yang tidak memiliki izin untuk diakses oleh node, asosiasi gagal, dan Systems Manager tidak melaporkan data kepatuhan.