Instal AWS IoT Greengrass perangkat lunak Core - 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.

Instal AWS IoT Greengrass perangkat lunak Core

Perangkat lunak Core AWS IoT Greengrass memperluas fungsionalitas AWS ke AWS IoT Greengrass perangkat core, sehingga memungkinkan perangkat lokal bertindak secara lokal pada data yang mereka hasilkan.

AWS IoT Greengrass menyediakan beberapa opsi untuk menginstal AWS IoT Greengrass perangkat lunak Core:

AWS IoT Greengrass juga menyediakan lingkungan terkontainerisasi yang menjalankan AWS IoT Greengrass perangkat lunak Core.

 

Mengunduh dan mengekstraksi AWS IoT Greengrass paket perangkat lunak Core

Memilih AWS IoT Greengrass perangkat lunak core untuk platform Anda untuk diunduh sebagai file tar.gz dan mengekstraksi pada perangkat Anda. Anda dapat mengunduh versi terbaru dari perangkat lunak. Untuk informasi selengkapnya, lihat AWS IoT Greengrass Perangkat lunak inti.

 

Jalankan skrip pengaturan perangkat Greengrass

Jalankan pengaturan perangkat Greengrass untuk mengonfigurasi perangkat Anda, menginstal versi AWS IoT Greengrass terbaru perangkat lunak Core, dan men-deploy fungsi Hello World Lambda dalam hitungan menit. Untuk informasi selengkapnya, lihat Quick start: penyiapan perangkat Greengrass.

 

Instal AWS IoT Greengrass perangkat lunak core dari repositori APT

penting

Mulai 11 Februari 2022, Anda tidak dapat lagi menginstal atau memperbarui perangkat lunak AWS IoT Greengrass Core dari repositori APT. Pada perangkat tempat Anda menambahkan AWS IoT Greengrass repositori, Anda harus menghapus repositori dari daftar sumber. Perangkat yang menjalankan perangkat lunak dari repositori APT akan terus beroperasi secara normal. Kami menyarankan Anda memperbarui perangkat lunak AWS IoT Greengrass Core menggunakan file tar.

Repositori APT yang disediakan oleh AWS IoT Greengrass termasuk paket berikut:

  • aws-iot-greengrass-core. Menginstal AWS IoT Greengrass perangkat lunak Core.

  • aws-iot-greengrass-keyring. Menginstal tombol GnuPG (GPG) yang digunakan untuk menandatangani AWS IoT Greengrass paket repositori.

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

Gunakan skrip systemd untuk mengelola siklus hidup Greengrass daemon

Paket aws-iot-greengrass-core juga menginstal systemd skrip yang dapat Anda gunakan untuk mengelola AWS IoT Greengrass siklus hidup perangkat lunak Core (daemon).

  • Untuk memulai Greengrass daemon saat boot:

    systemctl enable greengrass.service
  • Untuk memulai Greengrass daemon:

    systemctl start greengrass.service
  • Untuk menghentikan Greengrass daemon:

    systemctl stop greengrass.service
  • Untuk memeriksa status Greengrass daemon:

    systemctl status greengrass.service

Copot pemasangan perangkat lunak AWS IoT Greengrass inti menggunakan repositori APT

Ketika Anda menghapus perangkat lunak AWS IoT Greengrass inti, Anda dapat memilih apakah akan menyimpan atau menghapus informasi konfigurasi perangkat lunak AWS IoT Greengrass inti, seperti sertifikat perangkat, informasi grup, dan file log.

Untuk menghapus perangkat lunak AWS IoT Greengrass inti dan melestarikan informasi konfigurasi
  • Jalankan perintah berikut untuk menghapus paket perangkat lunak AWS IoT Greengrass inti dan menyimpan informasi konfigurasi dalam /greengrass folder.

    sudo apt remove aws-iot-greengrass-core aws-iot-greengrass-keyring
