Instal perangkat lunakAWS IoT Greengrass Core dengan penyediaan sumber daya khusus - AWS IoT Greengrass

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

Instal perangkat lunakAWS IoT Greengrass Core dengan penyediaan sumber daya khusus

Fitur ini tersedia untuk v2.4.0 dan versi yang lebih baru dari komponen inti Greengrass.

Penginstal perangkat lunakAWS IoT Greengrass Core menyediakan antarmuka Java yang dapat Anda terapkan dalam plugin khusus yang menyediakanAWS sumber daya yang diperlukan. Anda dapat mengembangkan plugin penyediaan untuk menggunakan sertifikat klien X.509 khusus atau untuk menjalankan langkah-langkah penyediaan kompleks yang tidak didukung oleh proses instalasi lain. Untuk informasi selengkapnya, lihat Membuat sertifikat klien Anda sendiri di PanduanAWS IoT Core Developer.

Untuk menjalankan plugin penyediaan kustom ketika Anda menginstal perangkat lunakAWS IoT Greengrass Core, Anda membuat file JAR yang Anda berikan kepada installer. Installer menjalankan plugin, dan plugin mengembalikan konfigurasi penyediaan yang mendefinisikanAWS sumber daya untuk perangkat inti Greengrass. Installer menggunakan informasi ini untuk mengkonfigurasi perangkat lunakAWS IoT Greengrass inti pada perangkat. Untuk informasi selengkapnya, lihat Mengembangkan plugin penyediaan kustom.

penting

Sebelum Anda mengunduh perangkat lunak inti AWS IoT Greengrass, periksa apakah perangkat inti Anda memenuhi persyaratan untuk menginstal dan menjalankan perangkat lunak inti v2.0 AWS IoT Greengrass.

Prasyarat

Untuk menginstal perangkat lunakAWS IoT Greengrass Core dengan penyediaan khusus, Anda harus memiliki yang berikut:

  • File JAR untuk plugin penyediaan kustom yang mengimplementasikanDeviceIdentityInterface. Plugin penyediaan khusus harus mengembalikan nilai untuk setiap parameter konfigurasi sistem dan nukleus. Jika tidak, Anda harus memberikan nilai-nilai tersebut dalam file konfigurasi selama instalasi. Untuk informasi selengkapnya, lihat Mengembangkan plugin penyediaan kustom.

Siapkan Lingkungan perangkat

Ikuti langkah-langkah di bagian ini untuk mengatur perangkat Linux atau Windows yang akan digunakan sebagai perangkatAWS IoT Greengrass inti Anda.

