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 buku pedoman dengan menggunakan AWS-ApplyAnsiblePlaybooks
SSM dokumen. State Manager adalah kemampuan AWS Systems Manager. Dokumen ini menawarkan manfaat berikut untuk menjalankan playbook:
-
Support untuk menjalankan playbook yang kompleks
-
Support untuk mengunduh pedoman 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
Systems Manager mencakup dua SSM dokumen yang memungkinkan Anda membuat State Manager asosiasi yang menjalankan Ansible buku pedoman: AWS-RunAnsiblePlaybook
danAWS-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 menjalankan Ansible buku pedoman tidak didukung macOS.
Support 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 atau direktori Zip dapat disimpan di GitHub atau Amazon S3.
Support untuk mengunduh pedoman dari GitHub
Dokumen AWS-ApplyAnsiblePlaybooks
menggunakan plugin aws:downloadContent
untuk mengunduh file playbook. File dapat disimpan di GitHub dalam satu file atau sebagai gabungan set file playbook. Untuk mengunduh konten dari GitHub, tentukan informasi tentang Anda GitHub repositori dalam JSON format. Inilah contohnya.
{ "owner":"
TestUser
", "repository":"GitHubTest
", "path":"scripts/python/test-script
", "getOptions":"branch:master
", "tokenInfo":"{{ssm-secure:secure-string-token
}}" }
Support untuk mengunduh pedoman dari Amazon S3
Anda juga dapat menyimpan dan mengunduh Ansible buku pedoman di Amazon S3 sebagai satu file.zip atau struktur direktori. Untuk mengunduh konten dari Amazon S3, tentukan jalur ke file. Berikut ini adalah dua contoh.
Contoh 1: Unduh file buku pedoman 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 harus dikonfigurasi dengan kebijakan tersebutAmazonS3ReadOnlyAccess
. Untuk informasi selengkapnya, lihat Mengonfigurasi izin instans yang diperlukan untuk Systems Manager.
Support untuk struktur playbook terkompresi
Dokumen AWS-ApplyAnsiblePlaybooks
mengizinkan Anda untuk menjalankan file .zip yang dikompresi dalam paket 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 yang ditentukan Ansible otomatisasi.
Penebangan yang ditingkatkan
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 dipetakan ke Ansible opsi verbositas.
Kemampuan untuk menentukan pedoman mana yang akan dijalankan saat pedoman 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 InstallDependenciesparameter, maka Systems Manager memverifikasi bahwa node Anda memiliki dependensi berikut diinstal:
-
Ubuntu Server/Debian Server: Apt-get (Manajemen Package), Python 3, Ansible, Buka ritsleting
-
Amazon Linux: Ansible
-
RHEL: Python 3, Ansible, Buka ritsleting
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 Systems Manager untuk membuat State Manager asosiasi yang berjalan Ansible buku pedoman dengan menggunakan AWS-ApplyAnsiblePlaybooks
dokumen.
Untuk membuat asosiasi yang berjalan Ansible buku pedoman (konsol)
Buka AWS Systems Manager konsol di https://console.aws.amazon.com/systems-manager/
. Di panel navigasi, pilih State Manager.
-
Pilih State Manager, dan kemudian pilih Buat asosiasi.
-
Untuk Nama, tentukan nama yang membantu anda mengingat tujuan asosiasi.
-
Di daftar Dokumen, pilih
AWS-ApplyAnsiblePlaybooks
. -
Di bagian Parameter, untuk Jenis Sumber, pilih salah satu GitHubatau 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
" } -
Untuk Instal Dependensi, pilih opsi.
-
(Opsional) Untuk File Playbook, masukkan nama file. Jika file Zip berisi buku playbook, tentukan jalur relatif ke file Zip.
-
(Opsional) Untuk Variabel Ekstra, masukkan variabel yang Anda inginkan State Manager untuk mengirim ke Ansible saat runtime.
-
(Opsional) Untuk Periksa, pilih opsi.
-
(Opsional) Untuk Verbose, pilih opsi.
-
Untuk Target, pilih satu opsi. Untuk informasi tentang menggunakan target, lihat Memahami target dan kontrol tingkat di State Manager asosiasi.
-
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.
-
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 kepatuhan State Manager asosiasi.
-
Di bagian Rate control, konfigurasikan opsi untuk dijalankan State Manager asosiasi di seluruh armada node terkelola. Untuk informasi tentang menggunakan kontrol rate, lihat Memahami target dan kontrol tingkat 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 absolut kesalahan yang diizinkan sebelumnya State Manager berhenti menjalankan asosiasi pada target tambahan.
-
Pilih persentase untuk memasukkan persentase kesalahan yang diizinkan sebelumnya State Manager berhenti menjalankan asosiasi pada target tambahan.
-
(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 izin IAM pengguna yang melakukan tugas ini. Untuk informasi selengkapnya, lihat Mengonfigurasi izin instans yang diperlukan untuk Systems Manager atau Membuat peran IAM layanan untuk lingkungan hibrid. Selain itu, jika bucket S3 yang ditentukan berbeda Akun AWS, verifikasi bahwa profil instance atau peran IAM layanan yang terkait dengan node terkelola memiliki izin yang diperlukan untuk menulis ke bucket tersebut.
-
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 itu tidak lagi menjalankan asosiasi. Node terputus 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 State Manager asosiasi yang berjalan Ansible buku pedoman dengan menggunakan AWS-ApplyAnsiblePlaybooks
dokumen.
Untuk membuat asosiasi yang berjalan Ansible buku pedoman () CLI
Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.
Untuk selengkapnya, lihat Menginstal atau memperbarui versi terbaru AWS CLI.
-
Jalankan salah satu perintah berikut untuk membuat asosiasi yang berjalan Ansible playbook dengan menargetkan node menggunakan tag. Ganti masing-masing
example resource placeholder
dengan informasi Anda sendiri. Command (A) menentukan GitHub sebagai tipe sumbernya. Command (B) menentukan Amazon S3 sebagai jenis sumber.(A) GitHub sumber
Inilah 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
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 Manager asosiasi 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.
-
Jalankan perintah berikut untuk menampilkan status terbaru dari asosiasi yang baru saja Anda buat.
aws ssm describe-association --association-id "
ID
"