Menerapkan Resep untuk Chef 11.4 Stacks - AWS OpsWorks

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

Menerapkan Resep untuk Chef 11.4 Stacks

penting

AWS OpsWorks Stackstidak lagi menerima pelanggan baru. Pelanggan yang sudah ada akan dapat menggunakan OpsWorks konsol, API, CLI, dan CloudFormation sumber daya seperti biasa hingga 26 Mei 2024, pada saat itu mereka akan dihentikan. Untuk mempersiapkan transisi ini, kami sarankan Anda mentransisikan tumpukan Anda AWS Systems Manager sesegera mungkin. Untuk informasi selengkapnya, lihat AWS OpsWorks StacksFAQ Akhir Kehidupan dan Migrasi AWS OpsWorks Stacks aplikasi Anda ke Manajer AWS Systems Manager Aplikasi.

penting

Jangan gunakan kembali nama buku masak bawaan untuk buku masak khusus atau komunitas. Buku masak khusus yang memiliki nama yang sama dengan buku masak bawaan mungkin gagal. Untuk daftar lengkap buku masak bawaan yang tersedia dengan tumpukan Chef 11.10, 11.4, dan 0.9, lihat repositori opsworks-cookbooks di. GitHub

Keterbatasan utama tumpukan Chef 11.4 adalah bahwa resep tidak dapat menggunakan pencarian Chef atau kantong data. Namun, AWS OpsWorks Stacks menginstal konfigurasi tumpukan dan atribut penerapan pada setiap instance yang berisi banyak informasi yang akan Anda peroleh dengan pencarian, termasuk yang berikut ini:

  • Data yang ditentukan pengguna dari konsol seperti nama host atau aplikasi.

  • Tumpuk data konfigurasi yang dihasilkan oleh layanan AWS OpsWorks Stacks, seperti lapisan tumpukan, aplikasi, dan instance, dan detail tentang setiap instance seperti alamat IP.

  • Atribut JSON kustom yang berisi data yang disediakan oleh pengguna dan dapat melayani banyak tujuan yang sama seperti tas data.

AWS OpsWorksStacks menginstal versi konfigurasi tumpukan dan atribut penerapan saat ini pada setiap instance untuk setiap peristiwa siklus hidup, sebelum memulai Chef run acara. Data tersedia untuk resep melalui node[:attribute][:child_attribute][...] sintaks standar. Misalnya, konfigurasi tumpukan dan atribut penerapan menyertakan nama tumpukan,node[:opsworks][:stack][:name].

Kutipan berikut dari salah satu resep bawaan memperoleh nama tumpukan dan menggunakannya untuk membuat file konfigurasi.

template '/etc/ganglia/gmetad.conf' do source 'gmetad.conf.erb' mode '0644' variables :stack_name => node[:opsworks][:stack][:name] notifies :restart, "service[gmetad]" end

Banyak konfigurasi stack dan nilai atribut deployment berisi beberapa atribut. Anda harus mengulangi atribut-atribut ini untuk mendapatkan informasi yang Anda butuhkan. Contoh di bawah ini menunjukkan kutipan dari konfigurasi tumpukan dan atribut penerapan, yang direpresentasikan sebagai objek JSON untuk kenyamanan. Ini berisi atribut tingkat atasdeploy, yang berisi atribut untuk setiap aplikasi tumpukan, dinamai dengan nama pendek aplikasi.

{ ... "deploy": { "app1_shortname": { "document_root": "app1_root", "deploy_to": "deploy_directory", "application_type": "php", ... }, "app2_shortname": { "document_root": "app2_root", ... } }, ... }

Setiap atribut aplikasi berisi satu set atribut yang menjadi ciri aplikasi. Misalnya, deploy_to atribut mewakili direktori penerapan aplikasi. Kutipan berikut menetapkan pengguna, grup, dan jalur untuk setiap direktori penerapan aplikasi.

node[:deploy].each do |application, deploy| opsworks_deploy_dir do user deploy[:user] group deploy[:group] path deploy[:deploy_to] end ... end

Untuk informasi selengkapnya tentang konfigurasi tumpukan dan atribut penerapan, lihatMenyesuaikan Tumpukan AWS OpsWorks. Untuk informasi selengkapnya tentang direktori penerapan, lihat. Menyebarkan Resep

Tumpukan Chef 11.4 tidak mendukung kantong data, tetapi Anda dapat menambahkan data arbitrer ke konfigurasi tumpukan dan atribut penerapan dengan menentukan JSON khusus. Resep Anda kemudian dapat mengakses data dengan menggunakan sintaks simpul Chef standar. Untuk informasi selengkapnya, lihat Menggunakan JSON Kustom.

Jika Anda memerlukan fungsionalitas tas data terenkripsi, salah satu opsi adalah menyimpan atribut sensitif di lokasi yang aman seperti bucket Amazon S3 pribadi. Resep Anda kemudian dapat menggunakan AWS Ruby SDK —yang diinstal pada semua instans AWS OpsWorks Stacks—untuk mengunduh data dari bucket.

catatan

Setiap instance AWS OpsWorks Stacks memiliki profil instance. Peran IAM terkait menentukan sumber daya AWS mana yang dapat diakses oleh aplikasi yang berjalan pada instance. Agar resep Anda dapat mengakses bucket Amazon S3, kebijakan peran harus menyertakan pernyataan yang mirip dengan berikut ini, yang memberikan izin untuk mengambil file dari bucket tertentu.

"Action": ["s3:GetObject"], "Effect": "Allow", "Resource": "arn:aws:s3:::yourbucketname/*",

Untuk informasi lebih lanjut tentang profil instans, lihatMenentukan Izin untuk Aplikasi yang Berjalan di instans EC2.