

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Tambahkan Node untuk Server Chef untuk Dikelola
<a name="opscm-addnodes"></a>

**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](https://repost.aws/) atau melalui [AWS Dukungan](https://aws.amazon.com/support) Premium.

[https://docs.chef.io/chef_client.html](https://docs.chef.io/chef_client.html)Agen menjalankan resep Chef di komputer fisik atau virtual, yang disebut *node*, yang terkait dengan server. Anda dapat menghubungkan komputer atau instance lokal ke server Chef untuk dikelola, asalkan node menjalankan sistem operasi yang didukung. Mendaftarkan node dengan server Chef menginstal perangkat lunak `chef-client` agen pada node tersebut.

Anda dapat menggunakan metode berikut untuk menambahkan node:
+ Tambahkan catatan satu per satu dengan menjalankan `knife` perintah yang menambahkan, atau *bootstrap*, sebuah EC2 instance sehingga server Chef dapat mengelolanya. Untuk mengetahui informasi selengkapnya, lihat [Tambahkan node satu per satu](opscm-addnodes-individually.md).
+ Tambahkan node secara otomatis dengan menggunakan skrip untuk melakukan asosiasi node tanpa pengawasan dengan server Chef. Kode dalam [Starter Kit](opscm-starterkit.md) menunjukkan cara menambahkan node secara otomatis menggunakan metode tanpa pengawasan. Untuk informasi selengkapnya, lihat [Tambahkan node secara otomatis di AWS OpsWorks for Chef Automate](opscm-unattend-assoc.md).

**Topics**
+ [Tambahkan node satu per satu](opscm-addnodes-individually.md)
+ [Tambahkan node secara otomatis di AWS OpsWorks for Chef Automate](opscm-unattend-assoc.md)

# Tambahkan node satu per satu
<a name="opscm-addnodes-individually"></a>

**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](https://repost.aws/) atau melalui [AWS Dukungan](https://aws.amazon.com/support) Premium.

Bagian ini menjelaskan cara menjalankan `knife` perintah yang menambahkan, atau *bootstrap*, sebuah EC2 instance sehingga server Chef dapat mengelolanya. 

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.

**Topics**
+ [(Opsional) Tentukan URL dari Chef Automate Server Root CA Anda](#opscm-addnodes-customdomain)
+ [Sistem Operasi yang Didukung](#w2ab1b9c28c17c13c13)
+ [Tambahkan Node dengan Pisau](#w2ab1b9c28c17c13c15)

## (Opsional) Tentukan URL dari Chef Automate Server Root CA Anda
<a name="opscm-addnodes-customdomain"></a>

Jika server Anda menggunakan domain dan sertifikat khusus, Anda mungkin perlu mengedit `ROOT_CA_URL` variabel dalam skrip data pengguna dengan URL publik yang dapat Anda gunakan untuk mendapatkan sertifikat berformat CA PEM root dari server Anda. AWS CLI Perintah berikut mengunggah CA root Anda ke bucket Amazon S3, dan buat URL presigned yang dapat Anda gunakan selama satu jam.

1. Unggah sertifikat berformat CA PEM root ke S3.

   ```
   aws s3 cp ROOT_CA_PEM_FILE_PATH s3://bucket_name/
   ```

1. Buat URL presigned yang dapat Anda gunakan selama satu jam (3600 detik, dalam contoh ini) untuk mengunduh root CA.

   ```
   aws s3 presign s3://bucket_name/ROOT_CA_PEM_FILE_NAME --expires-in 3600
   ```

1. Edit variabel `ROOT_CA_URL` dalam skrip data pengguna dengan nilai URL yang telah ditandatangani sebelumnya.

## Sistem Operasi yang Didukung
<a name="w2ab1b9c28c17c13c13"></a>

Untuk daftar sistem operasi yang didukung untuk node saat ini, lihat [situs web Chef](https://docs.chef.io/platforms.html).

## Tambahkan Node dengan Pisau
<a name="w2ab1b9c28c17c13c15"></a>

[https://github.com/chef/knife-ec2](https://github.com/chef/knife-ec2)Plug-in disertakan dengan Chef Workstation. Jika Anda lebih akrab dengan`knife-ec2`, Anda dapat menggunakannya alih-alih `knife bootstrap` untuk penyediaan dan bootstrap baru EC2instances. Jika tidak, luncurkan EC2 instance baru, lalu ikuti langkah-langkah di bagian ini.

**Untuk menambahkan node untuk dikelola**

1. Jalankan perintah `knife bootstrap` berikut. Perintah ini mem-boot EC2 instance ke node yang akan dikelola server Chef Anda. Perhatikan bahwa Anda menginstruksikan server Chef untuk menjalankan resep dari `nginx` buku masak yang Anda instal. [Gunakan PolicyFile.rb untuk Mendapatkan Buku Masak dari Sumber Jarak Jauh](opscm-starterkit.md#install-cookbooks-policyfile) Untuk informasi selengkapnya tentang menambahkan node dengan menjalankan `knife bootstrap` perintah, lihat [Bootstrap Node](https://docs.chef.io/install_bootstrap.html) dalam dokumentasi Chef.

   Tabel berikut menunjukkan nama pengguna yang valid untuk sistem operasi node dalam `knife` perintah dalam langkah ini. Jika tidak ada `root` atau `ec2-user` berfungsi, tanyakan kepada penyedia AMI Anda. Untuk informasi selengkapnya tentang menghubungkan ke instans berbasis Linux, lihat [Menghubungkan ke Instans Linux Anda Menggunakan SSH](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html) di dokumentasi AWS.  
**Nilai yang valid untuk nama pengguna di sistem operasi node**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/opsworks/latest/userguide/opscm-addnodes-individually.html)

   ```
   knife bootstrap INSTANCE_IP_ADDRESS -N INSTANCE_NAME -x USER_NAME --sudo --run-list "recipe[nginx]"
   ```

1. Verifikasi bahwa node baru ditambahkan dengan menjalankan perintah berikut, ganti *INSTANCE\$1NAME* dengan nama instance yang baru saja Anda tambahkan.

   ```
   knife client show INSTANCE_NAME
   knife node show INSTANCE_NAME
   ```

# Tambahkan node secara otomatis di AWS OpsWorks for Chef Automate
<a name="opscm-unattend-assoc"></a>

**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](https://repost.aws/) atau melalui [AWS Dukungan](https://aws.amazon.com/support) Premium.

Topik ini menjelaskan cara menambahkan node Amazon Elastic Compute Cloud (Amazon EC2) ke server Chef Anda secara otomatis. Kode dalam [Starter Kit](opscm-starterkit.md) 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](https://supermarket.chef.io/cookbooks/chef-client). 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 panggilan OpsWorks `associate-node` 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](opscm-disassociate-node.md) di panduan ini, dan [https://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_DisassociateNode.html](https://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_DisassociateNode.html)di dokumentasi AWS OpsWorks for Chef Automate API.

**Topics**
+ [Sistem Operasi yang Didukung](#w2ab1b9c28c17c15c17)
+ [Langkah 1: Buat Peran IAM untuk Digunakan sebagai Profil Instance Anda](#opscm-create-instance-profile)
+ [Langkah 2: Instal Buku Masak Klien Chef](#w2ab1b9c28c17c15c21)
+ [Langkah 3: Buat Instans dengan Menggunakan Skrip Asosiasi Tanpa Pengawasan](#opscm-unattend-script)
+ [Metode Lain untuk Mengotomatisasi Runs Berulang `chef-client`](#w2ab1b9c28c17c15c25)
+ [Topik Terkait](#opscm-unattend-assoc-related)

## Sistem Operasi yang Didukung
<a name="w2ab1b9c28c17c15c17"></a>

Untuk daftar sistem operasi yang didukung untuk node saat ini, lihat [situs web Chef](https://docs.chef.io/platforms.html).

## Langkah 1: Buat Peran IAM untuk Digunakan sebagai Profil Instance Anda
<a name="opscm-create-instance-profile"></a>

Buat peran AWS Identity and Access Management (IAM) untuk digunakan sebagai profil EC2 instans Anda, dan lampirkan kebijakan berikut ke peran IAM. Kebijakan ini memungkinkan AWS OpsWorks for Chef Automate (`opsworks-cm`) API untuk berkomunikasi dengan EC2 instance selama pendaftaran node. Untuk informasi selengkapnya tentang profil instans, lihat [Menggunakan Profil Instance](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) di EC2 dokumentasi Amazon. Untuk informasi tentang cara membuat peran IAM, lihat [Membuat Peran IAM di Konsol](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#create-iam-role-console) di dokumentasi Amazon EC2 .

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "opsworks-cm:AssociateNode",
                "opsworks-cm:DescribeNodeAssociationStatus"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

------

## Langkah 2: Instal Buku Masak Klien Chef
<a name="w2ab1b9c28c17c15c21"></a>

Jika Anda belum melakukannya, ikuti langkah-langkah [(Alternatif) Gunakan Berkshelf untuk Mendapatkan Buku Masak dari Sumber Jarak Jauh](opscm-starterkit.md#opscm-berkshelf) 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
<a name="opscm-unattend-script"></a>

1. Untuk membuat EC2 instance, Anda dapat menyalin `userdata` skrip dari [Starter Kit](opscm-starterkit.md) ke `userdata` bagian instruksi EC2 instance, konfigurasi peluncuran grup Amazon EC2 Auto Scaling, atau templat. CloudFormation Untuk informasi selengkapnya tentang menambahkan skrip ke data pengguna, lihat [Menjalankan Perintah pada Instans Linux Anda saat Peluncuran](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) di EC2 dokumentasi Amazon.

   Skrip ini menjalankan [https://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_AssociateNode.html](https://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_AssociateNode.html)perintah `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 ke`default`.

1. Ikuti prosedur dalam [Meluncurkan Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/launching-instance.html) dalam EC2 dokumentasi, dengan modifikasi di sini. Di wizard peluncuran EC2 instance, pilih AMI Amazon Linux.

1. Pada halaman **Konfigurasi Detail Instance**, pilih peran yang Anda buat[Langkah 1: Buat Peran IAM untuk Digunakan sebagai Profil Instance Anda](#opscm-create-instance-profile), sebagai peran IAM Anda.

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

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

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

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

1. 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`
<a name="w2ab1b9c28c17c15c25"></a>

Meskipun lebih sulit dicapai, dan tidak disarankan, Anda dapat menjalankan skrip dalam topik ini semata-mata sebagai bagian dari data pengguna instance mandiri, menggunakan 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 berikan`chef-client`, lihat [dokumentasi Chef](https://docs.chef.io/ctl_chef_client.html).

## Topik Terkait
<a name="opscm-unattend-assoc-related"></a>

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.
+ [Menggunakan AWS OpsWorks for Chef Automate untuk Mengelola EC2 Instans dengan Auto Scaling](https://aws.amazon.com/blogs/mt/using-aws-opsworks-for-chef-automate-to-manage-ec2-instances-with-auto-scaling/)
+ [OpsWorks untuk Chef Automate - Secara Otomatis Bootstrapping Node di Akun yang Berbeda](https://aws.amazon.com/blogs/mt/opsworks-for-chef-automate-automatically-bootstrapping-nodes-in-different-accounts/)