Konfigurasikan Resep - AWS OpsWorks

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

Konfigurasikan Resep

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.

Konfigurasi resep ditetapkan ke peristiwa siklus hidup Konfigurasi lapisan, yang terjadi pada semua instance tumpukan setiap kali instance masuk atau keluar dari status online. Anda menggunakan Configure recipes untuk menyesuaikan konfigurasi instans untuk merespons perubahan, sebagaimana mestinya. Saat Anda menerapkan resep Konfigurasi, perlu diingat bahwa perubahan konfigurasi tumpukan mungkin melibatkan instance yang tidak ada hubungannya dengan lapisan ini. Resep harus dapat merespons dengan tepat, yang mungkin berarti tidak melakukan apa-apa dalam beberapa kasus.

tomcat: :mengkonfigurasi

tomcat::configureResep ini ditujukan untuk acara siklus hidup Konfigurasi lapisan.

include_recipe 'tomcat::context' # Optional: Trigger a Tomcat restart in case of a configure event, if relevant # settings in custom JSON have changed (e.g. java_opts/JAVA_OPTS): #include_recipe 'tomcat::container_config'

tomcat::configureResepnya pada dasarnya adalah metarecipe yang menjalankan dua resep tergantung.

  1. tomcat::contextResep membuat file konfigurasi konteks aplikasi web.

    File ini mengkonfigurasi sumber daya JDBC yang digunakan aplikasi untuk berkomunikasi dengan instance MySQL, seperti yang dibahas di bagian berikutnya. Menjalankan resep ini sebagai respons terhadap peristiwa konfigurasi memungkinkan layer untuk memperbarui file konfigurasi konteks aplikasi web jika lapisan database telah berubah.

  2. Resep tomcat::container_config Pengaturan dijalankan lagi untuk menangkap perubahan apa pun dalam konfigurasi kontainer.

The include for tomcat::container_config dikomentari untuk contoh ini. Jika Anda ingin menggunakan JSON khusus untuk memodifikasi pengaturan Tomcat, Anda dapat menghapus komentar. Peristiwa siklus hidup Konfigurasi kemudian berjalantomcat::container_config, yang memperbarui file konfigurasi terkait Tomcat, seperti yang dijelaskan dalam kucing jantan: :container_config dan memulai ulang layanan Tomcat.

kucing jantan: :konteks

Cookbook Tomcat memungkinkan aplikasi untuk mengakses server database MySQL, yang dapat berjalan pada instance terpisah, dengan menggunakan objek J2EE. DataSource Dengan Tomcat, Anda dapat mengaktifkan koneksi dengan membuat dan menginstal file konfigurasi konteks aplikasi web untuk setiap aplikasi. File ini mendefinisikan hubungan antara aplikasi dan sumber daya JDBC yang akan digunakan aplikasi untuk berkomunikasi dengan database. Untuk informasi selengkapnya, lihat Context Container.

Tujuan utama tomcat::context resep adalah untuk membuat file konfigurasi ini.

include_recipe 'tomcat::service' node[:deploy].each do |application, deploy| context_name = deploy[:document_root].blank? ? application : deploy[:document_root] template "context file for #{application} (context name: #{context_name})" do path ::File.join(node['tomcat']['catalina_base_dir'], 'Catalina', 'localhost', "#{context_name}.xml") source 'webapp_context.xml.erb' owner node['tomcat']['user'] group node['tomcat']['group'] mode 0640 backup false only_if { node['datasources'][context_name] } variables(:resource_name => node['datasources'][context_name], :webapp_name => application) notifies :restart, resources(:service => 'tomcat') end end

Selain atribut buku masak Tomcat, resep ini menggunakan konfigurasi tumpukan dan atribut penerapan yang diinstal AWS OpsWorks Stacks dengan peristiwa Configure. Layanan AWS OpsWorks Stacks menambahkan atribut ke objek node setiap instance yang berisi informasi yang biasanya diperoleh resep dengan menggunakan tas data atau mencari dan menginstal atribut pada setiap instance. Atribut berisi informasi terperinci tentang konfigurasi tumpukan, aplikasi yang diterapkan, dan data kustom apa pun yang ingin disertakan pengguna. Resep dapat memperoleh data dari konfigurasi tumpukan dan atribut penerapan dengan menggunakan sintaks simpul Chef standar. Untuk informasi selengkapnya, lihat Konfigurasi Stack dan Atribut Deployment. Dengan tumpukan Chef 11.10, Anda juga dapat menggunakan pencarian Chef untuk mendapatkan konfigurasi tumpukan dan data penyebaran. Untuk informasi selengkapnya, lihat Menggunakan Pencarian Chef.