Mengatur perangkat LinuxAWS IoT Greengrass V2
  1. Pasang waktu aktif Java, yang diperlukan oleh perangkat lunak inti AWS IoT Greengrass agar berjalan. Kami menyarankan Anda menggunakan Amazon Corretto 11 atau OpenJDK 11. Perintah berikut menunjukkan kepada Anda bagaimana menginstal OpenJDK pada perangkat Anda.

    • Untuk distribusi berbasis Debian atau berbasis Ubuntu:

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

      sudo yum install java-11-openjdk-devel
    • Untuk Amazon Linux 2:

      sudo amazon-linux-extras install java-openjdk11

    Ketika penginstalan selesai, jalankan perintah berikut untuk memverifikasi bahwa Java berjalan di perangkat Linux Anda.

    java -version

    Perintah mencetak versi Java yang berjalan pada perangkat. Misalnya, pada distribusi berbasis Debian, output mungkin terlihat mirip dengan sampel berikut.

    openjdk version "11.0.9.1" 2020-11-04
    OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2)
    OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode)
  2. (Opsional) Buat pengguna sistem default dan grup yang menjalankan komponen pada perangkat. Anda juga dapat memilih untuk membiarkan penginstal perangkat lunakAWS IoT Greengrass inti membuat pengguna dan grup ini selama instalasi dengan argumen--component-default-user penginstal. Untuk informasi selengkapnya, lihat Argumen penginstal.

    sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group
  3. Verifikasi bahwa pengguna yang menjalankan perangkat lunakAWS IoT Greengrass inti (biasanyaroot) tidak memiliki izin untuk menjalankansudo dengan pengguna dan grup apa pun.

    1. Jalankan perintah berikut untuk membuka/etc/sudoers file.

      sudo visudo
    2. Verifikasi bahwa izin untuk pengguna terlihat seperti contoh berikut.

      root ALL=(ALL:ALL) ALL
  4. (Opsional) Untuk menjalankan fungsi Lambda dalam kontainer, Anda harus mengaktifkan cgroup v1, dan Anda harus mengaktifkan dan me-mount cgroup memori dan perangkat. Jika Anda tidak berencana untuk menjalankan fungsi Lambda dalam kontainer, Anda dapat melewati langkah ini.

    Untuk mengaktifkan opsi cgroups ini, boot perangkat dengan parameter kernel Linux berikut.

    cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0

    Untuk informasi tentang melihat dan mengatur parameter kernel untuk perangkat Anda, lihat dokumentasi untuk sistem operasi dan boot loader Anda. Ikuti petunjuk untuk mengatur parameter kernel secara permanen.

    Tip: Atur parameter kernel pada Raspberry Pi

    Jika perangkat Anda adalah Raspberry Pi, Anda dapat menyelesaikan langkah-langkah berikut untuk melihat dan memperbarui parameter kernel Linux-nya:

    1. Buka file /boot/cmdline.txt. File ini menentukan parameter kernel Linux untuk diterapkan saat Raspberry Pi melakukan boot.

      Sebagai contoh, pada sistem berbasis Linux, Anda dapat menjalankan perintah berikut untuk membuka file tersebut.

      sudo nano /boot/cmdline.txt
    2. Verifikasi bahwa/boot/cmdline.txt file tersebut berisi parameter kernel berikut. systemd.unified_cgroup_hierarchy=0Parameter menentukan untuk menggunakan cgroups v1 bukan cgroups v2.

      cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0

      Jika/boot/cmdline.txt file tidak berisi parameter ini, atau berisi parameter ini dengan nilai yang berbeda, perbarui file agar berisi parameter dan nilai ini.

    3. Jika Anda memperbarui/boot/cmdline.txt file, reboot Raspberry Pi untuk menerapkan perubahan.

      sudo reboot
  5. Instal semua dependensi lain yang diperlukan pada perangkat Anda seperti yang ditunjukkan oleh daftar persyaratan diPersyaratan perangkat.

catatan

Fitur ini tersedia untuk v2.5.0 dan versi yang lebih baru dari komponen inti Greengrass.