Untuk menghapus perangkat lunak AWS IoT Greengrass inti dan menghapus informasi konfigurasi
  1. Jalankan perintah berikut untuk menghapus paket perangkat lunak AWS IoT Greengrass inti dan menghapus informasi konfigurasi dari file/greengrass folder.

    sudo apt purge aws-iot-greengrass-core aws-iot-greengrass-keyring
  2. Hapus repositori perangkat lunak AWS IoT Greengrass inti dari daftar sumber Anda. Untuk informasi selengkapnya, lihat Hapus sumber repositori perangkat lunak AWS IoT Greengrass inti.

Hapus sumber repositori perangkat lunak AWS IoT Greengrass inti

Anda dapat menghapus sumber repositori perangkat lunak AWS IoT Greengrass inti ketika Anda tidak perlu lagi menginstal atau memperbarui perangkat lunak AWS IoT Greengrass inti dari repositori APT. Setelah 11 Februari 2022, Anda harus menghapus repositori dari daftar sumber Anda untuk menghindari kesalahan saat menjalankan. apt update

Untuk menghapus repositori APT dari daftar sumber
  • Jalankan perintah berikut untuk menghapus repositori perangkat lunak AWS IoT Greengrass inti dari daftar sumber.

    sudo rm /etc/apt/sources.list.d/greengrass.list sudo apt update

Jalankan AWS IoT Greengrass dalam kontainer Docker

AWS IoT Greengrass menyediakan Dockerfile dan gambar Docker yang membuatnya lebih mudah bagi Anda untuk menjalankan AWS IoT Greengrass perangkat lunak Core dalam kontainer Docker. Untuk informasi selengkapnya, lihat AWS IoT Greengrass Perangkat lunak Docker.

catatan

Anda juga dapat menjalankan aplikasi Docker pada perangkat core Greengrass. Untuk melakukannya, gunakan Greengrass Docker aplikasi deployment konektor.

 

Jalankan AWS IoT Greengrass dalam snap

AWS IoT Greengrass snap 1.11.x memungkinkan Anda untuk menjalankan versi terbatas AWS IoT Greengrass melalui paket perangkat lunak yang mudah digunakan, bersama dengan semua dependensi yang diperlukan, dalam lingkungan terkontainer.

Pada 31 Desember 2023, AWS IoT Greengrass akan mengakhiri pemeliharaan untuk perangkat lunak AWS IoT Greengrass inti versi 1.11.x Snap yang diterbitkan di snapcraft.io. Perangkat yang saat ini menjalankan Snap akan terus berfungsi hingga pemberitahuan lebih lanjut. Namun, Snap AWS IoT Greengrass inti tidak akan lagi menerima tambalan keamanan atau perbaikan bug setelah pemeliharaan berakhir.

Konsep snap

Berikut ini adalah konsep snap penting untuk membantu Anda memahami bagaimana menggunakan AWS IoT Greengrass snap:

Kanal

Komponen snap yang mendefinisikan versi snap yang diinstal dan dilacak untuk update. Snap di-update secara otomatis ke versi terbaru saluran saat ini.

Antarmuka

Komponen snap yang memberikan akses ke sumber daya, seperti jaringan dan file pengguna.

Untuk menjalankan AWS IoT Greengrass snap, antaramuka berikut harus terhubung. Perhatikan bahwa greengrass-support-no-container harus terhubung terlebih dahulu dan tidak pernah terputus.

- greengrass-support-no-container - hardware-observe - home-for-hooks - hugepages-control - log-observe - mount-observe - network - network-bind - network-control - process-control - system-observe

Antarmuka lain bersifat opsional. Jika fungsi Lambda Anda memerlukan akses ke sumber daya tertentu, Anda mungkin perlu terhubung ke antarmuka yang sesuai.

Segarkan

Snap di-update secara otomatis. Daemon snapd adalah pengelola paket snap yang memeriksa pembaruan empat kali sehari secara default. Setiap update memeriksa disebut refresh. Ketika refresh terjadi, daemon berhenti, snap akan di-update, dan kemudian daemon restart.

Untuk informasi lebih lanjut, lihat situs web Snapcraft ini.

Yang baru dengan AWS IoT Greengrass snap v1.11.x

