Langkah 3: Buat dan Terapkan Buku Masak Kustom - AWS OpsWorks

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

Langkah 3: Buat dan Terapkan Buku Masak Kustom

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 Support Tim di AWS re:Post atau melalui AWS Dukungan Premium.

Tumpukan belum cukup siap:

  • Aplikasi Anda memerlukan beberapa informasi untuk mengakses ke server database MySQL dan bucket Amazon S3, seperti nama host database dan nama bucket Amazon S3.

  • Anda perlu menyiapkan database di server database MySQL dan membuat tabel untuk menyimpan metadata foto.

Anda dapat menangani tugas-tugas ini secara manual, tetapi pendekatan yang lebih baik adalah menerapkan resep Chef dan meminta AWS OpsWorks Stacks menjalankan resep secara otomatis pada instance yang sesuai. Resep koki adalah aplikasi Ruby khusus yang digunakan AWS OpsWorks Stacks untuk melakukan tugas pada instance seperti menginstal paket atau membuat file konfigurasi. Mereka dikemas dalam buku masak, yang dapat berisi beberapa resep dan file terkait seperti template untuk file konfigurasi. Buku masak ditempatkan di repositori seperti GitHub, dan harus memiliki struktur direktori standar. Jika Anda belum memiliki repositori buku masak khusus, lihat Repositori Buku Masak untuk informasi tentang cara mengaturnya.

Untuk contoh ini, buku masak telah diimplementasikan untuk Anda dan disimpan dalam GitHub repositori publik. Buku masak berisi dua resep, appsetup.rb dandbsetup.rb, dan file templat,db-connect.php.erb.

appsetup.rbResep membuat file konfigurasi yang berisi informasi yang dibutuhkan aplikasi untuk mengakses database dan bucket Amazon S3. Ini pada dasarnya adalah versi appsetup.rb resep yang dimodifikasi ringan yang dijelaskan dalamConnect Aplikasi ke Database. Perbedaan utama adalah variabel yang diteruskan ke template, yang mewakili informasi akses.

Empat atribut pertama menentukan pengaturan koneksi database, dan secara otomatis ditentukan oleh AWS OpsWorks Stacks ketika Anda membuat instance MySQL.

Ada dua perbedaan antara variabel-variabel ini dan yang ada di resep aslinya:

  • Seperti resep asli, table variabel mewakili nama tabel database yang dibuat olehdbsetup.rb, dan diatur ke nilai atribut yang didefinisikan dalam file atribut buku masak.

    Namun, atribut memiliki nama yang berbeda:[:photoapp][:dbtable].

  • s3bucketVariabel khusus untuk contoh ini dan disetel ke nilai atribut yang mewakili nama bucket Amazon S3,. [:photobucket]

    [:photobucket]didefinisikan dengan menggunakan JSON kustom, seperti yang dijelaskan nanti. Untuk informasi lebih lanjut tentang atribut, lihat Atribut

Untuk informasi lebih lanjut tentang atribut, lihatAtribut.

dbsetup.rbResep menyiapkan tabel database untuk menyimpan metadata setiap foto. Ini pada dasarnya adalah versi dbsetup.rb resep yang dimodifikasi ringan yang dijelaskan dalamMengatur Database; lihat topik itu untuk deskripsi rinci.

Satu-satunya perbedaan antara contoh ini dan resep asli adalah skema database, yang memiliki tiga kolom yang berisi ID, URL, dan keterangan dari setiap foto yang disimpan di bucket Amazon S3.

Resep sudah diterapkan, jadi yang perlu Anda lakukan hanyalah menyebarkan buku masak photoapp ke cache buku masak setiap instance. AWS OpsWorks Stacks kemudian menjalankan resep cache ketika peristiwa siklus hidup yang sesuai terjadi, seperti yang dijelaskan nanti.

Untuk menyebarkan buku masak photoapp
  1. Pada halaman AWS OpsWorks Stacks Stack, pilih Stack Settings dan kemudian pilih Edit.

  2. Di bagian Manajemen Konfigurasi:

    • Atur Gunakan buku masak Chef khusus ke Ya.

    • Atur jenis Repositori ke Git.

    • Setel URL Repositori ke. git://github.com/amazonwebservices/opsworks-example-cookbooks.git

  3. Pada halaman Stack, pilih Run Command, pilih perintah Update Custom Cookbooks stack, dan kemudian pilih Update Custom Cookbooks untuk menginstal buku masak baru di cache buku masak contoh.