View a markdown version of this page

Membuat asosiasi yang berjalan Ansible buku pedoman - AWS Systems Manager

• AWS Systems Manager CloudWatch Dasbor tidak akan lagi tersedia setelah 30 April 2026. Pelanggan dapat terus menggunakan CloudWatch konsol Amazon untuk melihat, membuat, dan mengelola dasbor Amazon CloudWatch mereka, seperti yang mereka lakukan hari ini. Untuk informasi selengkapnya, lihat dokumentasi CloudWatch Dasbor Amazon.

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

Membuat asosiasi yang berjalan Ansible buku pedoman

Anda dapat membuat State Manager asosiasi yang menjalankan Ansible playbook dengan menggunakan dokumen AWS-ApplyAnsiblePlaybooks SSM. State Manageradalah alat di AWS Systems Manager. Dokumen ini menawarkan manfaat berikut untuk menjalankan playbook:

  • Support untuk menjalankan playbook yang kompleks

  • Dukungan untuk mengunduh playbook dari GitHub dan Amazon Simple Storage Service (Amazon S3)

  • Support untuk struktur playbook yang terkompresi

  • Pencatatan yang ditingkatkan

  • Kemampuan untuk menentukan playbook mana yang akan dijalankan saat playbook dipaketkan

catatan

Manajer Sistem menyertakan dua dokumen SSM yang memungkinkan Anda membuat State Manager asosiasi yang menjalankan Ansible playbook: AWS-RunAnsiblePlaybook dan. AWS-ApplyAnsiblePlaybooks Dokumen AWS-RunAnsiblePlaybook tidak lagi digunakan. Ini tetap tersedia di Systems Manager untuk tujuan warisan. Kami menyarankan agar Anda menggunakan dokumen AWS-ApplyAnsiblePlaybooks karena peningkatan yang dijelaskan di sini.

Asosiasi yang Ansible menjalankan buku pedoman tidak didukung. macOS

Dukungan untuk menjalankan playbook yang kompleks

Dokumen AWS-ApplyAnsiblePlaybooks mendukung playbook kompleks yang dipaketkan karena akan menyalin keseluruhan struktur file ke direktori lokal sebelum mengeksekusi playbook utama yang ditentukan. Anda dapat memberikan playbook sumber dalam file Zip atau dalam struktur direktori. File Zip atau direktori dapat disimpan di GitHub atau Amazon S3.

Dukungan untuk mengunduh buku pedoman dari GitHub

Dokumen AWS-ApplyAnsiblePlaybooks menggunakan plugin aws:downloadContent untuk mengunduh file playbook. File dapat disimpan GitHub dalam satu file atau sebagai set gabungan file playbook. Untuk mengunduh konten dariGitHub, tentukan informasi tentang GitHub repositori Anda dalam format JSON. Inilah contohnya.

{ "owner":"TestUser", "repository":"GitHubTest", "path":"scripts/python/test-script", "getOptions":"branch:master", "tokenInfo":"{{ssm-secure:secure-string-token}}" }

Dukungan untuk mengunduh playbook dari Amazon S3

Anda juga dapat menyimpan dan mengunduh Ansible playbook di Amazon S3 baik sebagai file.zip tunggal atau struktur direktori. Untuk mengunduh konten dari Amazon S3, tentukan jalur ke file. Berikut ini adalah dua contoh.

Contoh 1: Unduh file playbook tertentu

{ "path":"https://s3.amazonaws.com/amzn-s3-demo-bucket/playbook.yml" }

Contoh 2: Unduh isi direktori

{ "path":"https://s3.amazonaws.com/amzn-s3-demo-bucket/ansible/webservers/" }
penting

Jika Anda menentukan Amazon S3, maka profil instance AWS Identity and Access Management (IAM) pada node terkelola Anda harus menyertakan izin untuk bucket S3. Untuk informasi selengkapnya, lihat Meng onfigurasi izin instans yang diperlukan untuk Manajer Sistem.