Mengatur perangkat WindowsAWS IoT Greengrass V2
  1. Pasang waktu aktif Java, yang diperlukan oleh perangkat lunak inti AWS IoT Greengrass agar berjalan. Kami menyarankan Anda menggunakan Amazon Corretto 11 atau OpenJDK 11.

  2. Periksa apakah Java tersedia pada variabel sistem PATH, dan tambahkan jika tidak. LocalSystem Akun menjalankan perangkat lunakAWS IoT Greengrass Core, jadi Anda harus menambahkan Java ke variabel sistem PATH, bukan variabel pengguna PATH untuk pengguna Anda. Lakukan hal berikut:

    1. Tekan tombol Windows untuk membuka menu mulai.

    2. Ketikenvironment variables untuk mencari opsi sistem dari menu mulai.

    3. Di hasil pencarian menu mulai, pilih Edit variabel lingkungan sistem untuk membuka jendela Properti sistem.

    4. Pilih Variabel lingkungan... untuk membuka jendela Variabel Lingkungan.

    5. Di bawah Variabel sistem, pilih Jalur, lalu pilih Edit. Di jendela variabel lingkungan Edit, Anda dapat melihat setiap jalur pada baris terpisah.

    6. Periksa apakah path kebin folder instalasi Java hadir. Path akan terlihat serupa dengan yang berikut ini.

      C:\Program Files\Amazon Corretto\jdk11.0.13_8\bin
    7. Jikabin folder instalasi Java hilang dari Path, pilih New untuk menambahkannya, dan kemudian pilih OK.

  3. Buka Windows Command Prompt (cmd.exe) sebagai administrator.

  4. Buat pengguna default di LocalSystem akun pada perangkat Windows. Ganti kata sandi dengan kata sandi yang aman.

    net user /add ggc_user password
    Tip

    Tergantung pada konfigurasi Windows Anda, kata sandi pengguna mungkin diatur untuk kedaluwarsa pada tanggal di masa future. Untuk memastikan aplikasi Greengrass Anda terus beroperasi, lacak kapan kata sandi kedaluwarsa, dan perbarui sebelum kedaluwarsa. Anda juga dapat mengatur kata sandi pengguna agar tidak pernah kedaluwarsa.

    • Untuk memeriksa kapan pengguna dan kata sandinya kedaluwarsa, jalankan perintah berikut.

      net user ggc_user | findstr /C:expires
    • Untuk mengatur kata sandi pengguna agar tidak kedaluwarsa, jalankan perintah berikut.

      wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False
  5. Unduh dan instal PsExecutilitas dari Microsoft pada perangkat.

  6. Gunakan PsExec utilitas untuk menyimpan nama pengguna dan kata sandi untuk pengguna default di instance Credential Manager untuk LocalSystem akun tersebut. Ganti kata sandi dengan kata sandi pengguna yang Anda tetapkan sebelumnya.

    psexec -s cmd /c cmdkey /generic:ggc_user /user:ggc_user /pass:password

    Jika PsExec License Agreementterbuka, pilih Acceptuntuk menyetujui lisensi dan jalankan perintah.

    catatan

    Pada perangkat Windows, LocalSystem akun menjalankan inti Greengrass, dan Anda harus menggunakan PsExec utilitas untuk menyimpan informasi pengguna default di LocalSystem akun. Menggunakan aplikasi Credential Manager menyimpan informasi ini di akun Windows pengguna yang saat ini masuk, bukan LocalSystem akun.

Unduh perangkat lunak inti AWS IoT Greengrass

Anda dapat mengunduh versi terbaru perangkat lunak inti AWS IoT Greengrass dari lokasi berikut:

catatan

Anda dapat mengunduh versi tertentu perangkat lunak inti AWS IoT Greengrass dari lokasi berikut. Ganti versi dengan versi yang akan diunduh.

https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip
Untuk mengunduh perangkat lunakAWS IoT Greengrass Inti
  1. Di perangkat inti Anda, unduh perangkat lunakAWS IoT Greengrass inti ke file bernamagreengrass-nucleus-latest.zip.

    Linux or Unix
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
    Windows Command Prompt (CMD)
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
    PowerShell
    iwr -Uri https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip -OutFile greengrass-nucleus-latest.zip

    Dengan mengunduh perangkat lunak ini, Anda menyetujui Perjanjian Lisensi Perangkat Lunak Greengrass Core.

  2. Unzip perangkat lunak inti AWS IoT Greengrass ke folder di perangkat Anda. Ganti GreengrassInstallerdengan folder yang ingin Anda gunakan.

    Linux or Unix
    unzip greengrass-nucleus-latest.zip -d GreengrassInstaller && rm greengrass-nucleus-latest.zip
    Windows Command Prompt (CMD)
    mkdir GreengrassInstaller && tar -xf greengrass-nucleus-latest.zip -C GreengrassInstaller && del greengrass-nucleus-latest.zip
    PowerShell
    Expand-Archive -Path greengrass-nucleus-latest.zip -DestinationPath .\GreengrassInstaller rm greengrass-nucleus-latest.zip
  3. (Opsional) Jalankan perintah berikut untuk melihat versi perangkat lunak inti AWS IoT Greengrass.

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
penting

Jika Anda menginstal versi inti Greengrass lebih awal dari v2.4.0, jangan hapus folder ini setelah Anda menginstal perangkat lunakAWS IoT Greengrass Core. Perangkat lunak inti AWS IoT Greengrass menggunakan file di folder ini yang akan dijalankan.

