PasangAWS IoT GreengrassPerangkat lunak inti 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.

PasangAWS IoT GreengrassPerangkat lunak inti dengan penyediaan sumber daya khusus

Fitur ini tersedia untuk v2.4.0 dan versi kemudian dariKomponen inti Greengrass.

KlasterAWS IoT GreengrassPenginstal perangkat lunak inti menyediakan antarmuka Java yang dapat Anda terapkan dalam plugin khusus yang diperlukan ketentuanAWSSumber Daya. 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, lihatBuat sertifikat klien Anda sendiridi dalamAWS IoT CorePanduan Pengembang.

Untuk menjalankan plugin penyediaan kustom saat Anda menginstalAWS IoT GreengrassPerangkat lunak inti, Anda membuat file JAR yang Anda berikan kepada installer. Installer menjalankan plugin, dan plugin mengembalikan konfigurasi penyediaan yang mendefinisikanAWSsumber daya untuk perangkat inti Greengrass. Installer menggunakan informasi ini untuk mengkonfigurasiAWS IoT GreengrassPerangkat lunak 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 menginstalAWS IoT GreengrassPerangkat lunak inti dengan penyediaan kustom, Anda harus memiliki hal-hal 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 perangkat AndaAWS IoT GreengrassPerangkat inti.

Mengatur perangkat LinuxAWS IoT Greengrass V2

  1. Pasang waktu aktif Java, yang diperlukan oleh perangkat lunak inti AWS IoT Greengrass agar berjalan. Kami rekomendasikan agar Anda menggunakanAmazon Corretto 11atauOpenJDK 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 pada 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 membiarkanAWS IoT GreengrassPenginstal perangkat lunak inti membuat pengguna dan grup ini selama instalasi dengan--component-default-userargumen installer. Untuk informasi selengkapnya, lihat Argumen penginstal.

    sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group
  3. Verifikasi bahwa pengguna yang menjalankanAWS IoT GreengrassPerangkat lunak inti (biasanyaroot), memiliki izin untuk menjalankansudodengan pengguna dan grup apa pun.

    1. Jalankan perintah berikut untuk membuka/etc/sudoersberkas.

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

      root ALL=(ALL:ALL) ALL
  4. (Opsional) Untukmenjalankan fungsi Lambda terkontainerisasi, Anda harus mengaktifkancgroupsv1, dan Anda harus mengaktifkan dan memasangmemoridanpesawatcgroups. Jika Anda tidak berencana untuk menjalankan fungsi Lambda terkemas, 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.

    Tips: 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 menggunakan GNU nano untuk membuka file tersebut.

      sudo nano /boot/cmdline.txt
    2. Verifikasi bahwa/boot/cmdline.txtfile berisi parameter kernel berikut. Klastersystemd.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.txtfile tidak berisi parameter ini, atau berisi parameter ini dengan nilai yang berbeda, memperbarui file untuk berisi parameter dan nilai-nilai ini.

    3. Jika Anda memperbarui/boot/cmdline.txtfile, 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 kemudian dariKomponen 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 rekomendasikan agar Anda menggunakanAmazon Corretto 11atauOpenJDK 11.

  2. Periksa apakah Java tersedia padaJALANvariabel sistem, dan menambahkannya jika tidak. Klaster LocalSystem akun menjalankanAWS IoT GreengrassPerangkat lunak inti, 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. Jenisenvironment variablesuntuk mencari opsi sistem dari menu mulai.

    3. Di hasil pencarian menu mulai, pilihMengedit variabel lingkungan sistemuntuk membukaProperti sistemjendela.

    4. MemiilihVariabel lingkungan...untuk membukaVariabel Lingkunganjendela.

    5. Di bawahVariabel sistem, pilihJalur, dan kemudian pilihedit. DiEdit variabel lingkunganjendela, Anda dapat melihat setiap jalur pada baris terpisah.

    6. Periksa apakah path ke instalasi Javabinfolder ini ada. Path mungkin terlihat serupa dengan contoh berikut.

      C:\Program Files\Amazon Corretto\jdk11.0.13_8\bin
    7. Jika instalasi Javabinfolder hilang dariJalur, pilihBaruuntuk menambahkannya, lalu pilihOKE.

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

  4. Buat pengguna default di LocalSystem akun pada perangkat Windows. Gantikata sandidengan 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 pernah kedaluwarsa, jalankan perintah berikut.

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

  6. Gunakan PsExec utilitas untuk menyimpan nama pengguna dan kata sandi bagi pengguna default di Manajer Kredensi untuk LocalSystem akun. Gantikata sandidengan kata sandi pengguna yang Anda tetapkan sebelumnya.

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

    JikaPsExec License Agreementterbuka, pilihAcceptuntuk menyetujui lisensi dan menjalankan 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 mengunduhAWS IoT GreengrassPerangkat lunak inti

  1. Di perangkat inti Anda, unduhAWS IoT GreengrassPerangkat lunak 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. GantiGreengrassInstallerdengan 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 menginstalAWS IoT GreengrassPerangkat lunak inti. 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 versi kemudian, dan Anda dapat menghapus folder ini setelah menginstalAWS IoT GreengrassPerangkat lunak 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 menyediakanAWSSumber 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 danAWSsumber daya yang dibuat oleh plugin penyediaan khusus.

  • Tentukan untuk menggunakanggc_userpengguna sistem untuk menjalankan komponen perangkat lunak pada perangkat inti. Pada perangkat Linux, perintah ini juga menentukan untuk menggunakanggc_groupgrup sistem, dan penginstal membuat pengguna dan grup sistem untuk Anda.

  • SiapkanAWS IoT GreengrassPerangkat lunak inti sebagai layanan sistem yang berjalan saat boot. Pada perangkat Linux, ini membutuhkanSystemdsistem init.

    penting

    Pada perangkat inti Windows, Anda harus mengaturAWS IoT GreengrassPerangkat lunak 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.

    • GantiGreengrassInstallerdengan 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 menggunakan GNU nano 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.7.0" 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:

    • Ganti2.7.0dengan versiAWS IoT GreengrassPerangkat lunak 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.7.0" 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-pluginuntuk menyediakan plugin penyediaan kustom Anda, dan tentukan--init-configuntuk menyediakan file konfigurasi.

    • Ganti/greengrass/v2atauC:\greengrass\v2dengan folder akar Greengrass.

    • Ganti setiap contohGreengrassInstallerdengan folder tempat Anda membongkar penginstal.

    • 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 trueuntuk mengaturAWS IoT GreengrassPerangkat lunak 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: