Konfigurasi Stack dan Atribut Deployment - AWS OpsWorks

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

Konfigurasi Stack dan Atribut Deployment

penting

Bagian AWS OpsWorks Stacks layanan 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: posting atau melalui AWS Dukungan Premium.

Saat AWS OpsWorks Stacks menjalankan perintah pada instance—misalnya, perintah deploy sebagai respons terhadap peristiwa siklus hidup Deploy—ia menambahkan satu set atribut ke objek node instance yang menjelaskan konfigurasi tumpukan saat ini. Untuk Deploy event dan Execute Recipes perintah stack, AWS OpsWorks Stacks menginstal atribut deploy, yang menyediakan beberapa informasi penerapan tambahan. Untuk informasi lebih lanjut tentang objek node, lihatMengesampingkan Atribut. Untuk daftar konfigurasi tumpukan dan atribut penerapan yang umum digunakan, termasuk nama node yang sepenuhnya memenuhi syarat, lihat Konfigurasi Stack dan Atribut Deployment: Linux danAtribut Buku Masak Bawaan.

catatan

Pada tumpukan Linux, Anda bisa mendapatkan daftar lengkap atribut ini, diformat sebagai JSON objek, dengan menggunakan perintah CLI get_json agen.

Bagian berikut menunjukkan atribut yang terkait dengan peristiwa Configure dan event Deploy untuk tumpukan sederhana, yang terdiri dari berikut ini:

  • Lapisan Server PHP Aplikasi dengan dua instance

  • HAProxyLapisan dengan satu contoh

Contohnya adalah dari salah satu instance PHP App Server, php-app1. Untuk kenyamanan, atribut diformat sebagai JSON objek. Struktur objek memetakan ke nama-nama atribut yang sepenuhnya memenuhi syarat. Misalnya, node[:opsworks][:ruby_version] atribut muncul sebagai berikut dalam JSON representasi.

{ "opsworks": { ... "ruby_version": "1.8.7", ... } }

Konfigurasikan Atribut

JSONObjek berikut menunjukkan atribut untuk acara Configure, yang terjadi pada setiap instance di tumpukan saat instance online atau offline. Atribut termasuk atribut konfigurasi tumpukan bawaan dan JSONatribut khusus apa pun yang ditentukan untuk tumpukan sebelum acara (tidak ada dalam contoh ini). Ini telah diedit untuk waktu yang lama. Untuk penjelasan rinci tentang berbagai atribut, lihat Konfigurasi Stack dan Atribut Deployment: Linux danAtribut Buku Masak Bawaan.

{ "opsworks": { "layers": { "php-app": { "id": "4a2a56c8-f909-4b39-81f8-556536d20648", "instances": { "php-app2": { "elastic_ip": null, "region": "us-west-2", "booted_at": "2013-02-26T20:41:10+00:00", "ip": "192.0.2.0", "aws_instance_id": "i-34037f06", "availability_zone": "us-west-2a", "instance_type": "c1.medium", "private_dns_name": "ip-10-252-0-203.us-west-2.compute.internal", "private_ip": "10.252.0.203", "created_at": "2013-02-26T20:39:39+00:00", "status": "online", "backends": 8, "public_dns_name": "ec2-192-0-2-0.us-west-2.compute.amazonaws.com" }, "php-app1": { ... } }, "name": "PHP Application Server" }, "lb": { "id": "15c86142-d836-4191-860f-f4d310440f14", "instances": { "lb1": { ... } }, "name": "Load Balancer" } }, "agent_version": "104", "applications": [ ], "stack": { "name": "MyStack" }, "ruby_version": "1.8.7", "sent_at": 1361911623, "ruby_stack": "ruby_enterprise", "instance": { "layers": [ "php-app" ], "region": "us-west-2", "ip": "192.0.2.0", "id": "45ef378d-b87c-42be-a1b9-b67c48edafd4", "aws_instance_id": "i-32037f00", "availability_zone": "us-west-2a", "private_dns_name": "ip-10-252-84-253.us-west-2.compute.internal", "instance_type": "c1.medium", "hostname": "php-app1", "private_ip": "10.252.84.253", "backends": 8, "architecture": "i386", "public_dns_name": "ec2-192-0-2-0.us-west-2.compute.amazonaws.com" }, "activity": "configure", "rails_stack": { "name": null }, "deployment": null, "valid_client_activities": [ "reboot", "stop", "setup", "configure", "update_dependencies", "install_dependencies", "update_custom_cookbooks", "execute_recipes" ] }, "opsworks_custom_cookbooks": { "recipes": [ ], "enabled": false }, "recipes": [ "opsworks_custom_cookbooks::load", "opsworks_ganglia::configure-client", "ssh_users", "agent_version", "mod_php5_apache2::php", "php::configure", "opsworks_stack_state_sync", "opsworks_custom_cookbooks::execute", "test_suite", "opsworks_cleanup" ], "opsworks_rubygems": { "version": "1.8.24" }, "ssh_users": { }, "opsworks_bundler": { "manage_package": null, "version": "1.0.10" }, "deploy": { } }

