Mengatur instans Amazon EC2 - AWS IoT Greengrass

AWS IoT Greengrass Version 1 memasuki fase umur panjang pada 30 Juni 2023. Untuk informasi selengkapnya, lihat kebijakan AWS IoT Greengrass V1 pemeliharaan. Setelah tanggal ini, tidak AWS IoT Greengrass V1 akan merilis pembaruan yang menyediakan fitur, penyempurnaan, perbaikan bug, atau patch keamanan. Perangkat yang berjalan AWS IoT Greengrass V1 tidak akan terganggu dan akan terus beroperasi dan terhubung ke cloud. Kami sangat menyarankan Anda bermigrasi ke AWS IoT Greengrass Version 2, yang menambahkan fitur baru yang signifikan dan dukungan untuk platform tambahan.

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

Mengatur instans Amazon EC2

Ikuti langkah-langkah dalam topik ini untuk mengatur instans Amazon EC2 untuk digunakan sebagai AWS IoT Greengrass core.

Tip

Atau, untuk menggunakan skrip yang mengatur lingkungan Anda dan menginstal perangkat lunak AWS IoT Greengrass Core untuk Anda, lihatQuick start: penyiapan perangkat Greengrass.

Meskipun Anda dapat menyelesaikan tutorial ini menggunakan instans Amazon EC2, idealnya AWS IoT Greengrass harus digunakan dengan perangkat keras fisik. Kami merekomendasikan bahwa Anda mengatur Raspberry Pi sebagai ganti menggunakan instans Amazon EC2 ketika mengizinkan. Jika Anda menggunakan Raspberry Pi, Anda tidak perlu mengikuti langkah-langkah dalam topik ini.

 

  1. Masuk ke AWS Management Console dan meluncurkan instans Amazon EC2 menggunakan Amazon Linux AMI. Untuk informasi tentang instans Amazon EC2, lihat Panduan Memulai Amazon EC2.

  2. Setelah instans Amazon EC2 Anda berjalan, aktifkan port 8883 untuk memungkinkan komunikasi MQTT yang masuk sehingga perangkat lain dapat terhubung dengan inti. AWS IoT Greengrass

    1. Dalam panel navigasi konsol Amazon EC2, pilih Grup Keamanan.

      Panel navigasi dengan Grup Keamanan disorot.
    2. Pilih grup keamanan untuk instance yang baru saja Anda luncurkan, lalu pilih tab Aturan masuk.

    3. Pilih Edit aturan masuk.

      Untuk mengaktifkan port 8883, Anda menambahkan aturan TCP kustom untuk grup keamanan. Untuk informasi selengkapnya, lihat Menambahkan aturan ke grup keamanan di Panduan Pengguna Amazon EC2.

    4. Pada halaman Edit aturan masuk, pilih Tambahkan aturan, masukkan pengaturan berikut, lalu pilih Simpan.

      • Untuk Jenis, pilih Aturan TCP Kustom.

      • Untuk Rentang port, masukkan 8883.

      • Untuk Sumber, pilih Di mana saja.

      • Untuk Deskripsi, masukkan MQTT Communications.

       

  3. Hubungkan ke instans Amazon EC2 Anda.

    1. Dalam panel navigasi, pilih Instans, pilih instans Anda, lalu pilih Connect.

    2. Ikuti petunjuk di Connect ke Instans Anda untuk terhubung ke instans Anda dengan menggunakan SSH dan file kunci privat Anda.

    Anda dapat menggunakan PuTTY untuk Windows atau Terminal untuk macOS. Untuk informasi selengkapnya, lihat Connect ke instans Linux Anda di Panduan Pengguna Amazon EC2.

    Anda sekarang siap untuk mengatur instans Amazon EC2 Anda untuk AWS IoT Greengrass.

  4. Setelah Anda terhubung ke instans Amazon EC2, buat ggc_user dan ggc_group akun:

    sudo adduser --system ggc_user sudo groupadd --system ggc_group
    catatan

    Jika perintah adduser tidak tersedia di sistem Anda, gunakan perintah berikut.

    sudo useradd --system ggc_user
  5. Untuk meningkatkan keamanan, pastikan bahwa perlindungan hardlink dan softlink (symlink) diaktifkan pada sistem operasi contoh Amazon EC2 saat startup.

    catatan

    Langkah-langkah untuk mengaktifkan perlindungan hardlink dan softlink bervariasi menurut sistem operasi. Lihat dokumentasi untuk distribusi Anda.

    1. Jalankan perintah berikut ini untuk memeriksa apakah perlindungan hardlink dan softlink diaktifkan:

      sudo sysctl -a | grep fs.protected

      Jika hardlink dan softlink diatur ke 1, perlindungan Anda diaktifkan dengan benar. Lanjutkan ke langkah 6.

      catatan

      Softlink diwakili oleh fs.protected_symlinks.

    2. Jika hardlink dan softlink tidak diatur ke 1, aktifkan perlindungan ini. Arahkan ke file konfigurasi sistem Anda.

      cd /etc/sysctl.d ls
    3. Menggunakan editor teks favorit Anda (Leafpad, GNU nano, atau vi), tambahkan dua baris berikut ke akhir file konfigurasi sistem. Di Amazon Linux 1, ini adalah 00-defaults.conf file. Di Amazon Linux 2, ini adalah 99-amazon.conf file. Anda mungkin harus mengubah izin (menggunakan chmod perintah) untuk menulis ke file, atau menggunakan sudo perintah untuk mengedit sebagai root (sebagai contoh, sudo nano 00-defaults.conf).

      fs.protected_hardlinks = 1 fs.protected_symlinks = 1
    4. Reboot instans Amazon EC2.

      sudo reboot

      Setelah beberapa menit, terhubung ke contoh Anda menggunakan SSH lalu jalankan perintah berikut untuk mengonfirmasi perubahan.

      sudo sysctl -a | grep fs.protected

      Anda akan melihat bahwa hardlink dan softlink diatur ke 1.

  6. Ekstrak dan jalankan skrip berikut untuk memasang grup kontrol Linux (cgroups). Hal ini memungkinkan AWS IoT Greengrass untuk mengatur batas memori untuk fungsi Lambda. Cgroups juga diperlukan untuk berjalan AWS IoT Greengrass dalam mode containerization default.

    curl https://raw.githubusercontent.com/tianon/cgroupfs-mount/951c38ee8d802330454bdede20d85ec1c0f8d312/cgroupfs-mount > cgroupfs-mount.sh chmod +x cgroupfs-mount.sh sudo bash ./cgroupfs-mount.sh

    Instans Amazon EC2 Anda sekarang harus siap untuk AWS IoT Greengrass.

  7. Tidak wajib. Instal waktu aktif Java 8, yang diperlukan oleh pengelola pengaliran. Tutorial ini tidak menggunakan pengelola pengaliran, tetapi menggunakan alur kerja pembuatan Grup Default yang mengaktifkan pengelola pengaliran secara default. Gunakan perintah berikut untuk menginstal waktu aktif Java 8 pada perangkat core, atau menonaktifkan pengelola pengaliran sebelum Anda men-deploy grup Anda. Petunjuk untuk menonaktifkan pengelola pengaliran disediakan dalam Modul 3.

    • Untuk distribusi berbasis Debian:

      sudo apt install openjdk-8-jdk
    • Untuk distribusi berbasis Red Hat:

      sudo yum install java-1.8.0-openjdk
  8. Untuk memastikan bahwa Anda memiliki semua dependensi yang diperlukan, unduh dan jalankan pemeriksa dependensi Greengrass dari repositori Sampel aktif.AWS IoT Greengrass GitHub Perintah ini mengunduh, unzip, dan menjalankan skrip pemeriksa dependensi dalam contoh Amazon EC2 Anda.

    mkdir greengrass-dependency-checker-GGCv1.11.x cd greengrass-dependency-checker-GGCv1.11.x wget https://github.com/aws-samples/aws-greengrass-samples/raw/master/greengrass-dependency-checker-GGCv1.11.x.zip unzip greengrass-dependency-checker-GGCv1.11.x.zip cd greengrass-dependency-checker-GGCv1.11.x sudo ./check_ggc_dependencies | more
    penting

    Tutorial ini membutuhkan waktu aktif Python 3.7 untuk menjalankan fungsi Lambda lokal. Ketika pengelola pengaliran diaktifkan, itu juga membutuhkan waktu aktif Java 8. Jika skrip check_ggc_dependencies menghasilkan peringatan tentang prasyarat waktu aktif yang hilang ini, pastikan untuk menginstalnya sebelum Anda melanjutkan. Anda dapat mengabaikan peringatan tentang prasyarat waktu aktif opsional lainnya yang hilang.

Konfigurasi instans Amazon EC2 Anda selesai. Lanjutkan ke Modul 2: MenginstalAWS IoT GreengrassPerangkat lunak inti.