Berikut ini menjelaskan apa yang baru dan berubah dengan versi 1.11.x AWS IoT Greengrass snap.

  • Versi ini hanya mendukung snap_daemon pengguna, diekspos sebagai user ID (UID) dan group (GID) 584788.

  • Versi ini hanya mendukung fungsi Lambda noncontainerized.

    penting

    Karena fungsi Lambda noncontainerized harus berbagi pengguna yang sama (snap_daemon), fungsi Lambda tidak memiliki isolasi satu sama lain. Untuk informasi selengkapnya, lihat Mengontrol pelaksanaan fungsi Greengrass Lambda dengan menggunakan konfigurasi khusus grup.

  • Versi ini mendukung C, C ++, Java 8, Node.js 12.x, Python 2.7, Python 3.7, dan Python 3.8 waktu aktif.

    catatan

    Untuk menghindari waktu aktif Python berlebihan, Python 3.7 fungsi Lambda benar-benar menjalankan Python 3.8 waktu aktif.

Memulai dengan AWS IoT Greengrass snap

Prosedur berikut membantu Anda menginstal dan mengonfigurasi AWS IoT Greengrass snap pada perangkat anda.

Persyaratan

Untuk menjalankan AWS IoT Greengrass snap, Anda harus melakukan hal berikut:

  • Jalankan AWS IoT Greengrass snap pada distribusi Linux yang didukung, seperti Ubuntu, Linux Mint, Debian, dan Fedora.

  • Instal snapd daemon pada perangkat Anda. Daemon snapd termasuk snap alat mengelola lingkungan snap pada perangkat Anda.

Untuk daftar distribusi Linux yang didukung dan petunjuk penginstalan, lihat Menginstal snapd dalam Dokumentasi Snap.

Instal dan konfigurasi AWS IoT Greengrass snap

Tutorial berikut menunjukkan kepada Anda bagaimana menginstal dan mengonfigurasi AWS IoT Greengrass snap pada perangkat Anda.

