Tambahkan node secara otomatis di AWS OpsWorks for Chef Automate - AWS OpsWorks

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 atau melalui AWS Dukungan Premium.

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 Cookbook. Anda dapat menggunakan userdata 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-nodedi dokumentasi AWS OpsWorks for Chef Automate API.

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-name myChefAutomateinstanceprofile --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

  1. Untuk membuat instans EC2, Anda dapat menyalin userdata skrip dari Starter Kit ke userdata 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-nodeperintah opsworks-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 dalam userdata skrip. Karena mengubah nama organisasi di UI konsol Chef saat ini tidak dimungkinkan, biarkan CHEF_AUTOMATE_ORGANIZATION disetel kedefault.

  2. Ikuti prosedur dalam Meluncurkan Instance dalam dokumentasi EC2, dengan modifikasi di sini. Di wizard peluncuran instans EC2, pilih AMI Amazon Linux.

  3. Pada halaman Konfigurasi Detail Instance, pilih peran yang Anda buatLangkah 1: Buat Peran IAM untuk Digunakan sebagai Profil Instance Anda, sebagai peran IAM Anda.

  4. Di area Detail Lanjutan, unggah userdata.sh skrip yang Anda buat sebelumnya dalam prosedur ini.

  5. Tidak diperlukan perubahan pada halaman Add Storage. Lanjutkan ke Tambahkan Tag.

  6. 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.

  7. 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.

  8. 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.

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.