Jika Anda mengunduh versi terbaru dari perangkat lunak, Anda menginstal v2.4.0 atau yang lebih baru, dan Anda dapat menghapus folder ini setelah menginstal perangkat lunakAWS IoT Greengrass inti.

Instal perangkat lunak inti AWS IoT Greengrass

Jalankan penginstal dengan argumen yang menentukan tindakan berikut:

  • Instal dari file konfigurasi parsi yang menentukan untuk menggunakan plugin penyediaan kustom Anda untuk menyediakanAWS sumber daya. Perangkat lunak inti AWS IoT Greengrass menggunakan file konfigurasi yang menentukan konfigurasi setiap komponen Greengrass pada perangkat. Installer membuat file konfigurasi lengkap dari file konfigurasi parsi yang Anda berikan danAWS sumber daya yang dibuat oleh plugin penyediaan khusus.

  • Tentukan untuk menggunakan penggunaggc_user sistem untuk menjalankan komponen perangkat lunak pada perangkat inti. Pada perangkat Linux, perintah ini juga menentukan untuk menggunakan grupggc_group sistem, dan installer membuat pengguna sistem dan grup untuk Anda.

  • Siapkan perangkat lunakAWS IoT Greengrass inti sebagai layanan sistem yang berjalan saat boot. Pada perangkat Linux, ini membutuhkan sistem init Systemd.

    penting

    Di perangkat inti Windows, Anda harus mengatur perangkat lunakAWS IoT Greengrass inti sebagai layanan sistem.

Untuk informasi lebih lanjut tentang argumen yang dapat Anda tentukan, lihat Argumen penginstal.

catatan

Jika Anda menjalankan AWS IoT Greengrass pada perangkat dengan memori terbatas, Anda dapat mengontrol jumlah memori yang digunakan oleh perangkat lunak inti AWS IoT Greengrass. Untuk mengontrol alokasi memori, Anda dapat mengatur pilihan ukuran tumpukan JVM di konfigurasi parameter jvmOptions dalam komponen nukleus anda. Untuk informasi selengkapnya, lihat Kontrol alokasi memori dengan opsi JVM.

