

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

# Memulai dengan EFA dan NCCL untuk beban kerja ML di Amazon EC2
<a name="efa-start-nccl"></a>

NVIDIA Collective Communications Library (NCCL) adalah perpustakaan rutinitas komunikasi kolektif standar untuk banyak GPU pada simpul tunggal atau beberapa simpul. NCCL dapat digunakan bersama-sama dengan EFA, Libfabric, dan MPI untuk mendukung berbagai beban kerja machine learning. Untuk informasi lebih lanjut, lihat situs web [NCCL](https://developer.nvidia.com/nccl).

**Persyaratan**
+ Hanya tipe instans seri P komputasi yang dipercepat yang didukung. Untuk informasi selengkapnya, lihat instans [komputasi akselerasi Amazon EC2](https://docs.aws.amazon.com/ec2/latest/instancetypes/ac.html#ac-sizes).
+ Hanya AMI dasar Amazon Linux 2023, Amazon Linux 2, Ubuntu 24.04, dan Ubuntu 22.04 yang didukung.
+ Hanya NCCL 2.4.2 dan yang lebih baru yang didukung EFA.

*Untuk informasi selengkapnya tentang menjalankan beban kerja pembelajaran mesin dengan EFA dan NCCL menggunakan AWS Deep Learning AMIs, lihat [Menggunakan EFA pada DLAMI di Panduan Pengembang](https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-efa-using.html).AWS Deep Learning AMIs *

**Topics**
+ [Langkah 1: Siapkan grup EFA-enabled keamanan](#nccl-start-base-setup)
+ [Langkah 2: Luncurkan instans sementara](#nccl-start-base-temp)
+ [Langkah 3: Instal driver Nvidia GPU, kit alat CUDA Nvidia, dan cuDNN](#nccl-start-base-drivers)
+ [Langkah 4: Instal GDRCopy](#nccl-start-base-gdrcopy)
+ [Langkah 5: Instal perangkat lunak EFA](#nccl-start-base-enable)
+ [Langkah 6: Instal NCCL](#nccl-start-base-nccl)
+ [Langkah 7: Instal uji NCCL](#nccl-start-base-tests)
+ [Langkah 8: Uji konfigurasi EFA dan NCCL Anda](#nccl-start-base-test)
+ [Langkah 9: Instal aplikasi machine learning Anda](#nccl-start-base-app)
+ [Langkah 10: Buat EFA dan AMI NCCL-enabled](#nccl-start-base-ami)
+ [Langkah 11: Mengakhiri instans sementara](#nccl-start-base-terminate)
+ [Langkah 12: Luncurkan EFA dan NCCL-enabled instans ke dalam grup penempatan cluster](#nccl-start-base-cluster)
+ [Langkah 13: Mengaktifkan SSH tanpa kata sandi](#nccl-start-base-passwordless)

## Langkah 1: Siapkan grup EFA-enabled keamanan
<a name="nccl-start-base-setup"></a>

EFA memerlukan grup keamanan yang memungkinkan semua lalu lintas masuk dan keluar ke dan dari grup keamanan itu sendiri. Prosedur berikut menciptakan grup keamanan yang memungkinkan semua lalu lintas masuk dan ke luar ke dan dari dirinya sendiri, dan yang memungkinkan lalu lintas SSH masuk dari alamat IPv4 apa pun untuk konektivitas SSH.

**penting**  
Grup keamanan ini ditujukan untuk tujuan pengujian saja. Untuk lingkungan produksi Anda, kami sarankan Anda membuat aturan SSH masuk yang memungkinkan lalu lintas hanya dari alamat IP dari mana Anda terhubung, seperti alamat IP komputer Anda, atau berbagai alamat IP di jaringan lokal Anda.

Untuk skenario lainnya, lihat [Aturan-aturan grup keamanan untuk kasus penggunaan yang berbeda](security-group-rules-reference.md).

**Untuk membuat grup EFA-enabled keamanan**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Dalam panel navigasi, pilih **Grup Keamanan**, lalu pilih **Buat grup keamanan**.

1. Di jendela **Buat Grup Keamanan**, lakukan hal berikut:

   1. Untuk **Nama grup keamanan**, masukkan nama deskriptif untuk grup keamanan, seperti `EFA-enabled security group`.

   1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi singkat grup keamanan.

   1. Untuk **VPC**, pilih VPC tempat Anda ingin meluncurkan instance Anda. EFA-enabled 

   1. Pilih **Buat grup keamanan**.

1. Pilih grup keamanan yang Anda buat, dan pada tab **Detail**, salin **ID grup keamanan**.

1. Dengan grup keamanan yang masih dipilih, pilih **Tindakan**, **Edit aturan masuk**, lalu lakukan hal berikut:

   1. Pilih **Tambahkan aturan**.

   1. Untuk **Tipe**, pilih **Semua lalu lintas**.

   1. Untuk **Tipe sumber**, pilih **Kustom** dan tempelkan ID grup keamanan yang Anda salin ke dalam bidang.

   1. Pilih **Tambahkan aturan**.

   1. Untuk **Tipe**, pilih **SSH**.

   1. Untuk **tipe Sumber**, pilih **Anywhere-IPv4**.

   1. Pilih **Simpan aturan**.

1. Dengan grup keamanan yang masih dipilih, pilih **Tindakan**, **Edit aturan keluar**, lalu lakukan hal berikut:

   1. Pilih **Tambahkan aturan**.

   1. Untuk **Tipe**, pilih **Semua lalu lintas**.

   1. Untuk **Tipe tujuan**, pilih **Kustom** dan tempelkan ID grup keamanan yang Anda salin ke dalam bidang.

   1. Pilih **Simpan aturan**.

## Langkah 2: Luncurkan instans sementara
<a name="nccl-start-base-temp"></a>

Luncurkan instans sementara yang dapat Anda gunakan untuk menginstal dan mengonfigurasi komponen perangkat lunak EFA. Anda menggunakan instance ini untuk membuat EFA-enabled AMI dari mana Anda dapat meluncurkan EFA-enabled instans Anda.

**Untuk meluncurkan instans sementara**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Instans**, lalu pilih **Luncurkan Instans** untuk membuka wizard peluncuran instans baru.

1. (*Opsional*) Di bagian **Nama dan tanda**, berikan nama untuk instans, seperti `EFA-instance`. Nama ditetapkan ke instans sebagai tanda sumber daya (`Name={{EFA-instance}}`).

1. Di bagian **Application and OS Images**, pilih AMI untuk salah satu sistem operasi yang didukung.

1. Di bagian **Jenis instans**, pilih jenis instans yang didukung.

1. Pada bagian **Pasangan kunci**, pilih pasangan kunci yang akan digunakan untuk instans.

1. Di bagian **Pengaturan jaringan**, pilih **Edit**, lalu lakukan hal berikut:

   1. Untuk **Subnet**, pilih subnet untuk meluncurkan instans.
**penting**  
Anda harus memilih subnet. Jika Anda tidak memilih subnet, Anda tidak dapat mengaktifkan instans untuk EFA.

   1. Untuk **Firewall (grup keamanan)**, pilih **Pilih grup keamanan yang ada**, lalu pilih grup keamanan yang Anda buat di langkah sebelumnya.

   1. Perluas bagian **Konfigurasi jaringan lanjutan**.

      Untuk **antarmuka Jaringan 1**, pilih **Indeks kartu jaringan = 0**, **Indeks perangkat = 0**, dan **Jenis antarmuka = EFA dengan ENA**.

      (*Opsional*) Jika Anda menggunakan jenis instans multi-kartu, seperti `p4d.24xlarge` atau`p5.48xlarge`, untuk setiap antarmuka jaringan tambahan yang diperlukan, pilih **Tambahkan antarmuka jaringan**, untuk **Indeks kartu jaringan pilih indeks** yang tidak digunakan berikutnya, lalu pilih **Indeks perangkat = 1 dan Jenis antarmuka =** **EFA dengan ENA** atau. **EFA-only**

1. Di bagian **Penyimpanan**, konfigurasikan volume sesuai kebutuhan.
**catatan**  
Anda harus menyediakan penyimpanan tambahan 10 hingga 20 GiB untuk Nvidia CUDA. Jika Anda tidak menyediakan penyimpanan yang cukup, Anda akan menerima kesalahan `insufficient disk space` saat mencoba menginstal driver Nvidia dan toolkit CUDA.

1. Di panel **Ringkasan** di sebelah kanan, pilih **Luncurkan instans**.

## Langkah 3: Instal driver Nvidia GPU, kit alat CUDA Nvidia, dan cuDNN
<a name="nccl-start-base-drivers"></a>

------
#### [ Amazon Linux 2023 and Amazon Linux 2 ]

**Untuk menginstal driver Nvidia GPU, kit alat CUDA Nvidia, dan cuDNN**

1. Untuk memastikan bahwa semua paket perangkat lunak Anda telah diperbarui, lakukan pembaruan perangkat lunak cepat di instans Anda.

   ```
   $ sudo yum upgrade -y && sudo reboot
   ```

   Hubungkan kembali ke instans Anda setelah boot ulang.

1. Pasang utilitas yang diperlukan untuk memasang driver GPU Nvidia dan toolkit Nvidia CUDA.

   ```
   $ sudo yum groupinstall 'Development Tools' -y
   ```

1. Nonaktifkan driver `nouveau` open source.

   1. Instal utilitas yang diperlukan dan paket header kernel untuk versi kernel yang sedang Anda jalankan.

      ```
      $ sudo yum install -y wget kernel-devel-$(uname -r) kernel-headers-$(uname -r)
      ```

   1. Tambahkan `nouveau` ke file daftar penolakan `/etc/modprobe.d/blacklist.conf `.

      ```
      $ cat << EOF | sudo tee --append /etc/modprobe.d/blacklist.conf
      blacklist vga16fb
      blacklist nouveau
      blacklist rivafb
      blacklist nvidiafb
      blacklist rivatv
      EOF
      ```

   1. Tambahkan `GRUB_CMDLINE_LINUX="rdblacklist=nouveau"` ke file `grub` dan bangun kembali konfigurasi Grub.

      ```
      $ echo 'GRUB_CMDLINE_LINUX="rdblacklist=nouveau"' | sudo tee -a /etc/default/grub \
      && sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      ```

1. Boot ulang dan terhubung kembali ke instans Anda.

1. Siapkan repositori yang dibutuhkan

   1. Aktifkan repositori EPEL dan atur distribusinya ke. `rhel7`

      ```
      $ sudo amazon-linux-extras install epel \
      && distribution='rhel7'
      ```

   1. Siapkan repositori jaringan CUDA dan perbarui cache repositori.

      ```
      $ ARCH=$( /bin/arch ) \
      && sudo yum-config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/$distribution/${ARCH}/cuda-$distribution.repo \
      && sudo yum clean expire-cache
      ```

   1. (*Kernel versi 5.10 saja*) Lakukan langkah-langkah ini hanya jika Anda menggunakan Amazon Linux 2 dengan kernel versi 5.10. Jika Anda menggunakan Amazon Linux 2 dengan kernel versi 4.12, lewati langkah-langkah ini. Untuk memeriksa versi kernel Anda, jalankan **uname -r**.

      1. Buat file konfigurasi driver Nvidia bernama `/etc/dkms/nvidia.conf`.

         ```
         $ sudo mkdir -p /etc/dkms \
         && echo "MAKE[0]=\"'make' -j2 module SYSSRC=\${kernel_source_dir} IGNORE_XEN_PRESENCE=1 IGNORE_PREEMPT_RT_PRESENCE=1 IGNORE_CC_MISMATCH=1 CC=/usr/bin/gcc10-gcc\"" | sudo tee /etc/dkms/nvidia.conf
         ```

      1. (`p4d.24xlarge` dan `p5.48xlarge` saja) Salin file konfigurasi driver Nvidia.

         ```
         $ sudo cp /etc/dkms/nvidia.conf /etc/dkms/nvidia-open.conf
         ```

1. Instal driver Nvidia GPU, kit alat CUDA Nvidia, dan cuDNN.

   ```
   $ sudo yum clean all \
   && sudo yum -y install nvidia-driver-latest-dkms \
   && sudo yum -y install cuda-drivers-fabricmanager cuda libcudnn8-devel
   ```

1. Boot ulang dan terhubung kembali ke instans Anda.

1. (`p4d.24xlarge` dan `p5.48xlarge` saja) Mulai layanan Nvidia Fabric Manager, dan pastikan bahwa layanan tersebut dimulai secara otomatis saat instans dimulai. Nvidia Fabric Manager diperlukan untuk NV Switch Management.

   ```
   $ sudo systemctl enable nvidia-fabricmanager && sudo systemctl start nvidia-fabricmanager
   ```

1. Pastikan bahwa jalur CUDA diatur setiap kali instans dimulai.
   + Untuk shell *bash*, tambahkan pernyataan berikut ke `/home/{{username}}/.bashrc` dan `/home/{{username}}/.bash_profile`. 

     ```
     export PATH=/usr/local/cuda/bin:$PATH
     export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
     ```
   + Untuk shell *tcsh*, tambahkan pernyataan berikut ke `/home/{{username}}/.cshrc`.

     ```
     setenv PATH=/usr/local/cuda/bin:$PATH
     setenv LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
     ```

1. Untuk mengonfirmasi bahwa driver Nvidia GPU berfungsi, jalankan perintah berikut.

   ```
   $ nvidia-smi -q | head
   ```

   Perintah tersebut harus mengembalikan informasi tentang Nvidia GPU, driver Nvidia GPU, dan kit alat Nvidia CUDA.

------
#### [ Ubuntu 24.04 and Ubuntu 22.04 ]

**Untuk menginstal driver Nvidia GPU, kit alat CUDA Nvidia, dan cuDNN**

1. Untuk memastikan bahwa semua paket perangkat lunak Anda telah diperbarui, lakukan pembaruan perangkat lunak cepat di instans Anda.

   ```
   $ sudo apt-get update && sudo apt-get upgrade -y
   ```

1. Pasang utilitas yang diperlukan untuk memasang driver GPU Nvidia dan toolkit Nvidia CUDA.

   ```
   $ sudo apt-get update && sudo apt-get install build-essential -y
   ```

1. Untuk menggunakan driver GPU Nvidia, Anda harus menonaktifkan driver sumber terbuka `nouveau` terlebih dahulu.

   1. Instal utilitas yang diperlukan dan paket header kernel untuk versi kernel yang sedang Anda jalankan.

      ```
      $ sudo apt-get install -y gcc make linux-headers-$(uname -r)
      ```

   1. Tambahkan `nouveau` ke file daftar penolakan `/etc/modprobe.d/blacklist.conf `.

      ```
      $ cat << EOF | sudo tee --append /etc/modprobe.d/blacklist.conf
      blacklist vga16fb
      blacklist nouveau
      blacklist rivafb
      blacklist nvidiafb
      blacklist rivatv
      EOF
      ```

   1. Buka `/etc/default/grub` menggunakan editor teks pilihan Anda dan tambahkan berikut ini. 

      ```
      GRUB_CMDLINE_LINUX="rdblacklist=nouveau"
      ```

   1. Buat kembali konfigurasi Grub.

      ```
      $ sudo update-grub
      ```

1. Boot ulang dan terhubung kembali ke instans Anda.

1. Tambahkan repositori CUDA dan instal driver Nvidia GPU, toolkit CUDA NVIDIA, dan cuDNN.
   + `p3dn.24xlarge`

     ```
     $ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/7fa2af80.pub \
     && wget -O /tmp/deeplearning.deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/nvidia-machine-learning-repo-ubuntu2004_1.0.0-1_amd64.deb \
     && sudo dpkg -i /tmp/deeplearning.deb \
     && wget -O /tmp/cuda.pin https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin \
     && sudo mv /tmp/cuda.pin /etc/apt/preferences.d/cuda-repository-pin-600 \
     && sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub \
     && sudo add-apt-repository 'deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /' \
     && sudo apt update \
     && sudo apt install nvidia-dkms-535 \
     && sudo apt install -o Dpkg::Options::='--force-overwrite' cuda-drivers-535 cuda-toolkit-12-3 libcudnn8 libcudnn8-dev -y
     ```
   + `p4d.24xlarge` dan `p5.48xlarge`

     ```
     $ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/7fa2af80.pub \
     && wget -O /tmp/deeplearning.deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/nvidia-machine-learning-repo-ubuntu2004_1.0.0-1_amd64.deb \
     && sudo dpkg -i /tmp/deeplearning.deb \
     && wget -O /tmp/cuda.pin https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin \
     && sudo mv /tmp/cuda.pin /etc/apt/preferences.d/cuda-repository-pin-600 \
     && sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub \
     && sudo add-apt-repository 'deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /' \
     && sudo apt update \
     && sudo apt install nvidia-kernel-open-535 \
     && sudo apt install -o Dpkg::Options::='--force-overwrite' cuda-drivers-535 cuda-toolkit-12-3 libcudnn8 libcudnn8-dev -y
     ```

1. Boot ulang dan terhubung kembali ke instans Anda.

1. (`p4d.24xlarge` dan `p5.48xlarge` saja) Instal Nvidia Fabric Manager.

   1. Anda harus menginstal versi Nvidia Fabric Manager yang cocok dengan versi modul kernel Nvidia yang Anda instal pada langkah sebelumnya.

      Jalankan perintah berikut untuk menentukan versi modul kernel Nvidia.

      ```
      $ cat /proc/driver/nvidia/version | grep "Kernel Module"
      ```

      Berikut ini adalah output contoh.

      ```
      NVRM version: NVIDIA UNIX x86_64 Kernel Module  450.42.01  Tue Jun 15 21:26:37 UTC 2021
      ```

      Pada contoh di atas, versi utama `450` dari modul kernel diinstal. Ini berarti Anda perlu menginstal versi Nvidia Fabric Manager `450`.

   1. Instal Nvidia Fabric Manager. Jalankan perintah berikut dan tentukan versi utama yang diidentifikasi pada langkah sebelumnya.

      ```
      $ sudo apt install -o Dpkg::Options::='--force-overwrite' nvidia-fabricmanager-{{major_version_number}}
      ```

      Misalnya, jika versi `450` utama modul kernel diinstal, gunakan perintah berikut untuk menginstal versi Nvidia Fabric Manager yang cocok.

      ```
      $ sudo apt install -o Dpkg::Options::='--force-overwrite' nvidia-fabricmanager-450
      ```

   1. Mulai layanan, dan pastikan bahwa layanan tersebut dimulai secara otomatis ketika instans dimulai. Nvidia Fabric Manager diperlukan untuk NV Switch Management.

      ```
      $ sudo systemctl start nvidia-fabricmanager && sudo systemctl enable nvidia-fabricmanager
      ```

1. Pastikan bahwa jalur CUDA diatur setiap kali instans dimulai.
   + Untuk shell *bash*, tambahkan pernyataan berikut ke `/home/{{username}}/.bashrc` dan `/home/{{username}}/.bash_profile`. 

     ```
     export PATH=/usr/local/cuda/bin:$PATH
     export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
     ```
   + Untuk shell *tcsh*, tambahkan pernyataan berikut ke `/home/{{username}}/.cshrc`.

     ```
     setenv PATH=/usr/local/cuda/bin:$PATH
     setenv LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
     ```

1. Untuk mengonfirmasi bahwa driver Nvidia GPU berfungsi, jalankan perintah berikut.

   ```
   $ nvidia-smi -q | head
   ```

   Perintah tersebut harus mengembalikan informasi tentang Nvidia GPU, driver Nvidia GPU, dan kit alat Nvidia CUDA.

------

## Langkah 4: Instal GDRCopy
<a name="nccl-start-base-gdrcopy"></a>

Instal GDRCopy untuk meningkatkan performa Libfabric. Untuk informasi selengkapnya tentang GDRCopy, lihat [repositori GDRCopy](https://github.com/NVIDIA/gdrcopy).

------
#### [ Amazon Linux 2023 and Amazon Linux 2 ]

**Untuk menginstal GDRCopy**

1. Instal dependensi yang diperlukan.

   ```
   $ sudo yum -y install dkms rpm-build make check check-devel subunit subunit-devel
   ```

1. Mengunduh dan mengekstraksi paket GDRcopy.

   ```
   $ wget https://github.com/NVIDIA/gdrcopy/archive/refs/tags/v2.4.tar.gz \
   && tar xf v2.4.tar.gz ; cd gdrcopy-2.4/packages
   ```

1. Bangun paket RPM GDRCopy.

   ```
   $ CUDA=/usr/local/cuda ./build-rpm-packages.sh
   ```

1. Instal paket GDRCopy RPM.

   ```
   $ sudo rpm -Uvh gdrcopy-kmod-2.4-1dkms.noarch*.rpm \
   && sudo rpm -Uvh gdrcopy-2.4-1.x86_64*.rpm \
   && sudo rpm -Uvh gdrcopy-devel-2.4-1.noarch*.rpm
   ```

------
#### [ Ubuntu 24.04 and Ubuntu 22.04 ]

**Untuk menginstal GDRCopy**

1. Instal dependensi yang diperlukan.

   ```
   $ sudo apt -y install build-essential devscripts debhelper check libsubunit-dev fakeroot pkg-config dkms
   ```

1. Mengunduh dan mengekstraksi paket GDRcopy.

   ```
   $ wget https://github.com/NVIDIA/gdrcopy/archive/refs/tags/v2.4.tar.gz \
   && tar xf v2.4.tar.gz \
   && cd gdrcopy-2.4/packages
   ```

1. Bangun paket RPM GDRCopy.

   ```
   $ CUDA=/usr/local/cuda ./build-deb-packages.sh
   ```

1. Instal paket GDRCopy RPM.

   ```
   $ sudo dpkg -i gdrdrv-dkms_2.4-1_amd64.*.deb \
   && sudo dpkg -i libgdrapi_2.4-1_amd64.*.deb \
   && sudo dpkg -i gdrcopy-tests_2.4-1_amd64.*.deb \
   && sudo dpkg -i gdrcopy_2.4-1_amd64.*.deb
   ```

------

## Langkah 5: Instal perangkat lunak EFA
<a name="nccl-start-base-enable"></a>

Instal EFA-enabled kernel, driver EFA, plugin Libfabric, aws-ofi-nccl, dan Open MPI stack yang diperlukan untuk mendukung EFA pada instans Anda.

**Untuk menginstal perangkat lunak EFA**

1. Hubungkan ke instans yang Anda luncurkan. Untuk informasi selengkapnya, lihat [Hubungkan ke instans Linux Anda, menggunakan SSH.](connect-to-linux-instance.md).

1. Unduh file penginstalan perangkat lunak EFA. File penginstalan perangkat lunak dikemas menjadi file tarball (`.tar.gz`) yang dikompresi. Untuk mengunduh versi *stabil* terbaru, gunakan perintah berikut.

   Anda juga bisa mendapatkan versi terbaru dengan mengganti nomor versi dengan `latest` dalam perintah sebelumnya.

   ```
   $ curl -O https://efa-installer.amazonaws.com/aws-efa-installer-1.48.0.tar.gz
   ```

1. (*Opsional*) Verifikasi keaslian dan integritas file tarball EFA (`.tar.gz`).

   Kami menyarankan Anda melakukan hal ini untuk memverifikasi identitas penerbit perangkat lunak dan memeriksa apakah file tersebut tidak diubah atau rusak sejak file tersebut diterbitkan. Jika Anda tidak ingin memverifikasi file tarball, lewati langkah ini.
**catatan**  
Atau, jika Anda memilih untuk memverifikasi file tarball menggunakan checksum MD5 atau SHA256, lihat [Memverifikasi penginstal EFA menggunakan checksum](efa-verify.md).

   1. Unduh kunci GPG publik dan impor ke dalam keyring Anda.

      ```
      $ wget https://efa-installer.amazonaws.com/aws-efa-installer.key && gpg --import aws-efa-installer.key
      ```

      Perintah tersebut harus mengembalikan nilai kunci. Catat nilai kunci, karena Anda membutuhkannya di langkah selanjutnya.

   1. Verifikasi sidik jari kunci GPG. Jalankan perintah berikut dan tentukan nilai kunci dari langkah sebelumnya.

      ```
      $ gpg --fingerprint {{key_value}}
      ```

      Perintah tersebut harus mengembalikan sidik jari yang identik dengan `4E90 91BC BB97 A96B 26B1 5E59 A054 80B1 DD2D 3CCC`. Jika sidik jari tidak cocok, jangan jalankan skrip instalasi EFA, dan hubungi Dukungan.

   1. Unduh file tanda tangan dan verifikasi tanda tangan pada file tarball EFA.

      ```
      $ wget https://efa-installer.amazonaws.com/aws-efa-installer-1.48.0.tar.gz.sig && gpg --verify ./aws-efa-installer-1.48.0.tar.gz.sig
      ```

      Berikut ini adalah contoh output.

      ```
      gpg: Signature made Wed 29 Jul 2020 12:50:13 AM UTC using RSA key ID DD2D3CCC
      gpg: Good signature from "Amazon EC2 EFA <ec2-efa-maintainers@amazon.com>"
      gpg: WARNING: This key is not certified with a trusted signature!
      gpg:          There is no indication that the signature belongs to the owner.
      Primary key fingerprint: 4E90 91BC BB97 A96B 26B1  5E59 A054 80B1 DD2D 3CCC
      ```

      Jika hasilnya mencakup `Good signature`, dan sidik jari cocok dengan sidik jari yang dikembalikan di langkah sebelumnya, lanjutkan ke langkah berikutnya. Jika tidak, jangan jalankan skrip instalasi EFA, dan hubungi Dukungan.

1. Ekstraksi file dari file `.tar.gz` yang dikompresi dan navigasi ke dalam direktori yang diekstraksi.

   ```
   $ tar -xf aws-efa-installer-1.48.0.tar.gz && cd aws-efa-installer
   ```

1. (*Opsional*) Verifikasi tanda tangan paket individual selama instalasi.

   Dimulai dengan installer EFA 1.48.0, installer menyertakan GPG-signed paket RPM dan DEB individual. Untuk memverifikasi keaslian dan integritas masing-masing paket selama instalasi, gunakan `--check-signatures` bendera. Saat Anda mengaktifkan tanda ini, penginstal memverifikasi semua tanda tangan paket terlebih dahulu, dan hanya melanjutkan penginstalan jika setiap paket melewati verifikasi. Jika ada paket yang gagal verifikasi, penginstal segera keluar tanpa menginstal apa pun.

   1. Unduh kunci publik GPG.

      ```
      $ wget https://efa-installer.amazonaws.com/aws-efa-installer.key
      ```

   1. Ekspor jalur kunci. Kemudian, pada langkah berikutnya, tambahkan `--check-signatures` ke perintah instalasi dan gunakan `sudo -E` alih-alih `sudo` untuk melestarikan variabel lingkungan.

      ```
      $ export EFA_INSTALLER_KEY=$(pwd)/aws-efa-installer.key
      ```

   Pada RPM-based sistem (Amazon Linux, RHEL, Rocky Linux, dan SUSE), installer memverifikasi setiap RPM menggunakan. `rpm --checksig` Pada DEB-based sistem (Ubuntu, Debian), installer memverifikasi setiap DEB menggunakan verifikasi tanda tangan GPG.

   Jika verifikasi paket apa pun gagal, instalasi segera dibatalkan, melindungi sistem Anda dari paket yang rusak atau berbahaya.
**catatan**  
`--check-signatures`Bendera adalah opsional. Tanpa itu, penginstal tidak melakukan verifikasi tanda tangan individu.

1. Unduh skrip penginstalan perangkat lunak EFA.
**catatan**  
Jika Anda menyelesaikan langkah opsional sebelumnya untuk mengatur verifikasi tanda tangan paket, tambahkan `--check-signatures` ke perintah instalasi dan gunakan `sudo -E` sebagai gantinya. `sudo` Sebagai contoh: `sudo -E ./efa_installer.sh -y --mpi=openmpi4 --check-signatures`.
**catatan**  
Dari EFA 1.30.0, Open MPI 4.1 dan Open MPI 5 diinstal secara default. Kecuali Anda membutuhkan Open MPI 5, kami sarankan Anda hanya menginstal Open MPI 4.1. Perintah berikut menginstal Open MPI 4.1 saja. Jika Anda ingin menginstal Open MPI 4.1 and Open MPI 5, hapus. `--mpi=openmpi4`

   ```
   $ sudo ./efa_installer.sh -y --mpi=openmpi4
   ```

   **Libfabric** diinstal di `/opt/amazon/efa` direktori. Plugin **aws-ofi-nccl** diinstal di direktori. `/opt/amazon/ofi-nccl` **Open MPI** diinstal di `/opt/amazon/openmpi` direktori.

1. Jika penginstal EFA meminta Anda untuk me-reboot instans, lakukanlah dan kemudian sambungkan kembali ke instans. Jika tidak, log out dari instans lalu log kembali untuk menyelesaikan penginstalan.

1. Pastikan bahwa komponen perangkat lunak EFA telah berhasil diinstal.

   ```
   $ fi_info -p efa -t FI_EP_RDM
   ```

   Perintah tersebut harus mengembalikan informasi tentang antarmuka Libfabric EFA. Contoh berikut menunjukkan output perintah.
   + `p3dn.24xlarge` dengan satu antarmuka jaringan

     ```
     provider: efa
     fabric: EFA-fe80::94:3dff:fe89:1b70
     domain: efa_0-rdm
     version: 2.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     ```
   + `p4d.24xlarge` dan `p5.48xlarge` dengan berbagai antarmuka jaringan

     ```
     provider: efa
     fabric: EFA-fe80::c6e:8fff:fef6:e7ff
     domain: efa_0-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     provider: efa
     fabric: EFA-fe80::c34:3eff:feb2:3c35
     domain: efa_1-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     provider: efa
     fabric: EFA-fe80::c0f:7bff:fe68:a775
     domain: efa_2-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     provider: efa
     fabric: EFA-fe80::ca7:b0ff:fea6:5e99
     domain: efa_3-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     ```

## Langkah 6: Instal NCCL
<a name="nccl-start-base-nccl"></a>

Instal NCCL. Untuk informasi lebih lanjut tentang NCCL, lihat [repositori NCCL](https://github.com/NVIDIA/nccl).

**Untuk menginstal NCCL**

1. Buka direktori `/opt` tersebut.

   ```
   $ cd /opt
   ```

1. Gandakan repositori NCCL resmi ke instans dan navigasi ke repositori klon lokal.

   ```
   $ sudo git clone https://github.com/NVIDIA/nccl.git -b v2.23.4-1 && cd nccl
   ```

1. Bangun dan instal NCCL dan tentukan direktori instalasi CUDA.

   ```
   $ sudo make -j src.build CUDA_HOME=/usr/local/cuda
   ```

## Langkah 7: Instal uji NCCL
<a name="nccl-start-base-tests"></a>

Instal uji NCCL. Uji NCCL memungkinkan Anda untuk mengonfirmasi bahwa NCCL diinstal dengan benar dan beroperasi sesuai harapan. Untuk informasi lebih lanjut tentang pengujian NCCL, lihat [repositori nccl-tests](https://github.com/NVIDIA/nccl-tests).

**Untuk menginstal pengujian EFA**

1. Navigasi ke direktori beranda Anda.

   ```
   $ cd $HOME
   ```

1. Gandakan repositori nccl-tests resmi ke instans dan navigasi ke repositori klon lokal.

   ```
   $ git clone https://github.com/NVIDIA/nccl-tests.git && cd nccl-tests
   ```

1. Tambahkan direktori Libfabric ke variabel `LD_LIBRARY_PATH`. 
   + Amazon Linux 2023 dan Amazon Linux 2

     ```
     $ export LD_LIBRARY_PATH={{/opt/amazon/efa/lib64}}:$LD_LIBRARY_PATH
     ```
   + Ubuntu 24.04 dan Ubuntu 22.04

     ```
     $ export LD_LIBRARY_PATH={{/opt/amazon/efa/lib}}:$LD_LIBRARY_PATH
     ```

1. Instal pengujian NCCL dan tentukan direktori penginstalan MPI, NCCL, dan CUDA.

   ```
   $ make MPI=1 MPI_HOME={{/opt/amazon/openmpi}} NCCL_HOME={{/opt/nccl/build}} CUDA_HOME={{/usr/local/cuda}}
   ```

## Langkah 8: Uji konfigurasi EFA dan NCCL Anda
<a name="nccl-start-base-test"></a>

Jalankan pengujian untuk memastikan bahwa instans sementara Anda sudah dikonfigurasi dengan benar untuk EFA dan NCCL. 

**Untuk menguji konfigurasi EFA dan NCCL Anda**

1. Buat file host yang menentukan host untuk menjalankan pengujian. Perintah berikut membuat file host dengan nama `my-hosts` yang mencakup referensi ke instans itu sendiri.

------
#### [ IMDSv2 ]

   ```
   [ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
   && curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/local-ipv4 >> my-hosts
   ```

------
#### [ IMDSv1 ]

   ```
   [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/local-ipv4 >> my-hosts
   ```

------

1. Jalankan pengujian dan tentukan file host (`--hostfile`) dan jumlah GPU yang akan digunakan (`-n`). Perintah berikut menjalankan uji `all_reduce_perf` pada 8 GPU di instans itu sendiri, dan menentukan variabel lingkungan berikut.
   + `FI_EFA_USE_DEVICE_RDMA=1`—(hanya `p4d.24xlarge`) menggunakan fungsi RDMA perangkat untuk transfer satu sisi dan dua sisi.
   + `NCCL_DEBUG=INFO`—memungkinkan output debug terperinci. Anda juga dapat menentukan `VERSION` untuk mencetak versi NCCL saja di awal pengujian, atau `WARN` untuk menerima pesan kesalahan saja.

   Untuk informasi lebih lanjut mengenai argumen uji NCCL, lihat [Tes NCCL README](https://github.com/NVIDIA/nccl-tests/blob/master/README.md) dalam repositori nccl-tests resmi.
   + `p3dn.24xlarge`

     ```
     $ /opt/amazon/openmpi/bin/mpirun \
     -x LD_LIBRARY_PATH=/opt/nccl/build/lib:/usr/local/cuda/lib64:/opt/amazon/efa/lib:/opt/amazon/openmpi/lib:/opt/amazon/ofi-nccl/lib:$LD_LIBRARY_PATH \
     -x NCCL_DEBUG=INFO \
     --hostfile my-hosts -n 8 -N 8 \
     --mca pml ^cm --mca btl tcp,self --mca btl_tcp_if_exclude lo,docker0 --bind-to none \
     $HOME/nccl-tests/build/all_reduce_perf -b 8 -e 1G -f 2 -g 1 -c 1 -n 100
     ```
   + `p4d.24xlarge` dan `p5.48xlarge`

     ```
     $ /opt/amazon/openmpi/bin/mpirun \
     -x FI_EFA_USE_DEVICE_RDMA=1 \
     -x LD_LIBRARY_PATH=/opt/nccl/build/lib:/usr/local/cuda/lib64:/opt/amazon/efa/lib:/opt/amazon/openmpi/lib:/opt/amazon/ofi-nccl/lib:$LD_LIBRARY_PATH \
     -x NCCL_DEBUG=INFO \
     --hostfile my-hosts -n 8 -N 8 \
     --mca pml ^cm --mca btl tcp,self --mca btl_tcp_if_exclude lo,docker0 --bind-to none \
     $HOME/nccl-tests/build/all_reduce_perf -b 8 -e 1G -f 2 -g 1 -c 1 -n 100
     ```

1. Anda dapat mengonfirmasi bahwa EFA aktif sebagai penyedia pokok NCCL ketika log `NCCL_DEBUG` dicetak.

   ```
   ip-192-168-2-54:14:14 [0] NCCL INFO NET/OFI Selected Provider is efa*
   ```

   Informasi tambahan berikut ditampilkan saat menggunakan instans `p4d.24xlarge`.

   ```
   ip-192-168-2-54:14:14 [0] NCCL INFO NET/OFI Running on P4d platform, Setting NCCL_TOPO_FILE environment variable to /home/ec2-user/install/plugin/share/aws-ofi-nccl/xml/p4d-24xl-topo.xml
   ```

## Langkah 9: Instal aplikasi machine learning Anda
<a name="nccl-start-base-app"></a>

Instal aplikasi machine learning di instans sementara. Prosedur penginstalan bervariasi tergantung pada aplikasi machine learning tertentu. Untuk informasi selengkapnya tentang menginstal perangkat lunak pada instans Linux Anda, lihat [Mengelola perangkat lunak di instans Amazon Linux 2 Anda](https://docs.aws.amazon.com/linux/al2/ug/managing-software.html).

**catatan**  
Lihat dokumentasi aplikasi machine learning Anda untuk petunjuk penginstalan.

## Langkah 10: Buat EFA dan AMI NCCL-enabled
<a name="nccl-start-base-ami"></a>

Setelah Anda menginstal komponen perangkat lunak yang diperlukan, Anda membuat AMI yang dapat Anda gunakan kembali untuk meluncurkan EFA-enabled instance Anda.

**Untuk membuat AMI dari instans sementara Anda**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Instans**.

1. Pilih instans sementara yang Anda buat dan pilih **Tindakan**, **Gambar**, **Buat gambar**.

1. Untuk **Buat gambar**, lakukan hal berikut:

   1. Untuk **Nama gambar**, masukkan nama deskriptif untuk AMI.

   1. (Opsional) Untuk **Deskripsi gambar**, masukkan deskripsi singkat tentang tujuan AMI.

   1. Pilih **Buat gambar**.

1. Di panel navigasi, pilih **AMI**.

1. Temukan AMI yang Anda buat dalam daftar. Tunggu hingga status berubah dari `pending` menjadi `available` sebelum melanjutkan ke langkah berikutnya.

## Langkah 11: Mengakhiri instans sementara
<a name="nccl-start-base-terminate"></a>

Pada titik ini, Anda tidak memerlukan lagi instans sementara yang Anda luncurkan. Anda dapat mengakhiri instans agar biaya tidak dibebankan lagi padanya.

**Untuk mengakhiri instans sementara**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Instans**.

1. Pilih instans sementara yang Anda buat dan pilih **Tindakan**, **Status instans**, **Akhiri instans**.

1. Saat diminta konfirmasi, pilih **Akhiri**.

## Langkah 12: Luncurkan EFA dan NCCL-enabled instans ke dalam grup penempatan cluster
<a name="nccl-start-base-cluster"></a>

Luncurkan EFA dan NCCL-enabled instans Anda ke grup penempatan klaster menggunakan EFA-enabled AMI dan grup EFA-enabled keamanan yang Anda buat sebelumnya.

**catatan**  
Ini bukan persyaratan mutlak untuk meluncurkan EFA-enabled instance Anda ke dalam grup penempatan cluster. Namun, sebaiknya jalankan EFA-enabled instans Anda dalam grup penempatan klaster saat meluncurkan instance ke grup latensi rendah dalam satu Availability Zone.
Untuk memastikan kapasitas tersedia saat Anda menskalakan instans klaster, Anda dapat membuat Reservasi Kapasitas untuk grup penempatan klaster Anda. Untuk informasi selengkapnya, lihat [Gunakan Reservasi Kapasitas dengan grup penempatan klaster](cr-cpg.md).

------
#### [ New console ]

**Untuk meluncurkan instans sementara**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Instans**, lalu pilih **Luncurkan Instans** untuk membuka wizard peluncuran instans baru.

1. (*Opsional*) Di bagian **Nama dan tanda**, berikan nama untuk instans, seperti `EFA-instance`. Nama ditetapkan ke instans sebagai tanda sumber daya (`Name={{EFA-instance}}`).

1. Di bagian **Application and OS Images**, pilih **AMI Saya**, lalu pilih AMI yang Anda buat pada langkah sebelumnya.

1. Di bagian **Tipe instans**, pilih `p3dn.24xlarge` atau `p4d.24xlarge`.

1. Pada bagian **Pasangan kunci**, pilih pasangan kunci yang akan digunakan untuk instans.

1. Di bagian **Pengaturan jaringan**, pilih **Edit**, lalu lakukan hal berikut:

   1. Untuk **Subnet**, pilih subnet untuk meluncurkan instans. Jika Anda tidak memilih subnet, Anda tidak dapat mengaktifkan instans untuk EFA.

   1. Untuk **Firewall (grup keamanan)**, pilih **Pilih grup keamanan yang ada**, lalu pilih grup keamanan yang Anda buat di langkah sebelumnya.

   1. Perluas bagian **Konfigurasi jaringan lanjutan**.

      Untuk **antarmuka Jaringan 1**, pilih **Indeks kartu jaringan = 0**, **Indeks perangkat = 0**, dan **Jenis antarmuka = EFA dengan ENA**.

      (Opsional) Jika Anda menggunakan jenis instans multi-kartu, seperti `p4d.24xlarge` atau`p5.48xlarge`, untuk setiap antarmuka jaringan tambahan yang diperlukan, pilih **Tambahkan antarmuka jaringan**, untuk **Indeks kartu jaringan pilih indeks** yang tidak digunakan berikutnya, lalu pilih **Indeks perangkat = 1 dan Jenis antarmuka =** **EFA eith** ENA atau. **EFA-only**

1. (*Opsional*) Di bagian **Penyimpanan**, konfigurasikan volume sesuai kebutuhan.

1. Di bagian **Detail lanjutan**, untuk **nama grup Penempatan**, pilih grup penempatan klaster untuk meluncurkan instans. Jika Anda perlu membuat grup penempatan klaster baru, pilih **Buat grup penempatan baru**.

1. Di panel **Ringkasan** di sebelah kanan, untuk **Jumlah instance**, masukkan jumlah EFA-enabled instance yang ingin Anda luncurkan, lalu pilih **Launch** instance.

------
#### [ Old console ]

**Untuk meluncurkan EFA dan NCCL-enabled instans Anda ke dalam grup penempatan klaster**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Pilih **Luncurkan Instans**.

1. Di halaman **Pilih AMI**, pilih **AMI saya**, temukan AMI yang Anda buat sebelumnya, lalu pilih **Pilih**.

1. Di halaman **Pilih Tipe Instans**, pilih **p3dn.24xlarge** lalu pilih **Berikutnya: Konfigurasikan Detail Instans**.

1. Pada halaman **Konfigurasi Detail Instans**, lakukan langkah berikut:

   1. Untuk **Jumlah instans**, masukkan jumlah EFA dan NCCL-enabled instance yang ingin Anda luncurkan.

   1. Untuk **Jaringan** dan **Subnet**, pilih VPC dan subnet sebagai tujuan peluncuran instans.

   1. Untuk **Grup penempatan**, pilih **Tambahkan instans ke grup penempatan**.

   1. Untuk **Nama grup penempatan**, pilih **Tambahkan ke grup penempatan baru**, lalu masukkan nama deskriptif untuk grup penempatan. Lalu untuk **Strategi grup penempatan**, pilih **klaster**.

   1. Untuk **EFA**, pilih **Aktifkan**.

   1. Di bagian **Antarmuka Jaringan**, untuk perangkat **eth0**, pilih **Antarmuka jaringan baru**. Secara opsional, Anda dapat menentukan alamat IPv4 primer dan satu atau lebih alamat IPv4 sekunder. Jika Anda meluncurkan instans ke subnet yang memiliki blok CIDR IPv6 terkait, Anda dapat secara opsional menentukan alamat IPv6 primer dan satu atau lebih alamat IPv6 sekunder.

   1. Pilih **Berikutnya: Tambahkan Penyimpanan**.

1. Di halaman **Tambahkan Penyimpanan**, tentukan volume yang akan dipasang ke instans selain volume yang ditentukan oleh AMI (seperti volume perangkat root). Lalu, pilih **Berikutnya: Tambahkan Tanda**.

1. Di halaman **Tambahkan Tanda**, tentukan tanda untuk instans, seperti nama yang mudah digunakan, lalu pilih **Selanjutnya: Konfigurasikan Grup Keamanan**.

1. Di halaman **Mengonfigurasi Grup Keamanan**, untuk **Tetapkan grup keamanan**, pilih **Pilih grup keamanan yang sudah ada**, lalu pilih grup keamanan yang Anda buat sebelumnya.

1. Pilih **Tinjau dan Luncurkan**.

1. Di halaman **Meninjau Peluncuran Instans**, tinjau pengaturannya, lalu pilih **Luncurkan** untuk memilih key pair dan meluncurkan instans Anda.

------

## Langkah 13: Mengaktifkan SSH tanpa kata sandi
<a name="nccl-start-base-passwordless"></a>

Agar aplikasi Anda dapat berjalan di semua instans dalam klaster, Anda harus mengaktifkan akses SSH tanpa kata sandi dari simpul pemimpin ke simpul anggota. Simpul pemimpin adalah instans dari mana Anda menjalankan aplikasi Anda. Instans yang tersisa di klaster adalah simpul anggota.

**Untuk mengaktifkan SSH tanpa kata sandi antar instans dalam klaster**

1. Pilih satu instans dalam klaster sebagai simpul pemimpin, dan hubungkan ke instans tersebut.

1. Nonaktifkan `strictHostKeyChecking` dan aktifkan `ForwardAgent` pada simpul pemimpin. Buka `~/.ssh/config` menggunakan editor teks pilihan Anda dan tambahkan berikut ini.

   ```
   Host *
       ForwardAgent yes
   Host *
       StrictHostKeyChecking no
   ```

1. Membuat pasangan kunci RSA.

   ```
   $ ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
   ```

   Pasangan kunci dibuat dalam direktori `$HOME/.ssh/`.

1. Ubah izin kunci privat pada simpul pemimpin.

   ```
   $ chmod 600 ~/.ssh/id_rsa
   chmod 600 ~/.ssh/config
   ```

1. Buka `~/.ssh/id_rsa.pub` menggunakan editor teks pilihan Anda dan salin kunci.

1. Untuk setiap simpul anggota di klaster, lakukan hal berikut:

   1. Hubungkan dengan instans.

   1. Buka `~/.ssh/authorized_keys` menggunakan editor teks pilihan Anda tambahkan kunci publik yang Anda salin sebelumnya.

1. Untuk menguji apakah SSH tanpa kata sandi berfungsi seperti yang diharapkan, hubungkan ke simpul pemimpin Anda dan jalankan perintah berikut.

   ```
   $ ssh {{member_node_private_ip}}
   ```

   Anda harus terhubung ke simpul anggota tanpa diminta untuk memasukkan kunci atau kata sandi.