Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tambahkan node secara otomatis di AWS OpsWorks for Chef Automate
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 Support Tim di AWS RE:Post
Topik ini menjelaskan cara menambahkan node Amazon Elastic Compute Cloud (Amazon EC2) ke server Chef Anda secara otomatis. Kode dalam Starter Kit menunjukkan cara menambahkan node secara otomatis menggunakan metode tanpa pengawasan. Metode yang direkomendasikan untuk asosiasi node baru tanpa pengawasan (atau otomatis) adalah dengan mengkonfigurasi Chef Client Cookbookuserdata
skrip di Starter Kit, dan mengubah run_list
bagian userdata
skrip, atau Anda Policyfile.rb
dengan buku masak yang ingin Anda terapkan ke node Anda. Sebelum Anda menjalankan chef-client
agen, instal buku masak Chef Client di server Chef Anda, lalu instal chef-client
agen dalam mode layanan dengan, misalnya, peran HTTPD, seperti yang ditunjukkan pada perintah contoh berikut.
chef-client -r "chef-client,role[httpd]"
Untuk berkomunikasi dengan server Chef, perangkat lunak chef-client
agen harus memiliki akses ke kunci publik node klien. Anda dapat membuat key pair public-private di Amazon EC2, lalu meneruskan kunci publik ke AWS OpsWorks associate-node
panggilan API dengan nama node. Skrip yang disertakan dalam Starter Kit mengumpulkan nama organisasi Anda, nama server, dan titik akhir server untuk Anda. Ini memastikan bahwa node dikaitkan dengan server Chef, dan perangkat lunak chef-client
agen yang berjalan pada node dapat berkomunikasi dengan server setelah mencocokkan kunci pribadi.
Versi minimum yang didukung chef-client
pada node yang terkait dengan AWS OpsWorks for Chef Automate server adalah 13. x. Kami merekomendasikan menjalankan chef-client
versi terbaru dan stabil.
Untuk informasi tentang cara memisahkan node, lihat Memutuskan Node dari Server AWS OpsWorks for Chef Automate di panduan ini, dan disassociate-node
di dokumentasi AWS OpsWorks for Chef Automate API.
Topik
Sistem Operasi yang Didukung
Untuk daftar sistem operasi yang didukung untuk node saat ini, lihat situs web Chef
Langkah 1: Buat Peran IAM untuk Digunakan sebagai Profil Instance Anda
Buat peran AWS Identity and Access Management (IAM) untuk digunakan sebagai profil instans EC2 Anda, dan lampirkan kebijakan berikut ke peran IAM. Kebijakan ini memungkinkan AWS OpsWorks for Chef Automate
(opsworks-cm
) API untuk berkomunikasi dengan instans EC2 selama pendaftaran node. Untuk informasi selengkapnya tentang profil instans, lihat Menggunakan Profil Instans di dokumentasi Amazon EC2. Untuk informasi tentang cara membuat peran IAM, lihat Membuat Peran IAM di Konsol di dokumentasi Amazon EC2.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "opsworks-cm:AssociateNode", "opsworks-cm:DescribeNodeAssociationStatus", ], "Resource": "*", "Effect": "Allow" } ] }
AWS OpsWorks menyediakan AWS CloudFormation template yang dapat Anda gunakan untuk membuat peran IAM dengan pernyataan kebijakan sebelumnya. AWS CLI Perintah berikut membuat peran profil instance untuk Anda dengan menggunakan template ini. Anda dapat menghilangkan --region
parameter jika Anda ingin membuat AWS CloudFormation tumpukan baru di wilayah default Anda.
aws cloudformation --region
region ID
create-stack --stack-namemyChefAutomateinstanceprofile
--template-url https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-nodes-roles.yaml --capabilities CAPABILITY_IAM
Langkah 2: Instal Buku Masak Klien Chef
Jika Anda belum melakukannya, ikuti langkah-langkah (Alternatif) Gunakan Berkshelf untuk Mendapatkan Buku Masak dari Sumber Jarak Jauh untuk memastikan bahwa Berksfile atau Policyfile.rb
file Anda mereferensikan buku masak Chef Client dan menginstal buku masak.
Langkah 3: Buat Instans dengan Menggunakan Skrip Asosiasi Tanpa Pengawasan
-
Untuk membuat instans EC2, Anda dapat menyalin
userdata
skrip dari Starter Kit keuserdata
bagian instruksi instans EC2, konfigurasi peluncuran grup Auto Scaling Amazon EC2, atau templat. AWS CloudFormation Untuk informasi selengkapnya tentang menambahkan skrip ke data pengguna, lihat Menjalankan Perintah pada Instans Linux Anda saat Peluncuran di dokumentasi Amazon EC2.Skrip ini menjalankan
associate-node
perintahopsworks-cm
API untuk mengaitkan node baru dengan server Chef Anda.Secara default, nama node terdaftar baru adalah ID instance, tetapi Anda dapat mengubah nama dengan memodifikasi nilai
NODE_NAME
variabel dalamuserdata
skrip. Karena mengubah nama organisasi di UI konsol Chef saat ini tidak dimungkinkan, biarkanCHEF_AUTOMATE_ORGANIZATION
disetel kedefault
. -
Ikuti prosedur dalam Meluncurkan Instance dalam dokumentasi EC2, dengan modifikasi di sini. Di wizard peluncuran instans EC2, pilih AMI Amazon Linux.
-
Pada halaman Konfigurasi Detail Instance, pilih peran yang Anda buatLangkah 1: Buat Peran IAM untuk Digunakan sebagai Profil Instance Anda, sebagai peran IAM Anda.
-
Di area Detail Lanjutan, unggah
userdata.sh
skrip yang Anda buat sebelumnya dalam prosedur ini. -
Tidak diperlukan perubahan pada halaman Add Storage. Lanjutkan ke Tambahkan Tag.
-
Pada halaman Configure Security Group, pilih Add Rule, lalu pilih tipe HTTP untuk membuka nomor port 443 dan 80 untuk server web Apache dalam contoh ini.
-
Pilih Tinjau dan Luncurkan, lalu pilih Luncurkan. Ketika node baru Anda dimulai, itu menerapkan konfigurasi yang ditentukan oleh resep yang telah Anda tentukan dalam
RUN_LIST
parameter. -
Opsional: Jika Anda telah menambahkan
nginx
buku masak ke daftar run Anda, ketika Anda membuka halaman web yang ditautkan ke DNS publik dari node baru Anda, Anda akan melihat situs web yang di-host oleh server web nginx Anda.
Metode Lain untuk Mengotomatisasi Runs Berulang chef-client
Meskipun lebih sulit dicapai, dan tidak disarankan, Anda dapat menjalankan skrip dalam topik ini semata-mata sebagai bagian dari data pengguna instance mandiri, menggunakan AWS CloudFormation templat untuk menambahkannya ke data pengguna instance baru, mengonfigurasi cron
pekerjaan untuk menjalankan skrip secara teratur, atau menjalankan chef-client
dalam layanan. Namun, kami merekomendasikan metode Chef Client Cookbook karena ada beberapa kelemahan dengan teknik otomatisasi lainnya.
Untuk daftar lengkap parameter yang dapat Anda berikanchef-client
, lihat dokumentasi Chef
Topik Terkait
Posting AWS blog berikut menawarkan informasi lebih lanjut tentang menghubungkan node secara otomatis dengan server Chef Automate Anda, dengan menggunakan grup Auto Scaling, atau dalam beberapa akun.