Mengesampingkan Template Bawaan - AWS OpsWorks

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

Mengesampingkan Template Bawaan

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.

catatan

Topik ini hanya berlaku untuk tumpukan Linux. Anda tidak dapat mengganti templat bawaan di tumpukan Windows.

Resep bawaan AWS OpsWorks Stacks menggunakan templat untuk membuat file pada instance, terutama file konfigurasi untuk server, seperti Apache. Misalnya, apache2 resep menggunakan apache2.conf.erbtemplate untuk membuat file konfigurasi utama server Apache, httpd.conf (Amazon Linux) atau apache2.conf (Ubuntu).

Sebagian besar pengaturan konfigurasi dalam template ini diwakili oleh atribut, jadi cara yang lebih disukai untuk menyesuaikan file konfigurasi adalah dengan mengganti atribut bawaan yang sesuai. Sebagai contoh, lihat Mengganti Atribut Bawaan. Namun, jika pengaturan yang ingin Anda sesuaikan tidak diwakili oleh atribut bawaan, atau tidak ada dalam template sama sekali, Anda harus mengganti template itu sendiri. Topik ini menjelaskan cara mengganti template bawaan untuk menentukan pengaturan konfigurasi Apache kustom.

Anda dapat memberikan respons kesalahan kustom ke Apache dengan menambahkan ErrorDocument pengaturan ke httpd.conf file. apache2.conf.erbhanya berisi beberapa contoh yang dikomentari, seperti yang ditunjukkan dalam berikut ini:

... # # Customizable error responses come in three flavors: # 1) plain text 2) local redirects 3) external redirects # # Some examples: #ErrorDocument 500 "The server made a boo boo." #ErrorDocument 404 /missing.html #ErrorDocument 404 "/cgi-bin/missing_handler.pl" #ErrorDocument 402 http://www.example.com/subscription_info.html ...

Karena pengaturan ini adalah komentar hardcode, Anda tidak dapat menentukan nilai kustom dengan mengganti atribut; Anda harus mengganti template itu sendiri. Namun, tidak seperti atribut, tidak ada cara untuk mengganti bagian tertentu dari file template. Anda harus membuat buku masak khusus dengan nama yang sama dengan versi bawaan, menyalin file template ke subdirektori yang sama, dan memodifikasi file sesuai kebutuhan. Topik ini menunjukkan cara mengganti apache2.conf.erb untuk memberikan respons khusus terhadap kesalahan 500. Untuk diskusi umum tentang template utama, lihatMenggunakan Template Kustom.

penting

Saat Anda mengganti template Buiit-in, resep bawaan menggunakan versi template yang disesuaikan alih-alih versi bawaan. Jika AWS OpsWorks Stacks memperbarui template bawaan, template kustom menjadi tidak sinkron dan mungkin tidak berfungsi dengan benar. AWS OpsWorks Tumpukan tidak sering membuat perubahan seperti itu, dan ketika template berubah, AWS OpsWorks Stacks mencantumkan perubahan dan memberi Anda opsi untuk meningkatkan ke versi baru. Kami menyarankan Anda memantau repositori AWS OpsWorks Stacks untuk perubahan, dan memperbarui template kustom Anda secara manual sesuai kebutuhan. Perhatikan bahwa repositori memiliki cabang terpisah untuk setiap versi Chef yang didukung, jadi pastikan Anda berada di cabang yang benar.

Untuk memulai, buat buku masak khusus.