Sebagian besar informasi berada di bawah opsworks atribut, yang sering disebut sebagai namespace. Daftar berikut menjelaskan atribut kunci:

  • layersatribut — Satu set atribut, yang masing-masing menggambarkan konfigurasi salah satu lapisan tumpukan.

    Lapisan diidentifikasi oleh nama pendek mereka, php-app dan lb untuk contoh ini. Untuk informasi selengkapnya tentang shortname untuk layer lain, lihatAWS OpsWorks Referensi Lapisan Tumpukan.

  • instancesatribut - Setiap lapisan memiliki instances elemen, yang mencakup atribut untuk setiap instance online lapisan, dinamai dengan nama pendek instance.

    Lapisan PHP App Server memiliki dua instance, php-app1 danphp-app2. HAProxyLapisan memiliki satu contoh,lb1.

    catatan

    instancesElemen hanya berisi instance yang berada dalam status online saat atribut stack dan deployment tertentu dibuat.

  • Atribut instans - Setiap atribut instance berisi sekumpulan atribut yang mencirikan instance, seperti alamat IP pribadi instans dan DNS nama pribadi. Untuk singkatnya, contoh hanya menampilkan php-app2 atribut secara rinci; yang lain berisi informasi serupa.

  • applications— Daftar aplikasi yang digunakan, tidak digunakan dalam contoh ini.

  • stack— Nama tumpukan; MyStack dalam contoh ini.

  • instance— Contoh bahwa atribut ini diinstal pada; php-app1 dalam contoh ini. Resep dapat menggunakan atribut ini untuk mendapatkan informasi tentang instance yang mereka jalankan, seperti alamat IP publik instans.

  • activity— Aktivitas yang menghasilkan atribut; sebuah peristiwa Configure dalam contoh ini.

  • rails_stack— Tumpukan Rails untuk tumpukan yang menyertakan lapisan Rails App Server.

  • deployment— Apakah atribut ini terkait dengan penerapan. Hal ini diatur untuk null untuk contoh ini karena mereka terkait dengan peristiwa Configure.

  • valid_client_activities— Daftar aktivitas klien yang valid.

opsworksAtribut diikuti oleh beberapa atribut tingkat atas lainnya, termasuk yang berikut:

  • opsworks_custom_cookbooks— Apakah buku masak khusus diaktifkan. Jika demikian, atribut menyertakan daftar resep khusus.

  • recipes— Resep yang dijalankan oleh kegiatan ini.

  • opsworks_rubygems— RubyGems Versi instans.

  • ssh_users— Daftar SSH pengguna; tidak ada dalam contoh ini.

  • opsworks_bundler— Versi bundler dan apakah itu diaktifkan.

  • deploy— Informasi tentang aktivitas penyebaran; tidak ada dalam contoh ini.

Atribut Penerapan

