Menggunakan AWS OpsWorks Stacks Agent CLI - AWS OpsWorks

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

Menggunakan AWS OpsWorks Stacks Agent CLI

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

Agen CLI hanya tersedia di instance Linux.

Pada setiap contoh online, AWS OpsWorks Stacks menginstal agen, yang berkomunikasi dengan layanan. Layanan AWS OpsWorks Stacks pada gilirannya mengirimkan perintah ke agen untuk melakukan tugas-tugas seperti memulai Chef berjalan pada instance ketika peristiwa siklus hidup terjadi. Pada instance Linux, agen mengekspos antarmuka baris perintah (CLI) yang sangat berguna untuk pemecahan masalah. Untuk menjalankan perintah CLI agen, gunakan SSH untuk terhubung ke sebuah instance. Anda kemudian dapat menjalankan perintah CLI agen untuk melakukan berbagai tugas, termasuk yang berikut ini:

Untuk informasi selengkapnya tentang cara mengatur koneksi SSH ke sebuah instans, lihatLogin dengan SSH. Anda juga harus memiliki izin SSH dan sudo untuk tumpukan.

Bagian ini menjelaskan cara menggunakan agen CLI untuk pemecahan masalah. Untuk informasi selengkapnya dan referensi perintah lengkap, lihatAWS OpsWorks Agen Stacks CLI.

Mengeksekusi Resep

run_commandPerintah agen CLI mengarahkan agen untuk menjalankan kembali perintah yang dilakukan sebelumnya. Perintah yang paling berguna untuk pemecahan masalah—setup,, configuredeploy, dan undeploy —masing-masing sesuai dengan peristiwa siklus hidup. Mereka mengarahkan agen untuk memulai lari Chef untuk mengeksekusi resep terkait.

catatan

run_commandPerintah ini terbatas untuk mengeksekusi kelompok resep yang dikaitkan dengan perintah tertentu, biasanya resep yang terkait dengan peristiwa siklus hidup. Anda tidak dapat menggunakannya untuk mengeksekusi resep tertentu. Untuk menjalankan satu atau beberapa resep yang ditentukan, gunakan perintah tumpukan Execute Recipes atau CLI yang setara atau tindakan API (create-deploymentdan CreateDeployment).

run_commandPerintah ini cukup berguna untuk men-debug resep khusus, terutama resep yang ditetapkan ke peristiwa siklus hidup Pengaturan dan Konfigurasi, yang tidak dapat Anda picu langsung dari konsol. Dengan menggunakanrun_command, Anda dapat menjalankan resep acara tertentu sesering yang Anda butuhkan tanpa harus memulai atau menghentikan instance.

catatan

AWS OpsWorks Stacks menjalankan resep dari cache buku masak instance, bukan repositori buku masak. AWS OpsWorks Tumpukan mengunduh buku masak ke cache ini saat instance dimulai, tetapi tidak secara otomatis memperbarui cache pada instance online jika Anda kemudian memodifikasi buku masak Anda. Jika Anda telah memodifikasi buku masak Anda sejak memulai instance, pastikan untuk menjalankan perintah tumpukan perintah Update Cookbooks stack untuk memperbarui cache buku masak dengan versi terbaru dari repositori.

Agen hanya menyimpan perintah terbaru. Anda dapat mencantumkannya dengan menjalankan list_commands, yang mengembalikan daftar perintah yang di-cache dan waktu dilakukannya.

sudo opsworks-agent-cli list_commands 2013-02-26T19:08:26 setup 2013-02-26T19:12:01 configure 2013-02-26T19:12:05 configure 2013-02-26T19:22:12 deploy

Untuk menjalankan kembali perintah terbaru, jalankan ini:

sudo opsworks-agent-cli run_command

Untuk menjalankan kembali instance terbaru dari perintah tertentu, jalankan ini:

sudo opsworks-agent-cli run_command command

Misalnya, untuk menjalankan kembali resep Setup, Anda dapat menjalankan perintah berikut:

sudo opsworks-agent-cli run_command setup

Setiap perintah memiliki konfigurasi tumpukan terkait dan penerapan JSON yang mewakili status tumpukan dan penerapan pada saat perintah dijalankan. Karena data itu dapat berubah dari satu perintah ke perintah berikutnya, instance perintah yang lebih lama mungkin menggunakan data yang agak berbeda dari yang terbaru. Untuk menjalankan kembali instance tertentu dari sebuah perintah, salin waktu dari list_commands output dan jalankan yang berikut:

sudo opsworks-agent-cli run_command time

Contoh sebelumnya semua menjalankan kembali perintah menggunakan JSON default, yang merupakan JSON diinstal untuk perintah itu. Anda dapat menjalankan kembali perintah terhadap file JSON arbitrer sebagai berikut:

sudo opsworks-agent-cli run_command -f /path/to/valid/json.file

Menampilkan Log Chef

show_logPerintah agen CLI menampilkan log tertentu. Setelah perintah selesai, Anda akan melihat akhir file. Oleh karena itu show_log perintah menyediakan cara yang mudah untuk mengekor log, yang biasanya di mana Anda menemukan informasi kesalahan. Anda dapat menggulir ke atas untuk melihat bagian log sebelumnya.

Untuk menampilkan log perintah saat ini, jalankan ini:

sudo opsworks-agent-cli show_log

Anda juga dapat menampilkan log untuk perintah tertentu, tetapi perlu diketahui bahwa agen cache log hanya untuk tiga puluh perintah terakhir. Anda dapat membuat daftar perintah instance dengan menjalankan list_commands, yang mengembalikan daftar perintah yang di-cache dan waktu dilakukannya. Sebagai contoh, lihat Mengeksekusi Resep.

Untuk menampilkan log untuk eksekusi terbaru dari perintah tertentu, jalankan yang berikut ini:

sudo opsworks-agent-cli show_log command

Parameter perintah dapat diatur kesetup,configure,deploy,undeploy,start,stop, ataurestart. Sebagian besar perintah ini sesuai dengan peristiwa siklus hidup dan mengarahkan agen untuk menjalankan resep terkait.

Untuk menampilkan log untuk eksekusi perintah tertentu, salin tanggal dari list_commands output dan jalankan:

sudo opsworks-agent-cli show_log date

Jika perintah masih dijalankan, show_log menampilkan status log saat ini.

catatan

Salah satu cara yang digunakan show_log untuk memecahkan masalah kesalahan dan out-of-memory masalah adalah dengan mengekor log selama eksekusi, sebagai berikut:

  1. Gunakan run_command untuk memicu peristiwa siklus hidup yang sesuai. Untuk informasi selengkapnya, lihat Mengeksekusi Resep.

  2. Berulang kali berlari show_log untuk melihat ekor log saat sedang ditulis.

Jika Chef kehabisan memori atau keluar secara tak terduga, log akan berakhir tiba-tiba. Jika resep gagal, log akan berakhir dengan pengecualian dan jejak tumpukan.

Menampilkan Konfigurasi Stack dan Deployment JSON

Sebagian besar data yang digunakan oleh resep berasal dari konfigurasi tumpukan dan penerapan JSON, yang mendefinisikan satu set atribut Chef yang memberikan deskripsi rinci tentang konfigurasi tumpukan, penerapan apa pun, dan atribut kustom opsional yang dapat ditambahkan pengguna. Untuk setiap perintah, AWS OpsWorks Stacks menginstal JSON yang mewakili status tumpukan dan penerapan pada saat perintah. Untuk informasi selengkapnya, lihat Konfigurasi Stack dan Atribut Deployment.

Jika resep kustom Anda memperoleh data dari konfigurasi tumpukan dan penerapan JSON, Anda dapat memverifikasi data dengan memeriksa JSON. Cara termudah untuk menampilkan konfigurasi tumpukan dan penyebaran JSON adalah dengan menjalankan get_jsonperintah agen CLI, yang menampilkan versi diformat dari objek JSON. Berikut ini menunjukkan beberapa baris pertama dari beberapa output tipikal:

{ "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": "10.112.235.192", "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-10-112-235-192.us-west-2.compute.amazonaws.com" ...

Anda dapat menampilkan konfigurasi tumpukan terbaru dan penyebaran JSON sebagai berikut:

sudo opsworks-agent-cli get_json

Anda dapat menampilkan konfigurasi tumpukan terbaru dan penyebaran JSON untuk perintah tertentu dengan menjalankan yang berikut:

sudo opsworks-agent-cli get_json command

Parameter perintah dapat diatur kesetup,configure,deploy,undeploy,start,stop, ataurestart. Sebagian besar perintah ini sesuai dengan peristiwa siklus hidup dan mengarahkan agen untuk menjalankan resep terkait.

Anda dapat menampilkan konfigurasi tumpukan dan penerapan JSON untuk eksekusi perintah tertentu dengan menentukan tanggal perintah seperti ini:

sudo opsworks-agent-cli get_json date

Cara paling sederhana untuk menggunakan perintah ini adalah sebagai berikut:

  1. Runlist_commands, yang mengembalikan daftar perintah yang telah dijalankan pada instance, dan tanggal setiap perintah dijalankan.

  2. Salin tanggal untuk perintah yang sesuai dan gunakan sebagai argumen get_json tanggal.