deployatribut mengacu pada [:deploy] namespace, yang berisi atribut terkait penerapan yang ditentukan melalui konsol atau API, atau dihasilkan oleh layanan Stacks. AWS OpsWorks deployAtribut menyertakan atribut untuk setiap aplikasi yang di-deploy, dinamai dengan nama pendek aplikasi. Setiap atribut app berisi sekumpulan atribut yang menjadi ciri aplikasi, seperti root dokumen ([:deploy][:appname][:document_root]).

contextResep pertama memastikan bahwa layanan ditentukan untuk Chef ini dijalankan dengan meneleponkucing jantan: :layanan. Kemudian mendefinisikan context_name variabel yang mewakili nama file konfigurasi, tidak termasuk ekstensi. .xml Jika Anda menggunakan root dokumen default, context_name disetel ke nama pendek aplikasi. Jika tidak, itu diatur ke root dokumen yang ditentukan. Contoh yang dibahas dalam Buat Stack dan Jalankan Aplikasi menetapkan root dokumen"ROOT", sehingga konteksnya adalah ROOT dan file konfigurasi diberi namaROOT.xml.

Sebagian besar resep melewati daftar aplikasi yang diterapkan dan untuk setiap aplikasi, menggunakan webapp_context.xml.erb template untuk membuat file konfigurasi konteks. Contoh ini hanya menggunakan satu aplikasi, tetapi definisi deploy atribut mengharuskan Anda untuk memperlakukannya sebagai daftar aplikasi apa pun.

webapp_context.xml.erbTemplate tidak spesifik sistem operasi, sehingga terletak di templates subdirektori direktori. default

Resep membuat file konfigurasi sebagai berikut:

  • Menggunakan nilai atribut default, nama file konfigurasi diatur ke context_name.xml dan diinstal di /etc/tomcat6/Catalina/localhost/ direktori.

    ['datasources']Node dari atribut konfigurasi tumpukan berisi satu atau lebih atribut, yang masing-masing memetakan nama konteks ke sumber daya data JDBC yang akan digunakan aplikasi terkait untuk berkomunikasi dengan database. Node dan isinya didefinisikan dengan JSON kustom saat Anda membuat tumpukan, seperti yang dijelaskan nanti. Buat Stack dan Jalankan Aplikasi Contoh ini memiliki atribut tunggal yang mengaitkan nama konteks ROOT dengan sumber daya JDBC bernama jdbc/mydb.

  • Menggunakan nilai atribut default, pengguna dan grup file keduanya diatur ke nilai yang ditentukan oleh paket Tomcat: tomcat (Amazon Linux) atau tomcat6 (Ubuntu).

  • templateSumber daya membuat file konfigurasi hanya jika ['datasources'] node ada dan menyertakan context_name atribut.

  • Sumber template daya mendefinisikan dua variabel, resource_name danwebapp_name.

    resource_namedisetel ke nama sumber daya yang dikaitkan dengan context_name dan webapp_name disetel ke nama pendek aplikasi.

  • Sumber daya template memulai ulang layanan Tomcat untuk memuat dan mengaktifkan perubahan.

webapp_context.xml.erbTemplate terdiri dari Context elemen yang berisi Resource elemen dengan set atributnya sendiri.

ResourceAtribut mencirikan konfigurasi konteks:

  • nama —Nama sumber daya JDBC, yang diatur ke resource_name nilai yang ditentukan dalam. tomcat::context

    Sebagai contoh, nama sumber daya diatur ke jdbc/mydb.

  • auth dan ketik —Ini adalah pengaturan standar untuk koneksi DataSource JDBC.

  • MaxActive, MaxIdle, dan MaxWait —Jumlah maksimum koneksi aktif dan idle, dan waktu tunggu maksimum untuk koneksi dikembalikan.

  • nama pengguna, dan kata sandi —Nama pengguna database dan kata sandi root, yang diperoleh dari deploy atribut.

  • driverClassName—Nama kelas driver JDBC, yang diatur ke driver MySQL.

  • url —URL koneksi.

    Awalan tergantung pada database. Ini harus diatur ke jdbc:mysql untuk MySQL, untuk Postgresjdbc:postgresql, jdbc:sqlserver dan untuk SQL Server. Contoh menyetel URL kejdbc:mysql://host_IP_Address:3306:simplejsp, di mana simplejsp adalah nama pendek aplikasi.

  • pabrik DataSource —Pabrik, yang diperlukan untuk database MySQL.

Untuk informasi selengkapnya tentang file konfigurasi ini, lihat DataSources topik Menggunakan wiki Tomcat.