catatan
  • Meskipun tutorial ini menggunakan contoh Amazon EC2 (x86 t2.micro Ubuntu 20.04), Anda dapat menjalankan AWS IoT Greengrass snap dengan prangkat keras fisik, seperti Raspberry Pi.

  • Daemon snapd sudah terinstal di Ubuntu.

  1. Instal core18 snap dengan menjalankan perintah berikut di terminal perangkat Anda:

    sudo snap install core18

    Snap core18 adalah snap dasar yang menyediakan lingkungan waktu aktif dengan perpustakaan umum yang digunakan. Snap ini dibangun dari LTS Ubuntu 18.04.

  2. Upgrade snapd dengan menjalankan perintah berikut:

    sudo snap install --channel=edge snapd; sudo snap refresh --channel=edge snapd
  3. Jalankan snap list perintah untuk memeriksa apakah Anda telah AWS IoT Greengrass menginstal snap.

    Contoh respons berikut menunjukkan bahwa snapd dipasang, tetapi aws-iot-greengrass bukan.

    Name Version Rev Tracking Publisher Notes amazon-ssm-agent 3.0.161.0 2996 latest/stable/… aws✓ classic core 16-2.48 10444 latest/stable canonical✓ core core18 20200929 1932 latest/stable canonical✓ base lxd 4.0.4 18150 4.0/stable/… canonical✓ - snapd 2.48+git548.g929ccfb 10526 latest/edge canonical✓ snapd
  4. Pilih salah satu opsi berikut untuk diinstal AWS IoT Greengrass snap 1.11.x.

    • Untuk instal AWS IoT Greengrass di Ubuntu, jalankan perintah berikut:

      sudo snap install aws-iot-greengrass

      Contoh respons:

      aws-iot-greengrass 1.11.5 from Amazon Web Services (aws) installed
    • Untuk bermigrasi dari versi sebelumnya ke v1.11.x atau update ke versi patch terbaru yang tersedia, jalankan perintah berikut:

      sudo snap refresh --channel=1.11.x aws-iot-greengrass

    Seperti snap lainnya, AWS IoT Greengrass snap menggunakan saluran untuk mengelola versi minor. Snap di-update secara otomatis ke versi terbaru saluran saat ini yang tersedia. Misalnya, jika Anda menentukan--channel=1.11.x, AWS IoT Greengrass snap Anda diperbarui ke v1.11.5.

    Anda dapat menjalankan snap info aws-iot-greengrass untuk mendapatkan daftar saluran yang tersedia untuk AWS IoT Greengrass.

    Contoh respons:

    name: aws-iot-greengrass summary: AWS supported software that extends cloud capabilities to local devices. publisher: Amazon Web Services (aws✓) store-url: https://snapcraft.io/aws-iot-greengrass contact: https://repost.aws/tags/TA4ckIed1sR4enZBey29rKTg/aws-io-t-greengrass license: Proprietary description: | AWS IoT Greengrass seamlessly extends AWS onto edge devices so they can act locally on the data they generate, while still using the cloud for management, analytics, and durable storage. AWS IoT Greenrgrass snap v1.11.0 enables you to run a limited version of AWS IoT Greengrass with all necessary dependencies in a containerized environment. The AWS IoT Greengrass snap doesn't support connectors and machine learning (ML) inference. By downloading this software you agree to the Greengrass Core Software License Agreement (https://s3-us-west-2.amazonaws.com/greengrass-release-license/greengrass-license-v1.pdf). For more information, see Run AWS IoT Greengrass in a snap (https://docs.aws.amazon.com/greengrass/latest/developerguide/install-ggc.html#gg-snap-support) in the AWS IoT Greengrass Developer. If you need help, try the AWS IoT Greengrass tag on AWS re:Post (https://repost.aws/tags/TA4ckIed1sR4enZBey29rKTg/aws-io-t-greengrass) or connect with an AWS IQ expert (https://iq.aws.amazon.com/services/aws/greengrass). snap-id: SRDuhPJGj4XPxFNNZQKOTvURAp0wxKnd channels: latest/stable: 1.11.3 2021-06-15 (59) 111MB - latest/candidate: 1.11.3 2021-06-14 (59) 111MB - latest/beta: 1.11.3 2021-06-14 (59) 111MB - latest/edge: 1.11.3 2021-06-14 (59) 111MB - 1.11.x/stable: 1.11.3 2021-06-15 (59) 111MB - 1.11.x/candidate: 1.11.3 2021-06-15 (59) 111MB - 1.11.x/beta: 1.11.3 2021-06-15 (59) 111MB - 1.11.x/edge: 1.11.3 2021-06-15 (59) 111MB -
  5. Untuk mengakses sumber daya spesifik yang dibutuhkan fungsi Lambda Anda, Anda dapat terhubung ke antarmuka tambahan.

    Jalankan perintah berikut untuk mendapatkan daftar AWS IoT Greengrass antarmuka yang didukung snap:

    snap connections aws-iot-greengrass

    Contoh respons:

    Interface Plug Slot Notes camera aws-iot-greengrass:camera - - dvb aws-iot-greengrass:dvb - - gpio aws-iot-greengrass:gpio - - gpio-memory-control aws-iot-greengrass:gpio-memory-control - - greengrass-support aws-iot-greengrass:greengrass-support-no-container :greengrass-support - hardware-observe aws-iot-greengrass:hardware-observe :hardware-observe manual hardware-random-control aws-iot-greengrass:hardware-random-control - - home aws-iot-greengrass:home-for-greengrassd - - home aws-iot-greengrass:home-for-hooks :home manual hugepages-control aws-iot-greengrass:hugepages-control :hugepages-control manual i2c aws-iot-greengrass:i2c - - iio aws-iot-greengrass:iio - - joystick aws-iot-greengrass:joystick - - log-observe aws-iot-greengrass:log-observe :log-observe manual mount-observe aws-iot-greengrass:mount-observe :mount-observe manual network aws-iot-greengrass:network :network - network-bind aws-iot-greengrass:network-bind :network-bind - network-control aws-iot-greengrass:network-control :network-control - opengl aws-iot-greengrass:opengl :opengl - optical-drive aws-iot-greengrass:optical-drive :optical-drive - process-control aws-iot-greengrass:process-control :process-control - raw-usb aws-iot-greengrass:raw-usb - - removable-media aws-iot-greengrass:removable-media - - serial-port aws-iot-greengrass:serial-port - - spi aws-iot-greengrass:spi - - system-observe aws-iot-greengrass:system-observe :system-observe -

    Jika Anda melihat tanda hubung (-) di kolom Slot, antarmuka yang sesuai tidak terhubung.

  6. Ikuti Menginstal perangkat lunak AWS IoT Greengrass Core untuk membuat AWS IoT sesuatu, grup Greengrass, sumber daya keamanan yang memungkinkan komunikasi aman AWS IoT dengan, dan AWS IoT Greengrass file konfigurasi perangkat lunak Core. File konfigurasi,config.json, berisi konfigurasi khusus untuk inti Greengrass Anda, seperti lokasi file sertifikat dan titik akhir data perangkat. AWS IoT

    catatan

    Jika Anda mengunduh file ke perangkat lain, ikuti langkah ini untuk mentransfer file ke perangkat AWS IoT Greengrass inti.

  7. Untuk AWS IoT Greengrass snap, pastikan bahwa Anda meng-update file config.json, seperti yang ditunjukkan dalam berikut:

    • Ganti setiap instance CertificateID dengan ID sertifikat atas nama sertifikat dan file kunci.

    • Jika Anda mengunduh sertifikat CA root Amazon yang berbeda dari Amazon Root CA 1, ganti setiap instance AmazonRootCa1.PEM dengan nama file CA root Amazon.

    { ... "crypto" : { "principals" : { "SecretsManager" : { "privateKeyPath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/certificateId-private.pem.keyy" }, "IoTCertificate" : { "privateKeyPath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/certificateId-private.pem.key", "certificatePath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/certificateId-certificate.pem.crt" } }, "caPath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/AmazonRootCA1.pem" }, "writeDirectory": "/var/snap/aws-iot-greengrass/current/ggc-write-directory", "pidFileDirectory": "/var/snap/aws-iot-greengrass/current/pidFileDirectory" }
  8. Jalankan perintah berikut untuk menambahkan AWS IoT Greengrass sertifikat dan file konfigurasi:

    sudo snap set aws-iot-greengrass gg-certs=/home/ubuntu/my-certs