Dukungan untuk struktur buku pedoman terkompresi

Dokumen AWS-ApplyAnsiblePlaybooks ini memungkinkan Anda menjalankan file.zip terkompresi dalam bundel yang diunduh. Dokumen memeriksa apakah file yang diunduh berisi file yang dikompresi dalam format .zip. Jika .zip ditemukan, dokumen secara otomatis mendekompresi file dan kemudian menjalankan otomatisasi yang ditentukanAnsible.

Peningkatan logging

Dokumen AWS-ApplyAnsiblePlaybooks termasuk parameter opsional untuk menentukan tingkat pencatatan yang berbeda. Spesifikasikan -v untuk verbositas rendah, -vv atau –vvv untuk verbositas medium, dan -vvvv untuk pencatatan tingkat debug. Opsi ini langsung memetakan ke opsi Ansible verbositas.

Kemampuan untuk menentukan pedoman mana yang akan dijalankan saat playbook dibundel

Dokumen AWS-ApplyAnsiblePlaybooks menyertakan parameter yang diperlukan untuk menentukan playbook mana yang akan dijalankan ketika beberapa playbook dipaketkan. Opsi ini memberikan fleksibilitas untuk menjalankan playbook untuk men-support kasus penggunaan yang berbeda.

Memahami dependensi yang diinstal

Jika Anda menentukan True untuk InstallDependencies parameter, maka System Manager memverifikasi bahwa node Anda memiliki dependensi berikut yang diinstal:

  • Ubuntu Server/Debian Server: Apt-get (Manajemen Paket), Python 3,Ansible, Unzip

  • Versi yang didukung Amazon Linux: Ansible

  • RHEL: Python 3,Ansible, Buka zip

Jika satu atau lebih dari dependensi ini tidak ditemukan, maka Systems Manager secara otomatis menginstalnya.

Buat asosiasi yang berjalan Ansible buku pedoman (konsol)

Prosedur berikut menjelaskan cara menggunakan konsol Manajer Sistem untuk membuat as State Manager osiasi yang menjalankan Ansible playbook dengan menggunakan AWS-ApplyAnsiblePlaybooks dokumen.

