Menulis runbook Otomasi - AWS Systems Manager

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

Menulis runbook Otomasi

Setiap runbook dalam Otomasi, kemampuan AWS Systems Manager, mendefinisikan otomatisasi. Runbook otomatisasi menentukan tindakan yang dilakukan selama otomatisasi. Dalam konten runbook, Anda menentukan parameter input, output, dan tindakan yang dilakukan Systems Manager pada instans dan sumber daya terkelola Anda. AWS

Otomatisasi mencakup beberapa runbook yang telah ditentukan sebelumnya yang dapat Anda gunakan untuk melakukan tugas umum seperti memulai ulang satu atau beberapa instans Amazon Elastic Compute Cloud (Amazon EC2) atau membuat (). Amazon Machine Image AMI Namun, kasus penggunaan Anda mungkin melampaui kemampuan runbook yang telah ditentukan sebelumnya. Jika ini masalahnya, Anda dapat membuat runbook Anda sendiri dan memodifikasinya sesuai kebutuhan Anda.

Runbook terdiri dari tindakan otomatisasi, parameter untuk tindakan tersebut, dan parameter input yang Anda tentukan. Konten runbook ditulis dalam YAMAL atau JSON. Jika Anda tidak terbiasa dengan YAMAL atau JSON, sebaiknya gunakan desainer visual, atau pelajari lebih lanjut tentang salah satu bahasa markup sebelum mencoba membuat buku runbook Anda sendiri. Untuk informasi lebih lanjut tentang desainer visual, lihatPengalaman desain visual untuk runbook Otomasi.

Bagian berikut akan membantu Anda menulis runbook pertama Anda.

Identifikasi kasus penggunaan Anda

Langkah pertama dalam membuat runbook adalah mengidentifikasi kasus penggunaan Anda. Misalnya, Anda menjadwalkan AWS-CreateImage runbook untuk dijalankan setiap hari di semua instans Amazon EC2 produksi Anda. Pada akhir bulan, Anda memutuskan Anda memiliki lebih banyak gambar daripada yang diperlukan untuk titik pemulihan. Ke depan, Anda ingin secara otomatis menghapus instans Amazon EC2 tertua AMI saat yang baru AMI dibuat. Untuk mencapai hal ini, Anda membuat runbook baru yang melakukan hal berikut:

  1. Menjalankan aws:createImage tindakan dan menentukan ID instance dalam deskripsi gambar.

  2. Menjalankan aws:waitForAwsResourceProperty tindakan untuk polling status gambar sampai ituavailable.

  3. Setelah status gambaravailable, aws:executeScript tindakan menjalankan skrip Python kustom yang mengumpulkan ID semua gambar yang terkait dengan instans Amazon EC2 Anda. Skrip melakukan ini dengan memfilter, menggunakan ID instance dalam deskripsi gambar yang Anda tentukan saat pembuatan. Kemudian, skrip mengurutkan daftar ID gambar berdasarkan gambar dan mengeluarkan ID yang tertuaAMI. creationDate

  4. Terakhir, aws:deleteImage tindakan berjalan untuk menghapus yang tertua AMI menggunakan ID dari output dari langkah sebelumnya.

Dalam skenario ini, Anda sudah menggunakan AWS-CreateImage runbook tetapi menemukan bahwa kasus penggunaan Anda membutuhkan fleksibilitas yang lebih besar. Ini adalah situasi umum karena mungkin ada tumpang tindih antara runbook dan tindakan otomatisasi. Akibatnya, Anda mungkin harus menyesuaikan runbook atau tindakan yang Anda gunakan untuk mengatasi kasus penggunaan Anda.

Misalnya, aws:invokeLambdaFunction tindakan aws:executeScript dan keduanya memungkinkan Anda menjalankan skrip khusus sebagai bagian dari otomatisasi Anda. Untuk memilih di antara keduanya, Anda mungkin lebih suka aws:invokeLambdaFunction karena bahasa runtime tambahan yang didukung. Namun, Anda mungkin lebih suka aws:executeScript karena memungkinkan Anda untuk menulis konten skrip Anda secara langsung di runbook YAMAL dan menyediakan konten skrip sebagai lampiran untuk runbook JSON. Anda mungkin juga mempertimbangkan aws:executeScript untuk lebih sederhana dalam hal pengaturan AWS Identity and Access Management (IAM). Karena menggunakan izin yang disediakan diAutomationAssumeRole, aws:executeScript tidak memerlukan peran eksekusi AWS Lambda fungsi tambahan.

Dalam skenario tertentu, satu tindakan mungkin memberikan lebih banyak fleksibilitas, atau fungsionalitas tambahan, di atas yang lain. Oleh karena itu, kami menyarankan Anda meninjau parameter input yang tersedia untuk runbook atau tindakan yang ingin Anda gunakan untuk menentukan mana yang paling sesuai dengan kasus penggunaan dan preferensi Anda.

Siapkan lingkungan pengembangan Anda

Setelah mengidentifikasi kasus penggunaan dan runbook atau tindakan otomatisasi yang telah ditentukan sebelumnya yang ingin Anda gunakan di runbook, saatnya menyiapkan lingkungan pengembangan untuk konten runbook Anda. Untuk mengembangkan konten runbook Anda, sebaiknya gunakan konsol Documents Systems Manager, AWS Toolkit for Visual Studio Code bukan Systems Manager.

Toolkit for VS Code adalah ekstensi open-source untuk Visual Studio Code (VS Code) yang menawarkan lebih banyak fitur daripada konsol Systems Manager Documents. Fitur bermanfaat termasuk validasi skema untuk YAMAL dan JSON, cuplikan untuk jenis tindakan otomatisasi, dan dukungan pelengkapan otomatis untuk berbagai opsi di YAMAL dan JSON.

Untuk informasi selengkapnya tentang menginstal Toolkit for VS Code, lihat Menginstal AWS Toolkit for Visual Studio Code. Untuk informasi selengkapnya tentang penggunaan Toolkit for VS Code untuk mengembangkan runbook, lihat Bekerja dengan dokumen Otomasi Systems Manager di Panduan Pengguna AWS Toolkit for Visual Studio Code .

Kembangkan konten runbook

Dengan kasus penggunaan yang teridentifikasi dan pengaturan lingkungan, Anda siap mengembangkan konten untuk runbook Anda. Kasus penggunaan dan preferensi Anda sebagian besar akan menentukan tindakan otomatisasi atau runbook yang Anda gunakan dalam konten runbook Anda. Beberapa tindakan hanya mendukung sebagian parameter input jika dibandingkan dengan tindakan lain yang memungkinkan Anda menyelesaikan tugas serupa. Tindakan lain memiliki output spesifik, sepertiaws:createImage, di mana beberapa tindakan memungkinkan Anda untuk menentukan output Anda sendiri, seperti. aws:executeAwsApi

Jika Anda tidak yakin cara menggunakan tindakan tertentu di runbook Anda, sebaiknya tinjau entri yang sesuai untuk tindakan tersebut di. Referensi tindakan Otomatisasi Systems Manager Kami juga merekomendasikan untuk meninjau konten runbook yang telah ditentukan sebelumnya untuk melihat contoh dunia nyata tentang bagaimana tindakan ini digunakan. Untuk lebih banyak contoh aplikasi runbook dunia nyata, lihat. Contoh runbook tambahan

Untuk menunjukkan perbedaan dalam kesederhanaan dan fleksibilitas yang disediakan konten runbook, tutorial berikut memberikan contoh cara menambal grup instans Amazon EC2 secara bertahap:

  • Contoh 1: Membuat runbook orangtua-anak— Dalam contoh ini, dua runbook digunakan dalam hubungan orangtua-anak. Runbook induk memulai otomatisasi kontrol laju runbook anak.

  • Contoh 2: Skrip runbook— Contoh ini menunjukkan bagaimana Anda dapat menyelesaikan tugas yang sama dari Contoh 1 dengan memadatkan konten menjadi satu runbook dan menggunakan skrip di runbook Anda.