Deploying fungsi Lambda

Bagian ini menunjukkan bagaimana untuk men-deploy fungsi Lambda yang dikelola pelanggan pada AWS IoT Greengrass snap.

penting

AWS IoT Greengrass snap v1.11 hanya mendukung fungsi Lambda noncontainerized.

  1. Jalankan perintah berikut untuk memulai AWS IoT Greengrass daemon:

    sudo snap start aws-iot-greengrass

    Contoh respons:

    Started.
  2. Jalankan perintah berikut untuk mengonfirmasi bahwa daemon sedang berjalan:

    snap services aws-iot-greengrass.greengrassd

    Contoh respons:

    Service Startup Current Notes aws-iot-greengrass.greengrassd disabled active -
  3. Ikuti Modul 3 (bagian 1): Lambda berfungsi pada AWS IoT Greengrass untuk membuat dan men-deploy fungsi Hello World Lambda. Namun, sebelum Anda men-deploy fungsi Lambda, selesaikan langkah berikutnya.

  4. Pastikan bahwa fungsi Lambda Anda menjalankan sebagai pengguna snap_daemon dan dalam mode tanpa kontainer. Untuk update pengaturan grup Greengrass Anda, lakukan hal berikut di AWS IoT Greengrass konsol:

    1. Masuk ke AWS IoT Greengrass konsol.

    2. Di panel navigasi AWS IoT konsol, di bawah Kelola, perluas perangkat Greengrass, lalu pilih Grup (V1).

    3. Di bawah Grup Greengrass, pilih grup target.

    4. Pada halaman konfigurasi grup, di panel navigasi, pilih tab Fungsi Lambda.

    5. Di bawah lingkungan runtime fungsi Lambda default, pilih Edit, dan lakukan hal berikut:

      1. Untuk pengguna dan grup sistem default, pilih ID pengguna lain/ID grup, lalu masukkan 584788 untuk ID pengguna sistem (nomor) dan ID grup sistem (nomor).

      2. Untuk kontainerisasi fungsi Lambda Default, pilih Tanpa kontainer.

      3. Pilih Simpan.