Untuk membuat asosiasi yang berjalan Ansible buku pedoman (konsol)
  1. Buka AWS Systems Manager konsol di https://console.aws.amazon.com/systems-manager/.

  2. Di panel navigasi, pilih State Manager.

  3. Pilih State Manager, lalu pilih Buat asosiasi.

  4. Untuk Nama, tentukan nama yang membantu anda mengingat tujuan asosiasi.

  5. Di daftar Dokumen, pilih AWS-ApplyAnsiblePlaybooks.

  6. Di bagian Parameter, untuk Jenis Sumber, pilih salah satu GitHub atau S3.

    GitHub

    Jika Anda memilih GitHub, masukkan informasi repositori dalam format berikut.

    { "owner":"user_name", "repository":"name", "path":"path_to_directory_or_playbook_to_download", "getOptions":"branch:branch_name", "tokenInfo":"{{(Optional)_token_information}}" }

    S3

    Jika Anda memilih S3, masukkan informasi jalur dalam format berikut.

    { "path":"https://s3.amazonaws.com/path_to_directory_or_playbook_to_download" }
  7. Untuk Instal Dependensi, pilih opsi.

  8. (Opsional) Untuk File Playbook, masukkan nama file. Jika file Zip berisi buku playbook, tentukan jalur relatif ke file Zip.

  9. (Opsional) Untuk Vari abel Ekstra, masukkan variabel yang State Manager ingin Anda kirim Ansible saat runtime.

  10. (Opsional) Untuk Periksa, pilih opsi.

  11. (Opsional) Untuk Verbose, pilih opsi.

  12. Untuk Target, pilih satu opsi. Untuk informasi tentang menggunakan target, lihat Memahami target dan kontrol tarif di State Manager asosiasi.

  13. Di bagian Tentukan jadwal, pilih Sesuai jadwal atau Tidak ada jadwal. Jika Anda memilih Sesuai jadwal, maka gunakan tombol yang disediakan untuk membuat jadwal cron atau rate untuk asosiasi.

  14. Di bagian Opsi lanjutan, untuk Keparahan kepatuhan, pilih tingkat keparahan untuk asosiasi. Pelaporan kepatuhan menunjukkan apakah status asosiasi sesuai atau tidak, bersama dengan tingkat keparahan yang Anda tunjukkan di sini. Untuk informasi selengkapnya, lihat Tentang State Manager kepatuhan asosiasi.

  15. Di bagian Kontrol tingkat, konfigurasikan opsi untuk menjalankan State Manager asosiasi di seluruh armada node terkelola. Untuk informasi tentang menggunakan kontrol rate, lihat Memahami target dan kontrol tarif di State Manager asosiasi.

    Di bagian Konkurensi, pilih satu opsi:

    • Pilih target untuk memasukkan jumlah absolut dari target yang dapat menjalankan asosiasi secara bersamaan.

    • Pilih persentase untuk memasukkan persentase dari kumpulan target yang dapat menjalankan asosiasi secara bersamaan.

    Di bagian Batas kesalahan, pilih opsi:

    • Pilih kesalahan untuk memasukkan jumlah kesalahan absolut yang diizinkan sebelum State Manager berhenti menjalankan asosiasi pada target tambahan.

    • Pilih persentase untuk memasukkan persentase kesalahan yang diizinkan sebelum State Manager berhenti menjalankan asosiasi pada target tambahan.

  16. (Opsional) Untuk Opsi output, untuk menyimpan output perintah ke file, pilih kotak Aktifkan output penulisan ke S3. Masukkan nama bucket dan prefiks (folder) di dalam kotak.

    catatan

    Izin S3 yang memberikan kemampuan untuk menulis data ke bucket S3 adalah izin dari profil instance yang ditetapkan ke node terkelola, bukan milik pengguna IAM yang melakukan tugas ini. Untuk informasi selengkapnya, lihat Mengonfigurasi izin instans yang diperlukan untuk Manajer Sistem atau Membuat peran layanan IAM untuk lingkungan hibrida. Selain itu, jika bucket S3 yang ditentukan berada di tempat yang berbeda Akun AWS, verifikasi bahwa profil instance atau peran layanan IAM yang terkait dengan node terkelola memiliki izin yang diperlukan untuk menulis ke bucket tersebut.

  17. Pilih Buat Asosiasi.

catatan

Jika Anda menggunakan tag untuk membuat asosiasi pada satu atau lebih node target, dan kemudian Anda menghapus tag dari node, node tersebut tidak lagi menjalankan asosiasi. Node dipisahkan dari State Manager dokumen.

Buat asosiasi yang berjalan Ansible buku pedoman (CLI)

Prosedur berikut menjelaskan cara menggunakan AWS Command Line Interface (AWS CLI) untuk membuat asosi State Manager asi yang menjalankan Ansible playbook dengan menggunakan AWS-ApplyAnsiblePlaybooks dokumen.