Untuk membuat buku masak
  1. Di opsworks_cookbooks direktori, buat direktori buku masak bernamaapache2, lalu arahkan ke sana. Untuk mengganti templat bawaan, buku masak khusus harus memiliki nama yang sama dengan buku masak bawaan, apache2 untuk contoh ini.

    catatan

    Jika Anda telah menyelesaikan Mengganti Atribut Bawaan penelusuran, Anda dapat menggunakan apache2 buku masak yang sama untuk contoh ini, dan lewati Langkah 2.

  2. Buat metadata.rb file dengan konten berikut, lalu simpan ke apache2 direktori.

    name "apache2" version "0.1.0"
  3. Di apache2 direktori, buat templates/default direktori..

    catatan

    templates/defaultDirektori berfungsi untuk instance Amazon Linux, yang menggunakan apache2.conf.erb templat default. Instans Ubuntu 14.04 menggunakan apache2.conf.erb template khusus sistem operasi, yang ada di direktori. templates/ubuntu-14.04 Jika Anda ingin kustomisasi diterapkan ke instance Ubuntu 14.04 juga, Anda harus mengganti template itu juga.

  4. Salin apache2.conf.erbtemplate bawaan ke templates/default direktori Anda. Buka file template, hapus komentar pada ErrorDocument 500 baris, dan berikan pesan kesalahan khusus, sebagai berikut:

    ... ErrorDocument 500 "A custom error message." #ErrorDocument 404 /missing.html ...
  5. Buat .zip arsip opsworks_cookbooks bernamaopsworks_cookbooks.zip, lalu unggah file ke bucket Amazon Simple Storage Service (Amazon S3). Untuk kesederhanaan, buat arsip publik. Rekam URL arsip untuk digunakan nanti. Anda juga dapat menyimpan buku masak Anda di arsip Amazon S3 pribadi atau dalam jenis repositori lainnya. Untuk informasi selengkapnya, lihat Repositori Buku Masak.

    Konten yang dikirimkan ke bucket Amazon S3 mungkin berisi konten pelanggan. Untuk informasi selengkapnya tentang menghapus data sensitif, lihat Bagaimana Cara Mengosongkan Bucket S3? atau Bagaimana Saya Menghapus Bucket S3? .

catatan

Untuk mempermudah, contoh ini menambahkan pesan kesalahan hardcode ke template. Untuk mengubahnya, Anda harus memodifikasi template dan menginstal ulang buku masak. Untuk memberi diri Anda fleksibilitas yang lebih besar, Anda dapat menentukan atribut kustom default untuk string kesalahan dalam file customize.rb atribut buku masak kustom dan menetapkan nilai atribut tersebut. ErrorDocument 500 Misalnya, jika Anda memberi nama atribut[:apache][:custom][:error500], baris yang sesuai apache2.conf.erb akan terlihat seperti berikut:

... ErrorDocument 500 <%= node[:apache][:custom][:error500] %> #ErrorDocument 404 /missing.html ...

Anda kemudian dapat mengubah pesan kesalahan kustom kapan saja dengan mengganti[:apache][:custom][:error500]. Jika Anda menggunakan JSON khusus untuk mengganti atribut, Anda bahkan tidak perlu menyentuh buku masak.

Untuk menggunakan template kustom, buat tumpukan dan instal buku masak.

Untuk menggunakan template kustom
  1. Buka konsol AWS OpsWorks Stacks, lalu pilih Add Stack.

  2. Tentukan pengaturan standar berikut:

    • Nama - ApacheTemplate

    • Wilayah - AS Barat (Oregon)

    • Kunci SSH default - Sebuah key pair Amazon Elastic Compute Cloud (Amazon EC2)

      Jika Anda perlu membuat key pair Amazon EC2, lihat Amazon EC2 Key Pairs. Perhatikan bahwa key pair harus memiliki wilayah AWS yang sama dengan instans.

    Pilih Lanjutan>>, pilih Gunakan buku masak Chef kustom, untuk menentukan pengaturan berikut:

    • Jenis repositori - Arsip Http

    • URL Repositori — URL arsip buku masak yang Anda rekam sebelumnya

    Terima nilai default untuk pengaturan lain, lalu pilih Tambah Tumpukan untuk membuat tumpukan.

  3. Pilih Tambahkan lapisan, lalu tambahkan lapisan Java App Server ke tumpukan dengan pengaturan default.

  4. Tambahkan instance 24/7 dengan pengaturan default ke layer, dan kemudian mulai instance.

    Sebuah instance t2.micro sudah cukup untuk contoh ini.

  5. Setelah instance online, sambungkan ke sana dengan SSH. httpd.confFile ada di /etc/httpd/conf direktori. File harus berisi ErrorDocument pengaturan kustom Anda, yang akan terlihat seperti berikut:

    ... # Some examples: ErrorDocument 500 "A custom error message." #ErrorDocument 404 /missing.html #ErrorDocument 404 "/cgi-bin/missing_handler.pl" #ErrorDocument 402 http://www.example.com/subscription_info.html ...