Menghentikan AWS IoT Greengrass daemon

Anda dapat menggunakan snap stop perintah untuk menghentikan layanan.

Untuk menghentikan AWS IoT Greengrass daemon, jalankan perintah berikut:

sudo snap stop aws-iot-greengrass

Perintah tersebut seharusnya mengembalikan Stopped..

Untuk memeriksa apakah Anda berhasil menghentikan snap, jalankan perintah berikut:

snap services aws-iot-greengrass.greengrassd

Contoh respons:

Service Startup Current Notes aws-iot-greengrass.greengrassd disabled inactive -

Menghapus instalasi AWS IoT Greengrass snap

Untuk menghapus instalan AWS IoT Greengrass snap, jalankan perintah berikut:

sudo snap remove aws-iot-greengrass

Contoh respons:

aws-iot-greengrass removed

Pemecahan masalah AWS IoT Greengrass snap

Informasi berikut dapat membantu Anda memecahkan masalah dengan AWS IoT Greengrass snap.

Mendapat kesalahan izin ditolak.

Solusi: Kesalahan izin ditolak sering kali karena antarmuka yang hilang. Untuk daftar antarmuka yang hilang dan informasi pemecahan masalah terperinci, Anda dapat menggunakan snappy-debug alat.

Jalankan perintah berikut untuk menginstal alat.

sudo snap install snappy-debug

Contoh respons:

snappy-debug 0.36-snapd2.45.1 from Canonical✓ installed

Jalankan sudo snappy-debug perintah dalam sesi terminal terpisah. Operasi berlanjut hingga terjadi kesalahan izin ditolak.

Sebagai contoh, jika fungsi Lambda Anda mencoba untuk membaca file di $HOME direktori, Anda mungkin mendapatkan respons berikut:

INFO: Following '/var/log/syslog'. If have dropped messages, use: INFO: $ sudo journalctl --output=short --follow --all | sudo snappy-debug kernel.printk_ratelimit = 0 = AppArmor = Time: Dec 6 04:48:26 Log: apparmor="DENIED" operation="mknod" profile="snap.aws-iot-greengrass.greengrassd" name="/home/ubuntu/my-file.txt" pid=12345 comm="touch" requested_mask="c" denied_mask="c" fsuid=0 ouid=0 File: /home/ubuntu/my-file.txt (write) Suggestion: * add 'home' to 'plugs'

Contoh ini menunjukkan bahwa membuat /home/ubuntu/my-file.txt file menyebabkan kesalahan izin. Hal ini juga menunjukkan bahwa Anda menambahkan home ke plugs. Namun, saran ini tidak berlaku. Plug home-for-greengrassd dan home-for-hooks hanya diberikan akses hanya-baca.

Untuk informasi selengkapnya, lihat: snap snappy-debug di dokumentasi Snap.

error: tidak dapat melakukan tugas-tugas berikut: - Jalankan perintah layanan “start” untuk layanan ["greengrassd"] dari snap "aws-iot-greengrass" ([start snap. aws-iot-greengrass.greengrassd.service] gagal dengan status keluar 1: Job for snap. aws-iot-greengrass.greengrassd.service gagal karena proses kontrol keluar dengan kode kesalahan. Lihat “snap status systemctl. aws-iot-greengrass.greengrassd.service” dan “journalctl -xe” untuk detailnya.)

Solusi: Anda mungkin melihat kesalahan ini ketika snap start aws-iot-greengrass gagal untuk memulai AWS IoT Greengrass perangkat lunak Core.

Untuk informasi pemecahan masalah selengkapnya, jalankan perintah berikut:

sudo snap run aws-iot-greengrass.greengrassd

Contoh respons:

Couldn't find /snap/aws-iot-greengrass/44/greengrass/config/config.json.

Contoh ini menunjukkan bahwa AWS IoT Greengrass tidak dapat menemukan config.json file. Anda mungkin memeriksa file konfigurasi dan sertifikat.

/var/snap/ aws-iot-greengrass /current/ ggc-write-directory /packages/1.11.5/rootfs/merged bukan jalur absolut atau merupakan symlink.

Solusi: AWS IoT Greengrass snap hanya mendukung fungsi Lambda noncontainerized. Pastikan bahwa Anda menjalankan fungsi Lambda Anda dalam mode tanpa kontainer. Untuk informasi selengkapnya, lihat Pertimbangan ketika memilih fungsi Lambda kontainerisasi di AWS IoT Greengrass Version 1 Panduan Developer.

Daemon snapd gagal untuk me-restart setelah Anda menjalankan perintahsudo snap refresh snapd.

Solusi: Ikuti langkah 6 hingga 8 di Instal dan konfigurasi AWS IoT Greengrass snap untuk menambahkan sertifikat AWS IoT Greengrass dan konfigurasi file untuk snap AWS IoT Greengrass ini.

Arsip AWS IoT Greengrass instalasi perangkat lunak Core

Ketika Anda upgrade ke versi baru AWS IoT Greengrass perangkat lunak Core, Anda dapat mengarsip versi yang saat ini diinstal. Ini menjaga lingkungan instalasi Anda saat ini sehingga Anda dapat menguji versi perangkat lunak baru pada perangkat keras yang sama. Hal ini juga memudahkan untuk memutar kembali ke versi arsip Anda untuk alasan apa pun.

Untuk mengarsip instalasi saat ini dan menginstal versi baru
  1. Mengunduh AWS IoT Greengrass perangkat lunak Core paket instalasi yang ingin Anda tingkatkan.

  2. Salin paket ke perangkat core tujuan. Untuk petunjuk yang menunjukkan bagaimana transfer file, lihat langkah ini.

    catatan

    Anda menyalin sertifikat Anda saat ini, kunci, dan file konfigurasi untuk instalasi baru nanti.

    Jalankan perintah dalam langkah-langkah berikut di terminal perangkat core Anda.

  3. Pastikan bahwa Greengrass daemon dihentikan pada perangkat core.

    1. Untuk memeriksa apakah daemon sedang berjalan:

      ps aux | grep -E 'greengrass.*daemon'

      Jika output berisi root entri untuk /greengrass/ggc/packages/ggc-version/bin/daemon, maka daemon sedang berjalan.

      catatan

      Prosedur ini ditulis dengan asumsi bahwa AWS IoT Greengrass perangkat lunak Core diinstal di /greengrass direktori.

    2. Untuk menghentikan daemon:

      cd /greengrass/ggc/core/ sudo ./greengrassd stop
  4. Pindahkan direktori root Greengrass saat ini ke direktori yang berbeda.

    sudo mv /greengrass /greengrass_backup
  5. Untar perangkat lunak baru pada perangkat core. Ganti arsitektur os dan versi placeholder dalam perintah.

    sudo tar –zxvf greengrass-os-architecture-version.tar.gz –C /
  6. Salin sertifikat, kunci, dan file konfigurasi yang diarsipkan ke instalasi baru.

    sudo cp /greengrass_backup/certs/* /greengrass/certs sudo cp /greengrass_backup/config/* /greengrass/config
  7. Mulai ulang daemon:

    cd /greengrass/ggc/core/ sudo ./greengrassd start

Sekarang, Anda dapat membuat deployment kelompok untuk mengetes instalasi baru. Jika ada yang gagal, Anda dapat memulihkan instalasi yang diarsipkan.

Untuk memulihkan instalasi yang diarsipkan
  1. Hentikan daemon.

  2. Hapus direktori /greengrass baru.

  3. Pindahkan /greengrass_backup direktori kembali ke /greengrass.

  4. Mulai daemon.