

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

# Menggunakan Pencarian di Linux Stack
<a name="cookbooks-101-opsworks-opsworks-stack-config-search-linux"></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.

Contoh ini didasarkan pada tumpukan Linux dengan satu server aplikasi PHP. Ini menggunakan pencarian Chef untuk mendapatkan alamat IP publik server dan menempatkan alamat dalam file di `/tmp` direktori. Ini mengambil pada dasarnya informasi yang sama dari objek node seperti[Memperoleh Nilai Atribut Secara Langsung](cookbooks-101-opsworks-opsworks-stack-config-node.md), tetapi kodenya jauh lebih sederhana dan tidak tergantung pada detail konfigurasi tumpukan dan struktur atribut penyebaran.

Berikut ini secara singkat merangkum cara membuat tumpukan untuk contoh ini. Untuk informasi selengkapnya, lihat [Buat Stack Baru](workingstacks-creating.md).

**catatan**  
Jika Anda belum menjalankan resep khusus pada instance OpsWorks Stacks sebelumnya, Anda harus terlebih dahulu melihat [Menjalankan Resep pada Instance Linux](cookbooks-101-opsworks-opsworks-instance.md) contoh tersebut.

**Buat tumpukan**

1. Buka [konsol OpsWorks Stacks](https://console.aws.amazon.com/opsworks/) dan klik **Add Stack**.

1. **Tentukan pengaturan berikut, terima default untuk pengaturan lainnya, dan klik Tambahkan Tumpukan.**
   + **Nama** — SearchJSON
   + **Kunci SSH default** - Sebuah EC2 key pair Amazon

   Jika Anda perlu membuat EC2 key pair Amazon, lihat [Amazon EC2 Key Pairs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html). Perhatikan bahwa key pair harus memiliki wilayah AWS yang sama dengan instans. Contohnya menggunakan wilayah AS Barat (Oregon).

1. Klik **Add a layer** dan [tambahkan layer PHP App Server](workinglayers-custom.md) ke stack dengan pengaturan default.

1. [Tambahkan instance 24/7](workinginstances-add.md) dengan pengaturan default ke layer dan [mulai](workinginstances-starting.md).

**Untuk mengatur buku masak**

1. Buat direktori dalam `opsworks_cookbooks` bernama `searchjson` dan navigasikan ke sana.

1. Buat `metadata.rb` file dengan konten berikut dan simpan ke`opstest`.

   ```
   name "searchjson"
   version "0.1.0"
   ```

1. Buat `recipes` direktori di dalamnya`searchjson`.

1. Buat `default.rb` file dengan resep berikut dan simpan ke `recipes` direktori.

   ```
   phpserver = search(:node, "layers:php-app").first
   Chef::Log.info("**********The public IP address is: '#{phpserver[:ip]}'**********")
   
   file "/tmp/ip_addresses" do
     content "#{phpserver[:ip]}"
     mode 0644
     action :create
   end
   ```

   Tumpukan Linux hanya mendukung indeks `node` pencarian. Resep menggunakan indeks ini untuk mendapatkan daftar contoh di `php-app` lapisan. Karena lapisan diketahui hanya memiliki satu contoh, resep hanya menetapkan yang pertama. `phpserver` Jika layer memiliki beberapa instance, Anda dapat menghitungnya untuk mengambil informasi yang diperlukan. Setiap item daftar adalah tabel hash yang berisi satu set atribut instance. `ip`Atribut diatur ke alamat IP publik instans, sehingga Anda dapat mewakili alamat tersebut dalam kode resep berikutnya sebagai`phpserver[:ip]`.

   Setelah menambahkan pesan ke log Chef, resep kemudian menggunakan [https://docs.chef.io/chef/resources.html#file](https://docs.chef.io/chef/resources.html#file)sumber daya untuk membuat file bernama`ip_addresses`. `content`Atribut diatur ke representasi string dari`phpserver[:ip]`. Saat Chef membuat`ip_addresses`, ia menambahkan string itu ke file.

1. Buat `.zip` arsip`opsworks_cookbooks`, [Unggah arsip ke bucket Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/UG/UploadingObjectsintoAmazonS3.html), [buat arsip publik](https://docs.aws.amazon.com/AmazonS3/latest/UG/EditingPermissionsonanObject.html), dan rekam URL arsip. Untuk informasi lebih lanjut tentang repositori buku masak, lihat. [Repositori Buku Masak](workingcookbook-installingcustom-repo.md)

   Konten yang dikirimkan ke bucket Amazon S3 mungkin berisi konten pelanggan. Untuk informasi selengkapnya tentang menghapus data sensitif, lihat [Bagaimana Cara Mengosongkan Bucket S3?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/empty-bucket.html) atau [Bagaimana Saya Menghapus Bucket S3?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html) .

Anda sekarang dapat menginstal buku masak dan menjalankan resepnya.

**Untuk menjalankan resep**

1. [Edit tumpukan untuk mengaktifkan buku masak khusus](workingcookbook-installingcustom-enable.md), dan tentukan pengaturan berikut.
   + **Jenis repositori** **- Arsip Http**
   + URL **Repositori — URL** arsip buku masak yang Anda rekam sebelumnya

   Gunakan nilai default untuk pengaturan lain dan klik **Simpan** untuk memperbarui konfigurasi tumpukan.

1. Edit konfigurasi lapisan kustom dan [tetapkan `searchjson::default`](workingcookbook-assigningcustom.md) ke acara Setup layer. OpsWorks Tumpukan akan menjalankan resep setelah instance boot atau jika Anda secara eksplisit memicu peristiwa Pengaturan.

1. [Jalankan perintah tumpukan Perbarui Buku Masak Kustom](workingstacks-commands.md), yang menginstal versi repositori buku masak kustom Anda saat ini pada instance tumpukan. Jika versi sebelumnya dari repositori hadir, perintah ini menimpa itu.

1. Jalankan resep dengan menjalankan perintah **Setup** stack, yang memicu peristiwa Setup pada instance dan berjalan`searchjson::default`. Biarkan **halaman pengaturan perintah Running** terbuka.

Setelah resep berhasil berjalan, Anda dapat memverifikasinya.

**Untuk memverifikasi searchjson**

1. Langkah pertama adalah memeriksa [log Chef](troubleshoot-debug-log.md) untuk acara Pengaturan terbaru. Pada **halaman pengaturan perintah Running**, klik **tampilkan** di kolom **Log instans php-app1 untuk menampilkan log**. Gulir ke bawah untuk menemukan pesan log Anda di dekat tengah, yang akan terlihat seperti berikut ini.

   ```
   ...
   [2014-09-05T17:08:41+00:00] WARN: Previous bash[logdir_existence_and_restart_apache2]: ...
   [2014-09-05T17:08:41+00:00] WARN: Current  bash[logdir_existence_and_restart_apache2]: ...
   [2014-09-05T17:08:41+00:00] INFO: **********The public IP address is: '192.0.2.0'**********
   [2014-09-05T17:08:41+00:00] INFO: Processing directory[/etc/sysctl.d] action create (opsworks_initial_setup::sysctl line 1)
   ...
   ```

1. [Gunakan SSH untuk masuk ke instance](workinginstances-ssh.md) dan daftar isi`/tmp`, yang harus menyertakan file bernama `ip_addresses` yang berisi alamat IP.