Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konfigurasikan Server Chef Menggunakan Starter Kit
penting
AWS OpsWorks untuk Chef Automate mencapai akhir masa pakai pada 5 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan lama. Kami menyarankan agar pelanggan yang sudah ada bermigrasi ke Chef SaaS atau solusi alternatif. Jika Anda memiliki pertanyaan, Anda dapat menghubungi AWS Dukungan Tim di AWS RE:Post
Sementara pembuatan server Chef masih berlangsung, buka halaman Properties di AWS OpsWorks for Chef Automate konsol. Pertama kali Anda bekerja dengan server Chef baru, halaman Properties meminta Anda untuk mengunduh dua item yang diperlukan. Unduh item ini sebelum server Chef Anda online; tombol unduh tidak tersedia setelah server baru online.
-
Kredensi masuk untuk server Chef. Anda akan menggunakan kredensi ini untuk masuk ke dasbor Chef Automate, tempat Anda bekerja dengan fitur premium Chef Automate, seperti alur kerja dan pemindaian kepatuhan. OpsWorks tidak menyimpan kredensil ini; ini adalah terakhir kalinya mereka tersedia untuk dilihat dan diunduh. Jika perlu, Anda dapat mengubah kata sandi yang diberikan dengan kredensil ini setelah Anda masuk.
-
Kit Pemula. Starter Kit berisi file README dengan contoh, file
knife.rbkonfigurasi, dan kunci pribadi untuk pengguna utama, atau penting,. Sebuah key pair baru dihasilkan—dan kunci lama disetel ulang—setiap kali Anda mengunduh Starter Kit.
Selain kredensi yang hanya berfungsi dengan server baru, file Starter Kit .zip menyertakan contoh sederhana dari repositori Chef yang berfungsi dengan server apa pun. AWS OpsWorks for Chef Automate Di repositori Chef, Anda menyimpan buku masak, peran, file konfigurasi, dan artefak lainnya untuk mengelola node Anda dengan Chef. Kami menyarankan Anda menyimpan repositori ini dalam sistem kontrol versi, seperti Git, dan memperlakukannya sebagai kode sumber. Untuk informasi dan contoh yang menunjukkan cara menyiapkan repositori Chef yang dilacak di Git, lihat Tentang chef-repo dalam dokumentasi Chef
Prasyarat
-
Saat pembuatan server masih berlangsung, unduh kredensi masuk untuk server Chef, dan simpan di lokasi yang aman namun nyaman.
-
Unduh Starter Kit, dan unzip file Starter Kit .zip ke direktori ruang kerja Anda. Jangan bagikan kunci pribadi Starter Kit. Jika pengguna lain akan mengelola server Chef, tambahkan mereka sebagai administrator di dasbor Chef Automate nanti.
-
Unduh dan instal Chef Workstation
(sebelumnya dikenal sebagai Chef Development Kit, atau Chef DK) di komputer yang akan Anda gunakan untuk mengelola server dan node Chef Anda. knifeUtilitas adalah bagian dari Chef Workstation. Untuk petunjuk, lihat Menginstal Chef Workstation di situs web Chef.
Jelajahi Konten Starter Kit
Starter Kit memiliki konten berikut.
-
cookbooks/- Direktori untuk buku masak yang Anda buat.cookbooks/Folder berisiopsworks-webserverbuku masak, buku masak pembungkus yang bergantung pada buku masak dari situs webnginxChef Supermarket.Policyfile.rbdefault ke supermarket Chef sebagai sumber sekunder jika dependensi buku masak tidak tersedia di direktori.cookbooks/ -
Policyfile.rb- File kebijakan berbasis Ruby yang mendefinisikan buku masak, dependensi, dan atribut yang menjadi kebijakan untuk node Anda. -
userdata.shdanuserdata.ps1- Anda dapat menggunakan file data pengguna untuk mengaitkan node secara otomatis setelah meluncurkan server Chef Automate Anda.userdata.shadalah untuk bootstrap node berbasis Linux, dan untuk node berbasis Windows.userdata.ps1 -
Berksfile- Anda dapat menggunakan file ini jika Anda lebih suka menggunakan Berkshelf danberksperintah untuk mengunggah buku masak dan dependensinya. Dalam panduan ini, kami menggunakan perintahPolicyfile.rbdan Chef untuk mengunggah buku masak, dependensi, dan atribut. -
README.md, file berbasis Markdown yang menjelaskan cara menggunakan Starter Kit untuk mengatur server Chef Automate Anda untuk pertama kalinya. -
.chefadalah direktori tersembunyi yang berisi file konfigurasi pisau (knife.rb) dan file kunci otentikasi rahasia (.pem).-
.chef/knife.rb- File konfigurasi pisau (knife.rb).knife.rbFile dikonfigurasi sehingga operasi knifealat Chef berjalan melawan AWS OpsWorks for Chef Automate server. -
.chef/ca_certs/opsworks-cm-ca-2020-root.pem- Kunci pribadi SSL yang ditandatangani oleh otoritas sertifikasi (CA) yang disediakan oleh. OpsWorks Kunci ini memungkinkan server untuk mengidentifikasi dirinya ke agen klien Chef Infra pada node yang dikelola server Anda.
-
Siapkan Repositori Chef Anda
Sebuah repositori Chef berisi beberapa direktori. Setiap direktori di Starter Kit berisi file README yang menjelaskan tujuan direktori, dan cara menggunakannya untuk mengelola sistem Anda dengan Chef. Ada dua cara untuk menginstal buku masak di server Chef Anda: menjalankan knife perintah, atau menjalankan perintah Chef untuk mengunggah file kebijakan (Policyfile.rb) ke server Anda yang mengunduh dan menginstal buku masak tertentu. Panduan ini menggunakan perintah Chef dan Policyfile.rb menginstal buku masak di server Anda.
-
Buat direktori di komputer lokal Anda untuk menyimpan buku masak, seperti
chef-repo. Setelah Anda menambahkan buku masak, peran, dan file lain ke repositori ini, kami sarankan Anda mengunggah atau menyimpannya dalam sistem yang aman dan berversi, seperti, CodeCommit Git, atau Amazon S3. -
Di
chef-repodirektori, buat direktori berikut:-
cookbooks/- Toko buku masak. -
roles/- Menyimpan peran dalam.rbatau.jsonformat. -
environments/- Menyimpan lingkungan dalam.rbatau.jsonformat.
-
Gunakan PolicyFile.rb untuk Mendapatkan Buku Masak dari Sumber Jarak Jauh
Di bagian ini, edit Policyfile.rb untuk menentukan buku masak, lalu jalankan perintah Chef untuk mengunggah file ke server Anda dan menginstal buku masak.
-
Lihat
Policyfile.rbdi Starter Kit Anda. Secara default,Policyfile.rbsertakan buku masakopsworks-webserverpembungkus, yang tergantung padanginxbuku masak yang tersedia di situs web Chef Supermarket. nginxBuku masak menginstal dan mengkonfigurasi server web pada node terkelola.chef-clientBuku masak yang diperlukan, yang menginstal agen klien Chef Infra pada node terkelola, juga ditentukan.Policyfile.rbjuga menunjuk ke buku masak Chef Audit opsional, yang dapat Anda gunakan untuk mengatur pemindaian kepatuhan pada node. Untuk informasi selengkapnya tentang menyiapkan pemindaian kepatuhan dan mendapatkan hasil kepatuhan untuk node terkelola, lihatPemindaian Kepatuhan di AWS OpsWorks for Chef Automate. Jika Anda tidak ingin mengonfigurasi pemindaian kepatuhan dan audit sekarang, hapus'audit'darirun_listbagian, dan jangan tentukan atributauditbuku masak di akhir file.# Policyfile.rb - Describe how you want Chef to build your system. # # For more information about the Policyfile feature, visit # https://docs.chef.io/policyfile.html # A name that describes what the system you're building with Chef does. name 'opsworks-demo-webserver' # The cookbooks directory is the preferred source for external cookbooks default_source :chef_repo, "cookbooks/" do |s| s.preferred_for "nginx", "windows", "chef-client", "yum-epel", "seven_zip", "build-essential", "mingw", "ohai", "audit", "logrotate", "cron" end # Alternative source default_source :supermarket # run_list: chef-client runs these recipes in the order specified. run_list 'chef-client', 'opsworks-webserver', 'audit' # add 'ssh-hardening' to your runlist to fix compliance issues detected by the ssh-baseline profile # Specify a custom source for a single cookbook: cookbook 'opsworks-webserver', path: 'cookbooks/opsworks-webserver' # Policyfile defined attributes # Define audit cookbook attributes default["opsworks-demo"]["audit"]["reporter"] = "chef-server-automate" default["opsworks-demo"]["audit"]["profiles"] = [ { "name": "DevSec SSH Baseline", "compliance": "admin/ssh-baseline" } ]Berikut ini adalah contoh
Policyfile.rbtanpaauditbuku masak dan atribut, jika Anda ingin mengkonfigurasi hanya servernginxweb untuk saat ini.# Policyfile.rb - Describe how you want Chef to build your system. # # For more information on the Policyfile feature, visit # https://docs.chef.io/policyfile.html # A name that describes what the system you're building with Chef does. name 'opsworks-demo-webserver' # Where to find external cookbooks: default_source :supermarket # run_list: chef-client will run these recipes in the order specified. run_list 'chef-client', 'opsworks-webserver' # Specify a custom source for a single cookbook: cookbook 'opsworks-webserver', path: 'cookbooks/opsworks-webserver'Jika Anda membuat perubahan
Policyfile.rb, pastikan untuk menyimpan file. -
Unduh dan instal buku masak yang ditentukan dalam
Policyfile.rb.chef installSemua buku masak diberi versi dalam file buku masak.
metadata.rbSetiap kali Anda mengganti buku masak, Anda harus menaikkan versi buku masak yang ada di dalamnya.metadata.rb -
Jika Anda memilih untuk mengonfigurasi pemindaian kepatuhan, dan menyimpan informasi
auditbuku masak di file kebijakan, dorong kebijakan tersebutopsworks-demoke server Anda.chef push opsworks-demo -
Jika Anda menyelesaikan langkah 3, verifikasi pemasangan kebijakan Anda. Jalankan perintah berikut.
chef show-policyHasilnya harus menyerupai yang berikut:
opsworks-demo-webserver ======================= * opsworks-demo: ec0fe46314 -
Anda sekarang siap untuk menambahkan atau mem-bootstrap node ke server Chef Automate Anda. Anda dapat mengotomatiskan asosiasi node dengan mengikuti langkah-langkahTambahkan node secara otomatis di AWS OpsWorks for Chef Automate, atau menambahkan node satu per satu dengan mengikuti langkah-langkah dalamTambahkan node satu per satu.
(Alternatif) Gunakan Berkshelf untuk Mendapatkan Buku Masak dari Sumber Jarak Jauh
Berkshelf adalah alat untuk mengelola buku masak dan dependensinya. Jika Anda lebih suka menggunakan Berkshelf daripada Policyfile.rb menginstal buku masak ke penyimpanan lokal, gunakan prosedur di bagian ini alih-alih bagian sebelumnya. Anda dapat menentukan buku masak dan versi mana yang akan digunakan dengan server Chef Anda dan mengunggahnya. Starter Kit berisi file bernama Berksfile yang dapat Anda gunakan untuk membuat daftar buku masak Anda.
-
Untuk memulai, tambahkan
chef-clientbuku masak ke Berksfile yang disertakan.chef-clientBuku masak mengonfigurasi perangkat lunak agen klien Chef Infra pada setiap node yang Anda sambungkan ke server Chef Automate Anda. Untuk mempelajari lebih lanjut tentang buku masak ini, lihat Buku Masak Klien Chef di SupermarketChef. -
Menggunakan editor teks, tambahkan buku masak lain ke Berksfile Anda yang menginstal aplikasi server web; misalnya,
apache2buku masak, yang menginstal server web Apache. Berksfile Anda harus menyerupai yang berikut ini.source 'https://supermarket.chef.io' cookbook 'chef-client' cookbook 'apache2' -
Unduh dan instal buku masak di komputer lokal Anda.
berks install -
Unggah buku masak ke server Chef.
Di Linux, jalankan yang berikut ini.
SSL_CERT_FILE='.chef/ca_certs/opsworks-cm-ca-2020-root.pem' berks uploadDi Windows, jalankan perintah Chef Workstation berikut dalam satu PowerShell sesi. Sebelum Anda menjalankan perintah, pastikan untuk mengatur kebijakan eksekusi PowerShell ke
RemoteSigned. Tambahkanchef shell-inituntuk membuat perintah utilitas Chef Workstation tersedia untuk PowerShell.$env:SSL_CERT_FILE="ca_certs\opsworks-cm-ca-2020-root.pem" chef shell-init berks upload Remove-Item Env:\SSL_CERT_FILE -
Verifikasi pemasangan buku masak dengan menampilkan daftar buku masak yang saat ini tersedia di server Chef Automate. Anda dapat melakukan ini dengan menjalankan
knifeperintah berikut.Anda siap menambahkan node untuk dikelola dengan AWS OpsWorks for Chef Automate server.
knife cookbook list
(Opsional) Konfigurasi knife untuk Bekerja dengan Domain Kustom
Jika server Chef Automate Anda menggunakan domain khusus, Anda mungkin perlu menambahkan sertifikat PEM dari root CA yang menandatangani rantai sertifikat server Anda, atau sertifikat PEM server Anda jika sertifikat ditandatangani sendiri. ca_certsadalah subdirektori chef/ yang berisi otoritas sertifikat (CAs) yang dipercaya oleh knife utilitas Chef.
Anda dapat melewati bagian ini jika Anda tidak menggunakan domain kustom, atau jika sertifikat kustom Anda ditandatangani oleh CA root yang dipercaya oleh sistem operasi Anda. Jika tidak, konfigurasikan knife untuk mempercayai sertifikat SSL server Chef Automate Anda, seperti yang dijelaskan dalam langkah-langkah berikut.
-
Jalankan perintah berikut.
knife ssl checkJika hasilnya mirip dengan yang berikut ini, lewati sisa prosedur ini, dan lanjutkan keTambahkan Node untuk Server Chef untuk Dikelola.
Connecting to host my-chef-automate-server.my-corp.com:443 Successfully verified certificates from 'my-chef-automate-server.my-corp.com'Jika Anda mendapatkan pesan kesalahan yang mirip dengan berikut ini, lanjutkan ke langkah berikutnya.
Connecting to host my-chef-automate-server.my-corp.com:443 ERROR: The SSL certificate of my-chef-automate-server.my-corp.com could not be verified. ... -
Jalankan
knife ssl fetchuntuk mempercayai sertifikat AWS OpsWorks for Chef Automate server Anda. Atau, Anda dapat secara manual menyalin sertifikat berformat CA PEM root dari server Anda ke direktori yang merupakan nilaitrusted_certs_dirdalam output dari.knife ssl checkSecara default, direktori ini ada.chef/ca_certs/di Starter Kit. Output Anda harus menyerupai yang berikut:WARNING: Certificates from my-chef-automate-server.my-corp.com will be fetched and placed in your trusted_cert directory (/Users/username/starterkit/.chef/../.chef/ca_certs). Knife has no means to verify these are the correct certificates. You should verify the authenticity of these certificates after downloading. Adding certificate for my-chef-automate-server in /Users/users/starterkit/.chef/../.chef/ca_certs/servv-aqtswxu20swzkjgz.crt Adding certificate for MyCorp_Root_CA in /Users/users/starterkit/.chef/../.chef/ca_certs/MyCorp_Root_CA.crt -
Jalankan lagi
knife ssl check. Output Anda harus menyerupai yang berikut:Connecting to host my-chef-automate-server.my-corp.com:443 Successfully verified certificates from 'my-chef-automate-server.my-corp.com'Anda siap digunakan
knifedengan server Chef Automate Anda.