Untuk menginstal perangkat lunak inti AWS IoT Greengrass (Linux)
  1. Periksa versi perangkat lunak inti AWS IoT Greengrass.

    • Ganti GreengrassInstallerdengan jalur ke folder yang berisi perangkat lunak.

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
  2. Gunakan editor teks untuk membuat file konfigurasi bernama config.yaml yang akan disediakan ke penginstal.

    Sebagai contoh, pada sistem berbasis Linux, Anda dapat menjalankan perintah berikut untuk membuat file tersebut.

    nano GreengrassInstaller/config.yaml

    Salin konten YAML berikut ke dalam file.

    --- system: rootpath: "/greengrass/v2" # The following values are optional. Return them from the provisioning plugin or set them here. # certificateFilePath: "" # privateKeyPath: "" # rootCaPath: "" # thingName: "" services: aws.greengrass.Nucleus: version: "2.9.4" configuration: # The following values are optional. Return them from the provisioning plugin or set them here. # awsRegion: "" # iotRoleAlias: "" # iotDataEndpoint: "" # iotCredEndpoint: "" com.example.CustomProvisioning: configuration: # You can specify configuration parameters to provide to your plugin. # pluginParameter: ""

    Kemudian, lakukan hal berikut:

    • Ganti 2.9.4 dengan versi perangkat lunakAWS IoT Greengrass inti.

    • Ganti setiap instans /greengrass/v2 dengan folder akar Greengrass.

    • (Opsional) Tentukan nilai konfigurasi sistem dan nukleus. Anda harus menetapkan nilai-nilai ini jika plugin provisioning Anda tidak menyediakannya.

    • (Opsional) Tentukan parameter konfigurasi untuk diberikan ke plugin penyediaan Anda.

    catatan

    Dalam file konfigurasi ini, Anda dapat menyesuaikan opsi konfigurasi lain, seperti port dan proksi jaringan yang akan digunakan, seperti yang ditunjukkan dalam contoh berikut. Untuk informasi selengkapnya, lihat konfigurasi nukleus Greengrass.

    --- system: rootpath: "/greengrass/v2" # The following values are optional. Return them from the provisioning plugin or set them here. # certificateFilePath: "" # privateKeyPath: "" # rootCaPath: "" # thingName: "" services: aws.greengrass.Nucleus: version: "2.9.4" configuration: mqtt: port: 443 greengrassDataPlanePort: 443 networkProxy: noProxyAddresses: "http://192.168.0.1,www.example.com" proxy: url: "http://my-proxy-server:1100" username: "Mary_Major" password: "pass@word1357" # The following values are optional. Return them from the provisioning plugin or set them here. # awsRegion: "" # iotRoleAlias: "" # iotDataEndpoint: "" # iotCredEndpoint: "" com.example.CustomProvisioning: configuration: # You can specify configuration parameters to provide to your plugin. # pluginParameter: ""
  3. Jalankan pemasang. Tentukan--trusted-plugin untuk menyediakan plugin penyediaan kustom Anda, dan tentukan--init-config untuk menyediakan file konfigurasi.

    • Ganti /greengrass/v2 atau C:\greengrass\v2 dengan folder akar Greengrass.

    • Ganti setiap instans GreengrassInstallerdengan folder tempat Anda membongkar penginstal tersebut.

    • Ganti path ke file JAR plugin penyediaan kustom dengan path ke file JAR plugin Anda.

    Linux or Unix
    sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassInstaller/lib/Greengrass.jar \ --trusted-plugin /path/to/com.example.CustomProvisioning.jar \ --init-config ./GreengrassInstaller/config.yaml \ --component-default-user ggc_user:ggc_group \ --setup-system-service true
    Windows Command Prompt (CMD)
    java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ^ -jar ./GreengrassInstaller/lib/Greengrass.jar ^ --trusted-plugin /path/to/com.example.CustomProvisioning.jar ^ --init-config ./GreengrassInstaller/config.yaml ^ --component-default-user ggc_user ^ --setup-system-service true
    PowerShell
    java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ` -jar ./GreengrassInstaller/lib/Greengrass.jar ` --trusted-plugin /path/to/com.example.CustomProvisioning.jar ` --init-config ./GreengrassInstaller/config.yaml ` --component-default-user ggc_user ` --setup-system-service true
    penting

    Pada perangkat inti Windows, Anda harus menentukan--setup-system-service true untuk mengatur perangkat lunakAWS IoT Greengrass inti sebagai layanan sistem.

    Jika Anda menentukan --setup-system-service true, penginstal akan mencetak Successfully set up Nucleus as a system service jika ia mengatur dan menjalankan perangkat lunak sebagai layanan. Jika tidak, installer tersebut tidak akan menghasilkan pesan apa pun jika ia berhasil menginstal perangkat lunak tersebut.

    catatan

    Anda tidak dapat menggunakan argumen deploy-dev-tools untuk men-deploy alat pengembangan lokal ketika Anda menjalankan penginstal tersebut tanpa argumen --provision true. Untuk informasi tentang cara men-deploy Greengrass CLI secara langsung pada perangkat Anda, lihat Antarmuka Baris Perintah Greengrass.

  4. Verifikasi penginstalan dengan melihat file di folder akar.

    Linux or Unix
    ls /greengrass/v2
    Windows Command Prompt (CMD)
    dir C:\greengrass\v2
    PowerShell
    ls C:\greengrass\v2

    Jika penginstalan berhasil, folder akar berisi beberapa folder, seperti config, packages, dan logs.

Jika Anda telah menginstal perangkat lunak inti AWS IoT Greengrass sebagai layanan sistem, installer akan menjalankan perangkat lunak tersebut untuk Anda. Jika tidak, Anda harus menjalankan perangkat lunak itu secara manual. Untuk informasi selengkapnya, lihat Jalankan perangkat lunak inti AWS IoT Greengrass.

Untuk informasi lebih lanjut tentang cara mengonfigurasi dan menggunakan perangkat lunak dan AWS IoT Greengrass, lihat hal berikut: