Menyiapkan runbook Otomatisasi - AWS Systems Manager

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

Menyiapkan runbook Otomatisasi

Setiap runbook di OtomatisasiAWS Systems Manager mendefinisikan otomatisasi. Runbook otomatisasi menentukan tindakan yang dilakukan selama otomatisasi. Dalam konten runbook, Anda mendefinisikan parameter input, output, dan tindakan yang dilakukan Systems Manager pada instans terkelola Anda danAWS sumber daya.

Otomatisasi mencakup beberapa runbook yang telah ditetapkan dan dapat Anda gunakan untuk melakukan beberapa tugas umum seperti memulai ulang satu instans Amazon Elastic Compute Cloud (Amazon EC2) atau lebih atau membuatAmazon 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 YAKL atau JSON. Jika Anda tidak terbiasa dengan YAKL atau JSON, sebaiknya gunakan Document Builder, atau pelajari lebih lanjut tentang bahasa markup sebelum mencoba membuat runbook Anda sendiri. Untuk informasi selengkapnya tentang Document Builder, lihatMenggunakan Document Builder untuk membuat runbook.

Bagian berikut akan membantu Anda menulis runbook pertama Anda.

Identifikasi kasus penggunaan Anda

Langkah pertama dalam menulis runbook adalah mengidentifikasi kasus penggunaan Anda. Misalnya, Anda menjadwalkanAWS-CreateImage runbook untuk berjalan setiap hari di semua instans Amazon EC2 produksi Anda. Di 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 tertuaAMI saat baruAMI dibuat. Untuk mencapai hal ini, Anda membuat runbook baru yang melakukan hal berikut:

  1. Menjalankanaws:createImage tindakan dan menentukan ID contoh dalam deskripsi gambar.

  2. Menjalankanaws:waitForAwsResourceProperty tindakan untuk polling keadaan gambar sampai ituavailable.

  3. Setelah status gambaravailable,aws:executeScript aksi menjalankan skrip Python khusus 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 tertuaAMI menggunakan ID dari output di langkah sebelumnya.

Dalam skenario ini, Anda sudah menggunakanAWS-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:executeScript danaws:invokeLambdaFunction tindakan keduanya memungkinkan Anda menjalankan skrip khusus sebagai bagian dari otomatisasi Anda. Untuk memilih di antara mereka, Anda mungkin lebih sukaaws:invokeLambdaFunction karena bahasa runtime tambahan yang didukung. Namun, Anda mungkin lebih sukaaws:executeScript karena memungkinkan Anda untuk menulis konten skrip Anda langsung di runbook YAKL dan menyediakan konten skrip sebagai lampiran untuk runbook JSON. Anda mungkin juga mempertimbangkanaws:executeScript untuk menjadi lebih sederhana dalam hal pengaturanAWS Identity and Access Management (IAM). Karena menggunakan izin yang disediakan diAutomationAssumeRole,aws:executeScript tidak memerlukan peran eksekusiAWS Lambda fungsi tambahan.

Dalam skenario tertentu, satu tindakan mungkin memberikan lebih banyak fleksibilitas, atau fungsionalitas tambahan, di atas yang lain. Oleh karena itu, kami sarankan 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 Anda mengidentifikasi kasus penggunaan Anda dan runbook yang telah ditentukan atau tindakan otomatisasi yang ingin Anda gunakan di runbook Anda, saatnya untuk mengatur lingkungan pengembangan Anda untuk konten runbook Anda. Untuk mengembangkan konten runbook Anda, sebaiknya gunakan konsol Systems Manager Documents.AWS Toolkit for Visual Studio Code

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 yang bermanfaat termasuk validasi skema untuk YAKL dan JSON, cuplikan untuk jenis tindakan otomatisasi, dan dukungan pelengkapan otomatis untuk berbagai opsi di YAKL dan JSON.

Untuk informasi selengkapnya tentang menginstal Toolkit for VS Code, lihat MenginstalAWS Toolkit for Visual Studio Code. Untuk informasi selengkapnya tentang penggunaan Toolkit for VS Code untuk mengembangkan runbook, lihat Bekerja dengan dokumen Otomatisasi Systems Manager di PanduanAWS Toolkit for Visual Studio Code Pengguna.

Kembangkan konten runbook

Dengan kasus penggunaan Anda diidentifikasi dan lingkungan diatur, Anda siap untuk 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 subset parameter input jika dibandingkan dengan tindakan lain yang memungkinkan Anda menyelesaikan tugas serupa. Tindakan lain memiliki output tertentu, sepertiaws:createImage, di mana beberapa tindakan memungkinkan Anda untuk menentukan output Anda sendiri, sepertiaws:executeAwsApi.

Jika Anda tidak yakin bagaimana menggunakan tindakan tertentu dalam runbook Anda, kami sarankan meninjau entri yang sesuai untuk tindakan diReferensi 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, lihatContoh runbook tambahan.

Untuk mendemonstrasikan 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 orang tua-anak. Runbook induk memulai otomatisasi kontrol tingkat runbook anak.

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