Atribut untuk peristiwa Deploy atau perintah tumpukan Execute Recipes terdiri dari konfigurasi tumpukan bawaan dan atribut penerapan, dan atribut tumpukan atau penerapan khusus apa pun (tidak ada untuk contoh ini). JSONObjek berikut menunjukkan atribut dari php-app1 yang terkait dengan peristiwa Deploy yang menerapkan PHP aplikasi Simple ke instance stack. PHP Sebagian besar objek terdiri dari atribut konfigurasi tumpukan yang mirip dengan yang untuk peristiwa Konfigurasi yang dijelaskan di bagian sebelumnya, jadi contoh berfokus terutama pada atribut khusus penerapan. Untuk penjelasan rinci tentang berbagai atribut, lihat Konfigurasi Stack dan Atribut Deployment: Linux danAtribut Buku Masak Bawaan.

{ ... "opsworks": { ... "activity": "deploy", "applications": [ { "slug_name": "simplephp", "name": "SimplePHP", "application_type": "php" } ], "deployment": "5e6242d7-8111-40ee-bddb-00de064ab18f", ... }, ... { "ssh_users": { }, "deploy": { "simplephpapp": { "application": "simplephpapp", "application_type": "php", "environment_variables": { "USER_ID": "168424", "USER_KEY": "somepassword" }, "auto_bundle_on_deploy": true, "deploy_to": "/srv/www/simplephpapp", "deploying_user": "arn:aws:iam::123456789012:user/guysm", "document_root": null, "domains": [ "simplephpapp" ], "migrate": false, "mounted_at": null, "rails_env": null, "restart_command": "echo 'restarting app'", "sleep_before_restart": 0, "ssl_support": false, "ssl_certificate": null, "ssl_certificate_key": null, "ssl_certificate_ca": null, "scm": { "scm_type": "git", "repository": "git://github.com/amazonwebservices/opsworks-demo-php-simple-app.git", "revision": "version1", "ssh_key": null, "user": null, "password": null }, "symlink_before_migrate": { "config/opsworks.php": "opsworks.php" }, "symlinks": { }, "database": { }, "memcached": { "host": null, "port": 11211 }, "stack": { "needs_reload": false } } }, }

opsworksAtribut ini sebagian besar identik dengan contoh di bagian sebelumnya. Bagian berikut ini paling relevan dengan penerapan:

  • activity— Peristiwa yang terkait dengan atribut ini; peristiwa Deploy dalam contoh ini.

  • applications— Berisi sekumpulan atribut untuk setiap aplikasi yang menyediakan nama, nama slug, dan jenis aplikasi.

    Nama siput adalah nama pendek aplikasi, yang AWS OpsWorks Tumpukan dihasilkan dari nama aplikasi. Nama slug untuk Simple PHP adalah simplephp.

  • deployment— ID penyebaran, yang secara unik mengidentifikasi penyebaran.

deployAtribut mencakup informasi tentang aplikasi yang sedang digunakan. Misalnya, resep Deploy bawaan menggunakan data dalam deploy atribut untuk menginstal file di direktori yang sesuai dan membuat file koneksi database. deployAtribut menyertakan satu atribut untuk setiap aplikasi yang di-deploy, dinamai dengan nama pendek aplikasi. Setiap atribut aplikasi menyertakan atribut berikut:

  • environment_variables— Berisi variabel lingkungan apa pun yang telah Anda tentukan untuk aplikasi. Untuk informasi selengkapnya, lihat Variabel lingkungan.

  • domains— Secara default, domain adalah nama pendek aplikasi, yang merupakan simplephpapp untuk contoh ini. Jika Anda telah menetapkan domain khusus, mereka muncul di sini juga. Untuk informasi selengkapnya, lihat Menggunakan Domain Kustom.

  • application— Nama pendek aplikasi.

  • scm— Elemen ini berisi informasi yang diperlukan untuk mengunduh file aplikasi dari repositorinya; sebuah repositori Git dalam contoh ini.

  • database— Informasi database, jika tumpukan menyertakan lapisan basis data.

  • document_root— Root dokumen, yang diatur ke null dalam contoh ini, menunjukkan bahwa root bersifat publik.

  • ssl_certificate_ca,ssl_support, ssl_certificate_key — Menunjukkan apakah aplikasi memiliki SSL dukungan. Jika demikian, ssl_certificate_ca atribut ssl_certificate_key dan diatur ke sertifikat yang sesuai.

  • deploy_to— Direktori root aplikasi.