Untuk membuat asosiasi yang berjalan Ansible buku pedoman (CLI)
  1. Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.

    Untuk informasi, lihat Meng instal atau memperbarui versi terbaru AWS CLI.

  2. Jalankan salah satu perintah berikut untuk membuat asosiasi yang menjalankan Ansible playbook dengan menargetkan node menggunakan tag. Ganti masing-masing example resource placeholder dengan informasi Anda sendiri. Command (A) menentukan GitHub sebagai tipe sumber. Command (B) menentukan Amazon S3 sebagai jenis sumber.

    (A) GitHub sumber

    Linux & macOS
    aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" \ --targets Key=tag:TagKey,Values=TagValue \ --parameters '{"SourceType":["GitHub"],"SourceInfo":["{\"owner\":\"owner_name\", \"repository\": \"name\", \"getOptions\": \"branch:master\"}"],"InstallDependencies":["True_or_False"],"PlaybookFile":["file_name.yml"],"ExtraVariables":["key/value_pairs_separated_by_a_space"],"Check":["True_or_False"],"Verbose":["-v,-vv,-vvv, or -vvvv"],"TimeoutSeconds":["3600"]}' \ --association-name "name" \ --schedule-expression "cron_or_rate_expression"
    Windows
    aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" ^ --targets Key=tag:TagKey,Values=TagValue ^ --parameters '{"SourceType":["GitHub"],"SourceInfo":["{\"owner\":\"owner_name\", \"repository\": \"name\", \"getOptions\": \"branch:master\"}"],"InstallDependencies":["True_or_False"],"PlaybookFile":["file_name.yml"],"ExtraVariables":["key/value_pairs_separated_by_a_space"],"Check":["True_or_False"],"Verbose":["-v,-vv,-vvv, or -vvvv"], "TimeoutSeconds":["3600"]}' ^ --association-name "name" ^ --schedule-expression "cron_or_rate_expression"

    Ini contohnya.

    aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" \ --targets "Key=tag:OS,Values=Linux" \ --parameters '{"SourceType":["GitHub"],"SourceInfo":["{\"owner\":\"ansibleDocumentTest\", \"repository\": \"Ansible\", \"getOptions\": \"branch:master\"}"],"InstallDependencies":["True"],"PlaybookFile":["hello-world-playbook.yml"],"ExtraVariables":["SSM=True"],"Check":["False"],"Verbose":["-v"]}' \ --association-name "AnsibleAssociation" \ --schedule-expression "cron(0 2 ? * SUN *)"

    (B) Sumber S3

    Linux & macOS
    aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" \ --targets Key=tag:TagKey,Values=TagValue \ --parameters '{"SourceType":["S3"],"SourceInfo":["{\"path\":\"https://s3.amazonaws.com/path_to_Zip_file,_directory,_or_playbook_to_download\"}"],"InstallDependencies":["True_or_False"],"PlaybookFile":["file_name.yml"],"ExtraVariables":["key/value_pairs_separated_by_a_space"],"Check":["True_or_False"],"Verbose":["-v,-vv,-vvv, or -vvvv"]}' \ --association-name "name" \ --schedule-expression "cron_or_rate_expression"
    Windows
    aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" ^ --targets Key=tag:TagKey,Values=TagValue ^ --parameters '{"SourceType":["S3"],"SourceInfo":["{\"path\":\"https://s3.amazonaws.com/path_to_Zip_file,_directory,_or_playbook_to_download\"}"],"InstallDependencies":["True_or_False"],"PlaybookFile":["file_name.yml"],"ExtraVariables":["key/value_pairs_separated_by_a_space"],"Check":["True_or_False"],"Verbose":["-v,-vv,-vvv, or -vvvv"]}' ^ --association-name "name" ^ --schedule-expression "cron_or_rate_expression"

    Inilah contohnya.

    aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" \ --targets "Key=tag:OS,Values=Linux" \ --parameters '{"SourceType":["S3"],"SourceInfo":["{\"path\":\"https://s3.amazonaws.com/amzn-s3-demo-bucket/playbook.yml\"}"],"InstallDependencies":["True"],"PlaybookFile":["playbook.yml"],"ExtraVariables":["SSM=True"],"Check":["False"],"Verbose":["-v"]}' \ --association-name "AnsibleAssociation" \ --schedule-expression "cron(0 2 ? * SUN *)"
    catatan

    State Managerasosiasi tidak mendukung semua ekspresi cron dan rate. Untuk informasi selengkapnya tentang membuat ekspresi cron dan rate untuk asosiasi, lihat Referensi: Ekspresi cron dan rate untuk Systems Manager.

    Sistem mencoba untuk membuat asosiasi pada node dan segera menerapkan status.

  3. Jalankan perintah berikut untuk menampilkan status terbaru dari asosiasi yang baru saja Anda buat.

    aws ssm describe-association --association-id "ID"