Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat asosiasi yang berjalan Chef resep
Anda dapat membuat State Manager asosiasi yang menjalankan Chef resep dengan menggunakan AWS-ApplyChefRecipes
SSM dokumen. State Manager adalah kemampuan AWS Systems Manager. Anda dapat menargetkan node yang dikelola Systems Manager berbasis Linux dengan dokumen. AWS-ApplyChefRecipes
SSM Dokumen ini menawarkan manfaat berikut untuk menjalankan Chef resep:
-
Mendukung beberapa rilis Chef (Chef 11 melalui Chef 18).
-
Secara otomatis menginstal Chef perangkat lunak klien pada node target.
-
Secara opsional menjalankan pemeriksaan kepatuhan Systems Manager pada node target, dan menyimpan hasil pemeriksaan kepatuhan di bucket Amazon Simple Storage Service (Amazon S3).
-
Menjalankan beberapa buku masak dan resep dalam satu dokumen.
-
Secara opsional menjalankan resep dalam
why-run
mode, untuk menunjukkan resep mana yang berubah pada node target tanpa membuat perubahan. -
Secara opsional menerapkan JSON atribut khusus untuk
chef-client
menjalankan. -
Opsional menerapkan JSON atribut kustom dari file sumber yang disimpan di lokasi yang Anda tentukan.
Anda dapat menggunakan Git, GitHub, HTTP, atau ember Amazon S3 sebagai sumber unduhan untuk Chef buku masak dan resep yang Anda tentukan dalam AWS-ApplyChefRecipes
dokumen.
catatan
Asosiasi yang menjalankan Chef resep tidak didukung pada macOS.
Memulai
Sebelum Anda membuat AWS-ApplyChefRecipes
dokumen, siapkan Chef buku masak dan repositori buku masak. Jika Anda belum memiliki Chef buku masak yang ingin Anda gunakan, Anda bisa memulai dengan menggunakan HelloWorld
buku masak tes yang AWS telah disiapkan untuk Anda. Dokumen AWS-ApplyChefRecipes
sudah menunjuk ke buku masak ini secara default. Buku masak Anda harus diatur serupa dengan struktur direktori berikut. Dalam contoh berikut, jenkins
dan nginx
merupakan contoh Chef buku masak yang tersedia di Chef Supermarket
Meskipun tidak AWS dapat secara resmi mendukung buku masak di Chef SupermarketAWS-ApplyChefRecipes
dokumen. Berikut ini adalah contoh kriteria untuk menentukan kapan Anda menguji buku masak komunitas:
-
Buku masak harus men-support sistem operasi berbasis Linux dari node terkelola Systems Manager yang Anda targetkan.
-
Buku masak harus valid untuk Chef versi klien (Chef 11 melalui Chef 18) yang Anda gunakan.
-
Buku masak ini kompatibel dengan Chef Infra Client, dan, tidak memerlukan server Chef.
Verifikasi bahwa Anda dapat mencapai Chef.io
situs web, sehingga buku masak apa pun yang Anda tentukan dalam daftar jalankan dapat diinstal saat dokumen Systems Manager (SSMdokumen) berjalan. Menggunakan folder cookbooks
yang di-nest disupport, tetapi tidak diperlukan; Anda dapat menyimpan buku masak langsung di tingkat root.
<Top-level directory, or the top level of the archive file (ZIP or tgz or tar.gz)> └── cookbooks (optional level) ├── jenkins │ ├── metadata.rb │ └── recipes └── nginx ├── metadata.rb └── recipes
penting
Sebelum Anda membuat State Manager asosiasi yang berjalan Chef resep, ketahuilah bahwa dokumen yang dijalankan menginstal Chef perangkat lunak klien pada node terkelola Systems Manager Anda, kecuali Anda menetapkan nilai Chef versi klien keNone
. Operasi ini menggunakan skrip instalasi dari Chef untuk menginstal Chef komponen atas nama Anda. Sebelum Anda menjalankan AWS-ApplyChefRecipes
dokumen, pastikan perusahaan Anda dapat mematuhi persyaratan hukum yang berlaku, termasuk persyaratan lisensi yang berlaku untuk penggunaan Chef perangkat lunak. Untuk informasi lebih lanjut, lihat Chef situs web
Systems Manager dapat mengirimkan laporan kepatuhan ke bucket S3, konsol Systems Manager, atau menyediakan hasil kepatuhan sebagai respons terhadap API perintah Systems Manager. Untuk menjalankan laporan kepatuhan Systems Manager, profil instans yang dilampirkan ke node terkelola Systems Manager harus memiliki izin untuk menulis ke bucket S3. Profil instans harus memiliki izin untuk menggunakan Systems Manager PutComplianceItem
API. Untuk informasi selengkapnya tentang kepatuhan Systems Manager, lihat AWS Systems Manager Kepatuhan.
Mencatat dokumen yang berjalan
Ketika Anda menjalankan dokumen Systems Manager (SSMdokumen) dengan menggunakan State Manager asosiasi, Anda dapat mengonfigurasi asosiasi untuk memilih output dari dokumen yang dijalankan, dan Anda dapat mengirim output ke Amazon S3 atau Amazon CloudWatch Logs (CloudWatch Log). Untuk membantu memudahkan pemecahan masalah saat asosiasi selesai berjalan, verifikasi bahwa asosiasi dikonfigurasi untuk menulis output perintah ke bucket Amazon S3 atau Log. CloudWatch Untuk informasi selengkapnya, lihat Bekerja dengan asosiasi di Systems Manager.
Menerapkan JSON atribut ke target saat menjalankan resep
Anda dapat menentukan JSON atribut untuk Chef klien untuk diterapkan ke node target selama menjalankan asosiasi. Saat menyiapkan asosiasi, Anda dapat memberikan mentah JSON atau menyediakan jalur ke JSON file yang disimpan di Amazon S3.
Gunakan JSON atribut saat Anda ingin menyesuaikan cara resep dijalankan tanpa harus memodifikasi resep itu sendiri, misalnya:
-
Mengesampingkan sejumlah kecil atribut
Gunakan kustom JSON untuk menghindari keharusan mempertahankan beberapa versi resep untuk mengakomodasi perbedaan kecil.
-
Memberikan nilai variabel
Gunakan kustom JSON untuk menentukan nilai yang mungkin berubah dari run-to-run. Misalnya, jika Anda Chef buku masak mengonfigurasi aplikasi pihak ketiga yang menerima pembayaran, Anda dapat menggunakan kustom JSON untuk menentukan titik akhir pembayaran. URL
Menentukan atribut dalam mentah JSON
Berikut ini adalah contoh format yang dapat Anda gunakan untuk menentukan JSON atribut kustom untuk Chef resep.
{"filepath":"
/tmp/example.txt
", "content":"Hello, World!
"}
Menentukan jalur ke file JSON
Berikut ini adalah contoh format yang dapat Anda gunakan untuk menentukan jalur ke JSON atribut kustom untuk Chef resep.
{"sourceType":"s3", "sourceInfo":"
someS3URL1
"}, {"sourceType":"s3", "sourceInfo":"someS3URL2
"}
Gunakan Git sebagai sumber buku masak
AWS-ApplyChefRecipes
Dokumen menggunakan downloadContent plugin aws: untuk mengunduh Chef buku masak. Untuk mengunduh konten dari Git, tentukan informasi tentang repositori Git Anda dalam JSON format seperti pada contoh berikut. Ganti masing-masing example-resource-placeholder
dengan informasi Anda sendiri.
{ "repository":"
GitCookbookRepository
", "privateSSHKey":"{{ssm-secure:ssh-key-secure-string-parameter
}}", "skipHostKeyChecking":"false
", "getOptions":"branch:refs/head/main
", "username":"{{ssm-secure:username-secure-string-parameter
}}", "password":"{{ssm-secure:password-secure-string-parameter
}}" }
Gunakan GitHub sebagai sumber buku masak
AWS-ApplyChefRecipes
Dokumen tersebut menggunakan downloadContent plugin aws: untuk mengunduh buku masak. Untuk mengunduh konten dari GitHub, tentukan informasi tentang Anda GitHub repositori dalam JSON format seperti pada contoh berikut. Ganti masing-masing example-resource-placeholder
dengan informasi Anda sendiri.
{ "owner":"
TestUser
", "repository":"GitHubCookbookRepository
", "path":"cookbooks/HelloWorld
", "getOptions":"branch:refs/head/main
", "tokenInfo":"{{ssm-secure:token-secure-string-parameter
}}" }
Gunakan HTTP sebagai sumber buku masak
Anda dapat menyimpan Chef buku masak di HTTP lokasi kustom baik sebagai satu .zip
atau tar.gz
file, atau struktur direktori. Untuk mengunduh konten dariHTTP, tentukan jalur ke file atau direktori dalam JSON format seperti pada contoh berikut. Ganti masing-masing example-resource-placeholder
dengan informasi Anda sendiri.
{ "url":"https:
//my.website.com/chef-cookbooks/HelloWorld.zip
", "allowInsecureDownload":"false", "authMethod":"Basic", "username":"{{ssm-secure:username-secure-string-parameter
}}", "password":"{{ssm-secure:password-secure-string-parameter
}}" }
Menggunakan Amazon S3 sebagai sumber buku masak
Anda juga dapat menyimpan dan mengunduh Chef buku masak di Amazon S3 sebagai .zip
satu tar.gz
atau file, atau struktur direktori. Untuk mengunduh konten dari Amazon S3, tentukan jalur ke file dalam JSON format seperti pada contoh berikut. Ganti masing-masing example-resource-placeholder
dengan informasi Anda sendiri.
Contoh 1: Unduh buku masak tertentu
{ "path":"https://s3.amazonaws.com/
chef-cookbooks/HelloWorld.zip
" }
Contoh 2: Unduh isi direktori
{ "path":"https://s3.amazonaws.com/
chef-cookbooks-test/HelloWorld
" }
penting
Jika Anda menentukan Amazon S3, profil instance AWS Identity and Access Management (IAM) pada node terkelola harus dikonfigurasi dengan kebijakan. AmazonS3ReadOnlyAccess
Untuk informasi selengkapnya, lihat Mengonfigurasi izin instans yang diperlukan untuk Systems Manager.
Buat asosiasi yang berjalan Chef resep (konsol)
Prosedur berikut menjelaskan cara menggunakan konsol Systems Manager untuk membuat State Manager asosiasi yang berjalan Chef buku masak dengan menggunakan AWS-ApplyChefRecipes
dokumen.
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, masukkan nama yang membantu Anda mengingat tujuan asosiasi.
-
Di daftar Dokumen, pilih
AWS-ApplyChefRecipes
. -
Di Parameter, untuk Jenis Sumber, pilih salah satu Git, GitHub, HTTP, atau S3.
-
Untuk info Sumber, masukkan informasi sumber buku masak menggunakan format yang sesuai untuk Jenis Sumber yang Anda pilih pada langkah 6. Untuk informasi selengkapnya, lihat topik berikut.
-
Di Jalankan daftar, buat daftar resep yang ingin Anda jalankan dalam format berikut, memisahkan setiap resep dengan koma seperti yang ditunjukkan. Jangan masukkan spasi setelah koma. Ganti masing-masing
example-resource-placeholder
dengan informasi Anda sendiri.recipe[
cookbook-name1
::recipe-name
],recipe[cookbook-name2
::recipe-name
] -
(Opsional) Tentukan JSON atribut khusus yang Anda inginkan Chef klien untuk diteruskan ke node target Anda.
-
Dalam konten JSON atribut, tambahkan atribut apa pun yang Anda inginkan Chef klien untuk diteruskan ke node target Anda.
-
Di sumber JSON atribut, tambahkan jalur ke atribut apa pun yang Anda inginkan Chef klien untuk diteruskan ke node target Anda.
Untuk informasi selengkapnya, lihat Menerapkan JSON atribut ke target saat menjalankan resep.
-
-
Untuk Chef versi klien, tentukan Chef versi. Nilai yang valid adalah
11
melalui18
, atauNone
. Jika Anda menentukan nomor antara11
18
(inklusif), Systems Manager menginstal yang benar Chef versi klien pada node target Anda. Jika Anda menentukanNone
, Systems Manager tidak menginstal Chef klien pada node target sebelum menjalankan resep dokumen. -
(Opsional) Untuk Chef argumen klien, tentukan argumen tambahan yang didukung untuk versi Chef Anda menggunakan. Untuk mempelajari lebih lanjut tentang argumen yang didukung, jalankan
chef-client -h
pada node yang menjalankan Chef klien. -
(Opsional) Aktifkan Why-run untuk menampilkan perubahan yang dibuat pada node target jika resep dijalankan, tanpa benar-benar mengubah node target.
-
Untuk Keparahan kepatuhan, pilih keparahan dari hasil Kepatuhan Systems Manager yang ingin Anda laporkan. Pelaporan kepatuhan menunjukkan apakah status asosiasi sesuai atau tidak sesuai, bersama dengan tingkat keparahan yang Anda tentukan. Laporan kepatuhan disimpan di bucket S3 yang Anda tentukan sebagai nilai dari parameter Bucket laporan kepatuhan (langkah 14). Untuk informasi selengkapnya tentang Kepatuhan, lihat Pelajari detail tentang Kepatuhan dalam panduan ini.
Pemindaian kepatuhan mengukur penyimpangan antara konfigurasi yang ditentukan dalam Anda Chef resep dan sumber daya simpul. Nilai yang valid adalah
Critical
,High
,Medium
,Low
,Informational
,Unspecified
, atauNone
. Untuk melewati pelaporan kepatuhan, pilihNone
. -
Untuk Jenis kepatuhan, tentukan jenis kepatuhan yang hasilnya ingin Anda laporkan. Nilai yang valid adalah
Association
untuk State Manager asosiasi, atauCustom:
custom-type
. Nilai defaultnya adalahCustom:Chef
. -
Untuk bucket laporan Kepatuhan, masukkan nama bucket S3 untuk menyimpan informasi tentang setiap Chef dijalankan oleh dokumen ini, termasuk konfigurasi sumber daya dan hasil Kepatuhan.
-
Di 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 Konkurensi, pilih 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 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.
Buat asosiasi yang berjalan Chef resep (CLI)
Prosedur berikut menjelaskan cara menggunakan AWS Command Line Interface (AWS CLI) untuk membuat State Manager asosiasi yang menjalankan buku masak Chef dengan menggunakan AWS-ApplyChefRecipes
dokumen.
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 Chef buku masak pada node target yang memiliki tag yang ditentukan. Gunakan perintah yang sesuai untuk jenis sumber buku masak dan sistem operasi Anda. Ganti masing-masing
example-resource-placeholder
dengan informasi Anda sendiri.-
Sumber Git
-
GitHub sumber
Inilah contohnya.
-
HTTPsumber
-
Sumber Amazon S3
Inilah contohnya.
Sistem membuat asosiasi, dan kecuali ekspresi cron atau rate yang Anda tentukan mencegahnya, sistem menjalankan asosiasi pada node target.
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.
-
-
Jalankan perintah berikut untuk melihat status asosiasi yang baru saja Anda buat.
aws ssm describe-association --association-id "
ID
"
Melihat detail kepatuhan sumber daya Chef
Systems Manager menangkap informasi kepatuhan tentang Chef-sumber daya terkelola dalam nilai bucket laporan Kepatuhan Amazon S3 yang Anda tentukan saat menjalankan AWS-ApplyChefRecipes
dokumen. Mencari informasi tentang Chef kegagalan sumber daya dalam ember S3 dapat memakan waktu. Sebaliknya, Anda dapat melihat informasi ini pada halaman Kepatuhan Systems Manager.
Pemindaian Kepatuhan Systems Manager mengumpulkan informasi tentang sumber daya pada node terkelola Anda yang dibuat atau diperiksa di yang terbaru Chef lari. Sumber daya dapat mencakup file, direktori, layanan systemd
, paket yum
, file templat, paket gem
, dan buku masak dependen, di antaranya.
Bagian Ringkasan sumber daya kepatuhan menampilkan jumlah sumber daya yang gagal. Dalam contoh berikut, ComplianceTypeadalah Custom:Chefdan satu sumber daya tidak patuh.
catatan
Custom:Chef
adalah ComplianceTypenilai default dalam AWS-ApplyChefRecipes
dokumen. Nilai ini dapat disesuaikan.
Bagian Ikhtisar detail untuk sumber daya menunjukkan informasi tentang AWS sumber daya yang tidak sesuai. Bagian ini juga mencakup Chef jenis sumber daya yang digunakan untuk menjalankan kepatuhan, tingkat keparahan masalah, status kepatuhan, dan tautan ke informasi lebih lanjut bila berlaku.
Melihat output menunjukkan 4.000 karakter terakhir dari status terperinci. Systems Manager dimulai dengan pengecualian sebagai elemen pertama, menemukan pesan verbose, dan menunjukkannya sampai mencapai kuota karakter 4.000. Proses ini menampilkan pesan log yang dikeluarkan sebelum pengecualian diluncurkan, yang merupakan pesan yang paling relevan untuk pemecahan masalah.
Untuk informasi tentang cara melihat informasi kepatuhan, lihat AWS Systems Manager Kepatuhan.
penting
Jika State Manager asosiasi gagal, tidak ada data kepatuhan yang dilaporkan. Misalnya, jika Systems Manager mencoba mengunduh Chef buku masak dari bucket S3 yang node tidak memiliki izin untuk mengakses, asosiasi gagal, dan Systems Manager tidak melaporkan data kepatuhan.