

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

# Mengganti Atribut OpsWorks Stacks Menggunakan Atribut Cookbook Kustom
<a name="workingcookbook-cookbook-attributes"></a>

**penting**  
 AWS OpsWorks Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Dukungan Tim di [AWS re:Post](https://repost.aws/) atau melalui [AWS Dukungan](https://aws.amazon.com/support) Premium.

**catatan**  
Untuk tumpukan Windows, OpsWorks Stacks menggunakan Chef yang dijalankan terpisah untuk resep bawaan dan resep khusus. Ini berarti Anda tidak dapat menggunakan teknik yang dibahas di bagian ini untuk mengganti atribut bawaan untuk tumpukan Windows.

Custom JSON adalah cara mudah untuk mengganti konfigurasi tumpukan OpsWorks Stacks dan atribut buku masak bawaan, tetapi memiliki beberapa keterbatasan. Secara khusus, Anda harus memasukkan JSON khusus secara manual untuk setiap penggunaan, sehingga Anda tidak memiliki cara yang kuat untuk mengelola definisi. Pendekatan yang lebih baik adalah sering menggunakan file atribut buku masak khusus untuk mengganti atribut bawaan. Melakukannya memungkinkan Anda untuk menempatkan definisi di bawah kendali sumber.

Prosedur untuk menggunakan file atribut khusus untuk mengganti definisi OpsWorks Stacks sangat mudah.

**Untuk mengganti definisi atribut OpsWorks Stacks**

1. Siapkan repositori buku masak, seperti yang dijelaskan dalam. [Buku Masak dan Resep](workingcookbook.md)

1. Buat buku masak dengan nama yang sama dengan buku masak bawaan yang berisi atribut yang ingin Anda timpa. Misalnya, untuk mengganti atribut Apache, buku masak harus diberi nama apache2. 

1. Tambahkan `attributes` folder ke buku masak dan tambahkan file ke folder bernama `customize.rb` itu. 

1. Tambahkan definisi atribut ke file untuk setiap atribut buku masak bawaan yang ingin Anda timpa, setel ke nilai pilihan Anda. Atribut harus `normal` tipe atau lebih tinggi dan memiliki nama node yang sama persis dengan atribut OpsWorks Stacks yang sesuai. Untuk daftar detail atribut OpsWorks Stacks, termasuk nama node, lihat [Konfigurasi Stack dan Atribut Deployment: Linux](attributes-json-linux.md) dan[Atribut Buku Masak Bawaan](attributes-recipes.md). Untuk informasi selengkapnya tentang atribut dan atribut file, lihat [Tentang File Atribut](http://docs.chef.io/attributes.html).
**penting**  
Atribut Anda harus `normal` tipe untuk mengganti atribut OpsWorks Stacks; `default` tipe tidak diutamakan. Misalnya, jika `customize.rb` file Anda berisi definisi `default[:apache][:keepalivetimeout] = 5` atribut, atribut yang sesuai dalam file `apache.rb` atribut bawaan dievaluasi terlebih dahulu, dan diutamakan. Untuk informasi selengkapnya, lihat [Mengesampingkan Atribut](workingcookbook-attributes.md).

1. Ulangi Langkah 2 - 4 untuk setiap buku masak bawaan dengan atribut yang ingin Anda timpa.

1. Aktifkan buku masak khusus untuk tumpukan Anda dan berikan informasi yang diperlukan untuk OpsWorks Stacks untuk mengunduh buku masak Anda ke instance tumpukan. Untuk informasi selengkapnya, lihat [Memasang Buku Masak Kustom](workingcookbook-installingcustom-enable.md).

**catatan**  
Untuk panduan lengkap tentang prosedur ini, lihat. [Mengesampingkan Atribut Bawaan](cookbooks-101-opsworks-attributes.md)

Objek node yang digunakan oleh peristiwa siklus hidup berikutnya, perintah penerapan, dan perintah tumpukan sekarang akan berisi definisi atribut Anda, bukan nilai Stacks. OpsWorks 

Misalnya, untuk mengganti Apache bawaan `keepalivetimeout` dan `logrotate schedule` pengaturan yang dibahas di[Cara Menentukan JSON Kustom](workingcookbook-json-override.md#workingcookbook-json-override-specify), tambahkan `apache2` buku masak ke repositori Anda dan tambahkan `customize.rb` file ke folder buku masak dengan konten berikut. `attributes`

```
normal[:apache][:keepalivetimeout] = 5
normal[:apache][:logrotate][:schedule] = 'weekly'
```

**penting**  
Anda tidak boleh mengganti atribut OpsWorks Stacks dengan memodifikasi salinan file atribut bawaan terkait. Jika, misalnya, Anda menyalin `apache.rb` ke `apache2/attributes` folder Anda dan memodifikasi beberapa pengaturannya, Anda pada dasarnya mengganti setiap atribut dalam file bawaan. Resep akan menggunakan definisi atribut dari salinan Anda dan mengabaikan file bawaan. Jika OpsWorks Stacks kemudian memodifikasi file atribut bawaan, resep tidak akan memiliki akses ke perubahan kecuali Anda memperbarui salinan Anda secara manual.   
Untuk menghindari situasi ini, semua buku masak bawaan berisi file `customize.rb` atribut kosong, yang diperlukan di semua modul melalui `include_attribute` arahan. Dengan mengganti atribut dalam salinan Anda`customize.rb`, Anda hanya memengaruhi atribut spesifik tersebut. Resep akan mendapatkan nilai atribut lain dari file atribut bawaan, dan secara otomatis mendapatkan nilai saat ini dari atribut apa pun yang belum Anda ganti.  
Pendekatan ini membantu Anda menjaga jumlah atribut di repositori buku masak Anda tetap kecil, yang mengurangi overhead pemeliharaan Anda dan membuat upgrade future lebih mudah dikelola.