Mengonfigurasi AWS IoT Greengrass 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.

Mengonfigurasi AWS IoT Greengrass core

Sebuah AWS IoT Greengrass core adalah AWS IoT hal (perangkat) yang bertindak sebagai hub atau gateway di lingkungan edge. Seperti perangkat AWS IoT lain, core yang ada di registri, memiliki perangkat bayangan, dan menggunakan sertifikat perangkat untuk mengotentikasi dengan AWS IoT Core dan AWS IoT Greengrass. Perangkat core menjalankan AWS IoT Greengrass perangkat lunak Core, yang memungkinkannya untuk mengelola proses lokal untuk grup Greengrass, seperti komunikasi, sinkronisasi bayangan, dan pertukaran token.

Perangkat lunak core AWS IoT Greengrass menyediakan fungsi berikut:

  • Deployment dan menjalankan lokal konektor dan fungsi Lambda.

  • Memproses aliran data secara lokal dengan ekspor otomatis ke AWS Cloud.

  • Olahpesan MQTT melalui jaringan lokal antara perangkat, konektor, dan fungsi Lambda menggunakan langganan terkelola.

  • Olahpesan MQTT antara AWS IoT dan perangkat, konektor, dan fungsi Lambda dapat menggunakan langganan terkelola.

  • Koneksi aman antara perangkat dan AWS Cloud menggunakan autentikasi dan otorisasi perangkat.

  • Sinkronisasi bayangan lokal perangkat. Bayangan dapat dikonfigurasi untuk disinkronkan dengan AWS Cloud.

  • Akses terkontrol ke perangkat lokal dan sumber daya volume.

  • Deployment model machine learning dengan pelatihan cloud untuk menjalankan inferensi lokal.

  • Deteksi alamat IP otomatis yang mengaktifkan perangkat untuk menemukan perangkat Core Greengrass.

  • Deployment pusat dar konfigurasi grup yang baru atau diperbarui. Setelah data konfigurasi diunduh, perangkat core di-restart secara otomatis.

  • Pembaruan perangkat lunak over-the-air (OTA) yang aman dari fungsi Lambda yang ditentukan pengguna.

  • Aman, rahasia lokal yang terenkripsi dan akses yang dikendalikan oleh konektor dan fungsi Lambda.

AWS IoT Greengrass file konfigurasi core

File konfigurasi untuk AWS IoT Greengrass perangkat lunak Core adalah config.json. Ini terletak di /greengrass-root/config direktori.

catatan

greengrass-root mewakili jalur di mana AWS IoT Greengrass perangkat lunak core diinstal pada perangkat Anda. Biasanya, ini adalah /greengrass direktori.

Jika Anda menggunakan opsi pembuatan Grup Default dari konsol AWS IoT Greengrass tersebut, maka file config.json di-deploy ke perangkat core dalam status bekerja.

Anda dapat meninjau isi file ini dengan menjalankan perintah berikut:

cat /greengrass-root/config/config.json

Berikut ini adalah contoh config.json file. Ini adalah versi yang dihasilkan ketika Anda membuat core dari AWS IoT Greengrass konsol.

GGC v1.11
{ "coreThing": { "caPath": "root.ca.pem", "certPath": "hash.cert.pem", "keyPath": "hash.private.key", "thingArn": "arn:partition:iot:region:account-id:thing/core-thing-name", "iotHost": "host-prefix-ats.iot.region.amazonaws.com", "ggHost": "greengrass-ats.iot.region.amazonaws.com", "keepAlive": 600, "ggDaemonPort": 8000, "systemComponentAuthTimeout": 5000 }, "runtime": { "maxWorkItemCount": 1024, "maxConcurrentLimit": 25, "lruSize": 25, "mountAllBlockDevices": "no", "cgroup": { "useSystemd": "yes" } }, "managedRespawn": false, "crypto": { "principals": { "SecretsManager": { "privateKeyPath": "file:///greengrass/certs/hash.private.key" }, "IoTCertificate": { "privateKeyPath": "file:///greengrass/certs/hash.private.key", "certificatePath": "file:///greengrass/certs/hash.cert.pem" } }, "caPath": "file:///greengrass/certs/root.ca.pem" }, "writeDirectory": "/var/snap/aws-iot-greengrass/current/ggc-write-directory", "pidFileDirectory": "/var/snap/aws-iot-greengrass/current/pidFileDirectory" }

File config.json mendukung properti berikut:

CoreThing

Bidang Deskripsi Catatan
caPath

Jalur ke AWS IoT root CA tergantung pada /greengrass-root/certs direktori.

Untuk kompatibilitas backward dengan versi lebih awal dari 1.7.0. Properti ini diabaikan ketika crypto objek hadir.

certPath

Jalur ke sertifikat perangkat core relatif terhadap /greengrass-root/certs direktori.

Untuk kompatibilitas backward dengan versi lebih awal dari 1.7.0. Properti ini diabaikan ketika crypto objek hadir.
keyPath Jalur ke kunci privat core tergantung pada /greengrass-root/certs direktori. Untuk kompatibilitas backward dengan versi lebih awal dari 1.7.0. Properti ini diabaikan ketika crypto objek hadir.
thingArn Amazon Resource Name (ARN) dari AWS IoT hal yang mewakili AWS IoT Greengrass perangkat core. Temukan ARN untuk core Anda di konsol AWS IoT Greengrass tersebut di bawah Cores, atau dengan menjalankan aws greengrass get-core-definition-version perintah CLI.
iotHost Titik akhir AWS IoT Anda.

Temukan titik akhir di konsol AWS IoT di bawah Pengaturan, atau dengan menjalankan aws iot describe-endpoint --endpoint-type iot:Data-ATS perintah CLI.

Perintah ini mengembalikan titik akhir Amazon Trust Services (ATS). Untuk informasi lebih lanjut, lihat Dokumentasi autentikasi server.

ggHost Titik akhir AWS IoT Greengrass Anda.

Ini adalah titik akhir iotHost Anda dengan prefiks host digantikan oleh greengrass (sebagai contoh, greengrass-ats.iot.region.amazonaws.com). Gunakan Wilayah AWS yang sama seperti iotHost.

iotMqttPort Opsional. Nomor port yang digunakan untuk komunikasi MQTT dengan AWS IoT. Nilai yang valid adalah 8883 atau 443. Nilai default-nya adalah 8883. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.
iotHttpPort Opsional. Nomor port yang digunakan untuk membuat koneksi HTTPS ke AWS IoT. Nilai yang valid adalah 8443 atau 443. Nilai default-nya adalah 8443. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.
ggMqttPort Opsional. Nomor port yang digunakan untuk komunikasi MQTT melalui jaringan lokal. Nilai yang valid adalah 1024 melalui 65535. Nilai default-nya adalah 8883. Untuk informasi selengkapnya, lihat Konfigurasi port MQTT untuk pesan lokal.
ggHttpPort Opsional. Nomor port yang digunakan untuk membuat koneksi HTTPS ke AWS IoT Greengrass layanan. Nilai yang valid adalah 8443 atau 443. Nilai default-nya adalah 8443. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.
keepAlive Opsional. Periode KeepAlive MQTT, dalam detik. Kisaran valid adalah antara 30 dan 1200 detik. Nilai default adalah 600.
networkProxy Opsional. Sebuah objek yang mendefinisikan server proksi untuk terhubung ke. Server proksi dapat HTTP atau HTTPS. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.
mqttOperationTimeout Opsional. Jumlah waktu (dalam detik) untuk mengizinkan core Greengrass untuk menyelesaikan penerbitan, berlangganan, atau berhenti berlangganan operasi di koneksi MQTT ke AWS IoT Core. Nilai bawaannya adalah 5. Nilai minimum adalah 5.
ggDaemonPort Opsional. Nomor port IPC core Greengrass.

Properti ini tersedia di AWS IoT Greengrass v1.11.0 atau lebih baru.

Nilai yang valid adalah antara 1024 dan 65535. Nilai default adalah 8000.

systemComponentAuthTimeout Opsional. Waktu (dalam milidetik) untuk mengizinkan core Greengrass IPC untuk menyelesaikan pengesahan.

Properti ini tersedia di AWS IoT Greengrass v1.11.0 atau lebih baru.

Nilai yang valid adalah antara 500 dan 5000. Nilai default-nya adalah 5000.

runtime

Bidang Deskripsi Catatan
maxWorkItemHitung

Opsional. Jumlah maksimum item pekerjaan yang Greengrass daemon dapat memproses pada satu waktu. Item kerja yang melebihi batas ini diabaikan.

Antrian item kerja dibagi oleh komponen sistem, fungsi Lambda yang ditetapkan pengguna, dan konektor.

Nilai default adalah 1024. Nilai maksimum dibatasi oleh perangkat keras perangkat Anda.

Meningkatkan nilai ini meningkatkan memori yang AWS IoT Greengrass menggunakan. Anda dapat meningkatkan nilai ini jika Anda mengharapkan core Anda untuk menerima lalu lintas pesan MQTT berat.

maxConcurrentLimit

Opsional. Jumlah maksimum pekerja Lambda yang tidak disematkan bersamaan yang dapat dimiliki oleh Greengrass daemon. Anda dapat menentukan integer yang berbeda untuk menimpa parameter ini.

Nilai default adalah 25. Nilai minimum ditetapkan oleh lruSize.

lruSize Optional. Defines the minimum value for maxConcurrentLimit. The default value is 25.
mountAllBlockPerangkat Optional. Enables AWS IoT Greengrass to use bind mounts to mount all block devices into a container after setting up the OverlayFS.

Properti ini tersedia di AWS IoT Greengrass v1.11.0 atau lebih baru.

Nilai yang valid adalah yes dan no. Nilai default-nya adalah no.

Atur nilai ini ke yes jika direktori /usr Anda tidak di bawah / hierarki.

postStartHealthCheckTimeout Optional. The time (in milliseconds) after starting that the Greengrass daemon waits for the health check to finish. The default timeout is 30 seconds (30000 ms).
cgroup
useSystemd Indicates whether your device uses systemd. Valid values are ya or tidak. Run the check_ggc_dependencies script in Modul 1 to see if your device uses systemd.

kripto

Ini crypto Berisi properti yang mendukung penyimpanan kunci privat pada hardware security module (HSM) melalui PKCS #11 dan penyimpanan rahasia lokal. Lihat informasi selengkapnya di AWS IoT Greengrass prinsip keamanan inti, Integrasi keamanan perangkat keras, dan Men-deploy rahasia ke AWS IoT Greengrass core. Konfigurasi untuk penyimpanan kunci privat pada HSMs atau di sistem file yang didukung.

Bidang Deskripsi Catatan
caPath

Jalur absolut ke CA root AWS IoT ini.

Harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

PKCS11
OpenSSLEngine

Opsional. Jalur absolut ke file .so mesin OpenSSL untuk mengaktifkan mendukung PKCS#11 pada OpenSSL.

Harus berupa jalur ke file pada sistem file.

Properti ini diperlukan jika Anda menggunakan agen pembaruan Greengrass OTA dengan keamanan perangkat keras. Untuk informasi selengkapnya, lihat Konfigurasikan dukungan untuk over-the-air pembaruan.

P11Provider

Jalur absolut ke perpustakaan libdl-loadable implementasi PKCS#11.

Harus berupa jalur ke file pada sistem file.

slotLabel

Slot label yang digunakan untuk mengidentifikasi modul perangkat keras.

Harus sesuai dengan spesifikasi label PKCS#11.

slotUserPin

PIN pengguna yang digunakan untuk mengautentikasi core Greengrass ke modul.

Harus memiliki izin yang memadai untuk melakukan C_Sign dengan kunci privat yang dikonfigurasi.

principals
IoTCertificate The certificate and private key that the core uses to make requests to AWS IoT.
Sertifikat IoT. privateKeyPath

Jalur ke kunci privat core.

Untuk penyimpanan sistem file, harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

Untuk penyimpanan HSM, harus jalur RFC 7512 PKCS#11 yang menentukan label objek.

IoTCertificate  .certificatePath

Jalur absolut untuk sertifikat perangkat core.

Harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

MQTT ServerCertificate

Opsional. Kunci privat yang menggunakan core dalam kombinasi dengan sertifikat untuk bertindak sebagai server MQTT atau gateway.

MQTTServerCertificate . privateKeyPath

Jalur ke kunci privat server MQTT lokal.

Gunakan nilai ini untuk menentukan kunci privat Anda sendiri untuk server MQTT lokal.

Untuk penyimpanan sistem file, harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

Untuk penyimpanan HSM, harus jalur RFC 7512 PKCS#11 yang menentukan label objek.

Jika properti ini dihilangkan, AWS IoT Greengrass memutar kunci berdasarkan pengaturan rotasi Anda. Jika ditentukan, pelanggan bertanggung jawab untuk memutar kunci.

SecretsManager The private key that secures the data key used for encryption. For more information, see Men-deploy rahasia ke AWS IoT Greengrass core.
SecretsManager  .privateKeyPath

Jalur ke kunci privat secrets manager lokal.

Hanya kunci RSA yang didukung.

Untuk penyimpanan sistem file, harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

Untuk penyimpanan HSM, harus jalur RFC 7512 PKCS#11 yang menentukan label objek. Kunci privat harus dibuat dengan menggunakan mekanisme padding PKCS #1 v1.5 ini.

Properti konfigurasi berikut juga didukung:

Bidang Deskripsi Catatan
mqttMaxConnectionRetryInterval

Opsional. Interval maksimum (dalam detik) antara koneksi retries MQTT jika koneksi terputus.

Tentukan nilai ini sebagai unsigned integer. Default-nya adalah 60.

managedRespawn

Opsional. Mengindikasikan bahwa agen OTA perlu menjalankan kode kustom sebelum pembaruan.

Nilai yang valid adalah true atau false. Untuk informasi selengkapnya, lihat Perbarui OTA AWS IoT Greengrass perangkat lunak Core.

writeDirectory

Opsional. Direktori tulis di mana AWS IoT Greengrass membuat semua sumber daya baca/tulis.

Untuk informasi selengkapnya, lihat Mengonfigurasi direktori tulis untuk AWS IoT Greengrass.

pidFileDirectory

Opsional. AWS IoT Greengrass menyimpan process ID (PID) di bawah direktori ini.

Nilai default-nya adalah /var/run.

Extended life versions

Versi perangkat lunak AWS IoT Greengrass Core berikut ini berada dalam fase umur yang diperpanjang. Informasi ini disertakan untuk tujuan referensi saja.

GGC v1.10
{ "coreThing" : { "caPath" : "root.ca.pem", "certPath" : "hash.cert.pem", "keyPath" : "hash.private.key", "thingArn" : "arn:partition:iot:region:account-id:thing/core-thing-name", "iotHost" : "host-prefix-ats.iot.region.amazonaws.com", "ggHost" : "greengrass-ats.iot.region.amazonaws.com", "keepAlive" : 600, "systemComponentAuthTimeout": 5000 }, "runtime" : { "maxWorkItemCount" : 1024, "maxConcurrentLimit" : 25, "lruSize": 25, "cgroup" : { "useSystemd" : "yes" } }, "managedRespawn" : false, "crypto" : { "principals" : { "SecretsManager" : { "privateKeyPath" : "file:///greengrass/certs/hash.private.key" }, "IoTCertificate" : { "privateKeyPath" : "file:///greengrass/certs/hash.private.key", "certificatePath" : "file:///greengrass/certs/hash.cert.pem" } }, "caPath" : "file:///greengrass/certs/root.ca.pem" } }

File config.json mendukung properti berikut:

CoreThing

Bidang Deskripsi Catatan
caPath

Jalur ke AWS IoT root CA tergantung pada /greengrass-root/certs direktori.

Untuk kompatibilitas backward dengan versi lebih awal dari 1.7.0. Properti ini diabaikan ketika crypto objek hadir.

certPath

Jalur ke sertifikat perangkat core relatif terhadap /greengrass-root/certs direktori.

Untuk kompatibilitas backward dengan versi lebih awal dari 1.7.0. Properti ini diabaikan ketika crypto objek hadir.
keyPath Jalur ke kunci privat core tergantung pada /greengrass-root/certs direktori. Untuk kompatibilitas backward dengan versi lebih awal dari 1.7.0. Properti ini diabaikan ketika crypto objek hadir.
thingArn Amazon Resource Name (ARN) dari AWS IoT hal yang mewakili AWS IoT Greengrass perangkat core. Temukan ARN untuk core Anda di konsol AWS IoT Greengrass tersebut di bawah Cores, atau dengan menjalankan aws greengrass get-core-definition-version perintah CLI.
iotHost Titik akhir AWS IoT Anda.

Temukan titik akhir di konsol AWS IoT di bawah Pengaturan, atau dengan menjalankan aws iot describe-endpoint --endpoint-type iot:Data-ATS perintah CLI.

Perintah ini mengembalikan titik akhir Amazon Trust Services (ATS). Untuk informasi lebih lanjut, lihat Dokumentasi autentikasi server.

ggHost Titik akhir AWS IoT Greengrass Anda.

Ini adalah titik akhir iotHost Anda dengan prefiks host digantikan oleh greengrass (sebagai contoh, greengrass-ats.iot.region.amazonaws.com). Gunakan Wilayah AWS yang sama seperti iotHost.

iotMqttPort Opsional. Nomor port yang digunakan untuk komunikasi MQTT dengan AWS IoT. Nilai yang valid adalah 8883 atau 443. Nilai default-nya adalah 8883. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.
iotHttpPort Opsional. Nomor port yang digunakan untuk membuat koneksi HTTPS ke AWS IoT. Nilai yang valid adalah 8443 atau 443. Nilai default-nya adalah 8443. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.
ggMqttPort Opsional. Nomor port yang digunakan untuk komunikasi MQTT melalui jaringan lokal. Nilai yang valid adalah 1024 melalui 65535. Nilai default-nya adalah 8883. Untuk informasi selengkapnya, lihat Konfigurasi port MQTT untuk pesan lokal.
ggHttpPort Opsional. Nomor port yang digunakan untuk membuat koneksi HTTPS ke AWS IoT Greengrass layanan. Nilai yang valid adalah 8443 atau 443. Nilai default-nya adalah 8443. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.
keepAlive Opsional. Periode KeepAlive MQTT, dalam detik. Kisaran valid adalah antara 30 dan 1200 detik. Nilai default adalah 600.
networkProxy Opsional. Sebuah objek yang mendefinisikan server proksi untuk terhubung ke. Server proksi dapat HTTP atau HTTPS. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.
mqttOperationTimeout Opsional. Jumlah waktu (dalam detik) untuk mengizinkan core Greengrass untuk menyelesaikan penerbitan, berlangganan, atau berhenti berlangganan operasi di koneksi MQTT ke AWS IoT Core.

Properti ini tersedia mulai di AWS IoT Greengrass v1.10.2.

Nilai bawaannya adalah 5. Nilai minimum adalah 5.

runtime

Bidang Deskripsi Catatan
maxWorkItemHitung

Opsional. Jumlah maksimum item pekerjaan yang Greengrass daemon dapat memproses pada satu waktu. Item kerja yang melebihi batas ini diabaikan.

Antrian item kerja dibagi oleh komponen sistem, fungsi Lambda yang ditetapkan pengguna, dan konektor.

Nilai default adalah 1024. Nilai maksimum dibatasi oleh perangkat keras perangkat Anda.

Meningkatkan nilai ini meningkatkan memori yang AWS IoT Greengrass menggunakan. Anda dapat meningkatkan nilai ini jika Anda mengharapkan core Anda untuk menerima lalu lintas pesan MQTT berat.

maxConcurrentLimit

Opsional. Jumlah maksimum pekerja Lambda yang tidak disematkan bersamaan yang dapat dimiliki oleh Greengrass daemon. Anda dapat menentukan integer yang berbeda untuk menimpa parameter ini.

Nilai default adalah 25. Nilai minimum ditetapkan oleh lruSize.

lruSize Optional. Defines the minimum value for maxConcurrentLimit. The default value is 25.
postStartHealthCheckTimeout Optional. The time (in milliseconds) after starting that the Greengrass daemon waits for the health check to finish. The default timeout is 30 seconds (30000 ms).
cgroup
useSystemd Indicates whether your device uses systemd. Valid values are ya or tidak. Run the check_ggc_dependencies script in Modul 1 to see if your device uses systemd.

kripto

Ini crypto Berisi properti yang mendukung penyimpanan kunci privat pada hardware security module (HSM) melalui PKCS #11 dan penyimpanan rahasia lokal. Lihat informasi selengkapnya di AWS IoT Greengrass prinsip keamanan inti, Integrasi keamanan perangkat keras, dan Men-deploy rahasia ke AWS IoT Greengrass core. Konfigurasi untuk penyimpanan kunci privat pada HSMs atau di sistem file yang didukung.

Bidang Deskripsi Catatan
caPath

Jalur absolut ke CA root AWS IoT ini.

Harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

PKCS11
OpenSSLEngine

Opsional. Jalur absolut ke file .so mesin OpenSSL untuk mengaktifkan mendukung PKCS#11 pada OpenSSL.

Harus berupa jalur ke file pada sistem file.

Properti ini diperlukan jika Anda menggunakan agen pembaruan Greengrass OTA dengan keamanan perangkat keras. Untuk informasi selengkapnya, lihat Konfigurasikan dukungan untuk over-the-air pembaruan.

P11Provider

Jalur absolut ke perpustakaan libdl-loadable implementasi PKCS#11.

Harus berupa jalur ke file pada sistem file.

slotLabel

Slot label yang digunakan untuk mengidentifikasi modul perangkat keras.

Harus sesuai dengan spesifikasi label PKCS#11.

slotUserPin

PIN pengguna yang digunakan untuk mengautentikasi core Greengrass ke modul.

Harus memiliki izin yang memadai untuk melakukan C_Sign dengan kunci privat yang dikonfigurasi.

principals
IoTCertificate The certificate and private key that the core uses to make requests to AWS IoT.
Sertifikat IoT. privateKeyPath

Jalur ke kunci privat core.

Untuk penyimpanan sistem file, harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

Untuk penyimpanan HSM, harus jalur RFC 7512 PKCS#11 yang menentukan label objek.

IoTCertificate  .certificatePath

Jalur absolut untuk sertifikat perangkat core.

Harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

MQTT ServerCertificate

Opsional. Kunci privat yang menggunakan core dalam kombinasi dengan sertifikat untuk bertindak sebagai server MQTT atau gateway.

MQTTServerCertificate . privateKeyPath

Jalur ke kunci privat server MQTT lokal.

Gunakan nilai ini untuk menentukan kunci privat Anda sendiri untuk server MQTT lokal.

Untuk penyimpanan sistem file, harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

Untuk penyimpanan HSM, harus jalur RFC 7512 PKCS#11 yang menentukan label objek.

Jika properti ini dihilangkan, AWS IoT Greengrass memutar kunci berdasarkan pengaturan rotasi Anda. Jika ditentukan, pelanggan bertanggung jawab untuk memutar kunci.

SecretsManager The private key that secures the data key used for encryption. For more information, see Men-deploy rahasia ke AWS IoT Greengrass core.
SecretsManager  .privateKeyPath

Jalur ke kunci privat secrets manager lokal.

Hanya kunci RSA yang didukung.

Untuk penyimpanan sistem file, harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

Untuk penyimpanan HSM, harus jalur RFC 7512 PKCS#11 yang menentukan label objek. Kunci privat harus dibuat dengan menggunakan mekanisme padding PKCS #1 v1.5 ini.

Properti konfigurasi berikut juga didukung:

Bidang Deskripsi Catatan
mqttMaxConnectionRetryInterval

Opsional. Interval maksimum (dalam detik) antara koneksi retries MQTT jika koneksi terputus.

Tentukan nilai ini sebagai unsigned integer. Default-nya adalah 60.

managedRespawn

Opsional. Mengindikasikan bahwa agen OTA perlu menjalankan kode kustom sebelum pembaruan.

Nilai yang valid adalah true atau false. Untuk informasi selengkapnya, lihat Perbarui OTA AWS IoT Greengrass perangkat lunak Core.

writeDirectory

Opsional. Direktori tulis di mana AWS IoT Greengrass membuat semua sumber daya baca/tulis.

Untuk informasi selengkapnya, lihat Mengonfigurasi direktori tulis untuk AWS IoT Greengrass.

GGC v1.9
{ "coreThing" : { "caPath" : "root.ca.pem", "certPath" : "hash.cert.pem", "keyPath" : "hash.private.key", "thingArn" : "arn:partition:iot:region:account-id:thing/core-thing-name", "iotHost" : "host-prefix-ats.iot.region.amazonaws.com", "ggHost" : "greengrass-ats.iot.region.amazonaws.com", "keepAlive" : 600 }, "runtime" : { "cgroup" : { "useSystemd" : "yes" } }, "managedRespawn" : false, "crypto" : { "principals" : { "SecretsManager" : { "privateKeyPath" : "file:///greengrass/certs/hash.private.key" }, "IoTCertificate" : { "privateKeyPath" : "file:///greengrass/certs/hash.private.key", "certificatePath" : "file:///greengrass/certs/hash.cert.pem" } }, "caPath" : "file:///greengrass/certs/root.ca.pem" } }

File config.json mendukung properti berikut:

CoreThing

Bidang Deskripsi Catatan
caPath

Jalur ke AWS IoT root CA tergantung pada /greengrass-root/certs direktori.

Untuk kompatibilitas backward dengan versi lebih awal dari 1.7.0. Properti ini diabaikan ketika crypto objek hadir.

certPath

Jalur ke sertifikat perangkat core relatif terhadap /greengrass-root/certs direktori.

Untuk kompatibilitas backward dengan versi lebih awal dari 1.7.0. Properti ini diabaikan ketika crypto objek hadir.
keyPath Jalur ke kunci privat core tergantung pada /greengrass-root/certs direktori. Untuk kompatibilitas backward dengan versi lebih awal dari 1.7.0. Properti ini diabaikan ketika crypto objek hadir.
thingArn Amazon Resource Name (ARN) dari AWS IoT hal yang mewakili AWS IoT Greengrass perangkat core. Temukan ARN untuk core Anda di konsol AWS IoT Greengrass tersebut di bawah Cores, atau dengan menjalankan aws greengrass get-core-definition-version perintah CLI.
iotHost Titik akhir AWS IoT Anda.

Temukan titik akhir di konsol AWS IoT di bawah Pengaturan, atau dengan menjalankan aws iot describe-endpoint --endpoint-type iot:Data-ATS perintah CLI.

Perintah ini mengembalikan titik akhir Amazon Trust Services (ATS). Untuk informasi lebih lanjut, lihat Dokumentasi autentikasi server.

ggHost Titik akhir AWS IoT Greengrass Anda.

Ini adalah titik akhir iotHost Anda dengan prefiks host digantikan oleh greengrass (sebagai contoh, greengrass-ats.iot.region.amazonaws.com). Gunakan Wilayah AWS yang sama seperti iotHost.

iotMqttPort Opsional. Nomor port yang digunakan untuk komunikasi MQTT dengan AWS IoT. Nilai yang valid adalah 8883 atau 443. Nilai default-nya adalah 8883. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.
iotHttpPort Opsional. Nomor port yang digunakan untuk membuat koneksi HTTPS ke AWS IoT. Nilai yang valid adalah 8443 atau 443. Nilai default-nya adalah 8443. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.
ggHttpPort Opsional. Nomor port yang digunakan untuk membuat koneksi HTTPS ke AWS IoT Greengrass layanan. Nilai yang valid adalah 8443 atau 443. Nilai default-nya adalah 8443. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.
keepAlive Opsional. Periode KeepAlive MQTT, dalam detik. Kisaran valid adalah antara 30 dan 1200 detik. Nilai default adalah 600.
networkProxy Opsional. Sebuah objek yang mendefinisikan server proksi untuk terhubung ke. Server proksi dapat HTTP atau HTTPS. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.

runtime

Bidang Deskripsi Catatan
maxConcurrentLimit

Opsional. Jumlah maksimum pekerja Lambda yang tidak disematkan bersamaan yang dapat dimiliki oleh Greengrass daemon. Anda dapat menentukan integer yang berbeda untuk menimpa parameter ini.

Nilai default adalah 25. Nilai minimum ditetapkan oleh lruSize.

lruSize Optional. Defines the minimum value for maxConcurrentLimit. The default value is 25.
postStartHealthCheckTimeout Optional. The time (in milliseconds) after starting that the Greengrass daemon waits for the health check to finish. The default timeout is 30 seconds (30000 ms).
cgroup
useSystemd Indicates whether your device uses systemd. Valid values are ya or tidak. Run the check_ggc_dependencies script in Modul 1 to see if your device uses systemd.

kripto

Objek crypto ditambahkan di v1.7.0. Ini memperkenalkan properti yang mendukung penyimpanan kunci privat pada hardware security module (HSM) melalui PKCS #11 dan penyimpanan rahasia lokal. Lihat informasi selengkapnya di AWS IoT Greengrass prinsip keamanan inti, Integrasi keamanan perangkat keras, dan Men-deploy rahasia ke AWS IoT Greengrass core. Konfigurasi untuk penyimpanan kunci privat pada HSMs atau di sistem file yang didukung.

Bidang Deskripsi Catatan
caPath

Jalur absolut ke CA root AWS IoT ini.

Harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

PKCS11
OpenSSLEngine

Opsional. Jalur absolut ke file .so mesin OpenSSL untuk mengaktifkan mendukung PKCS#11 pada OpenSSL.

Harus berupa jalur ke file pada sistem file.

Properti ini diperlukan jika Anda menggunakan agen pembaruan Greengrass OTA dengan keamanan perangkat keras. Untuk informasi selengkapnya, lihat Konfigurasikan dukungan untuk over-the-air pembaruan.

P11Provider

Jalur absolut ke perpustakaan libdl-loadable implementasi PKCS#11.

Harus berupa jalur ke file pada sistem file.

slotLabel

Slot label yang digunakan untuk mengidentifikasi modul perangkat keras.

Harus sesuai dengan spesifikasi label PKCS#11.

slotUserPin

PIN pengguna yang digunakan untuk mengautentikasi core Greengrass ke modul.

Harus memiliki izin yang memadai untuk melakukan C_Sign dengan kunci privat yang dikonfigurasi.

principals
IoTCertificate The certificate and private key that the core uses to make requests to AWS IoT.
Sertifikat IoT. privateKeyPath

Jalur ke kunci privat core.

Untuk penyimpanan sistem file, harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

Untuk penyimpanan HSM, harus jalur RFC 7512 PKCS#11 yang menentukan label objek.

IoTCertificate  .certificatePath

Jalur absolut untuk sertifikat perangkat core.

Harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

MQTT ServerCertificate

Opsional. Kunci privat yang menggunakan core dalam kombinasi dengan sertifikat untuk bertindak sebagai server MQTT atau gateway.

MQTTServerCertificate . privateKeyPath

Jalur ke kunci privat server MQTT lokal.

Gunakan nilai ini untuk menentukan kunci privat Anda sendiri untuk server MQTT lokal.

Untuk penyimpanan sistem file, harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

Untuk penyimpanan HSM, harus jalur RFC 7512 PKCS#11 yang menentukan label objek.

Jika properti ini dihilangkan, AWS IoT Greengrass memutar kunci berdasarkan pengaturan rotasi Anda. Jika ditentukan, pelanggan bertanggung jawab untuk memutar kunci.

SecretsManager The private key that secures the data key used for encryption. For more information, see Men-deploy rahasia ke AWS IoT Greengrass core.
SecretsManager  .privateKeyPath

Jalur ke kunci privat secrets manager lokal.

Hanya kunci RSA yang didukung.

Untuk penyimpanan sistem file, harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

Untuk penyimpanan HSM, harus jalur RFC 7512 PKCS#11 yang menentukan label objek. Kunci privat harus dibuat dengan menggunakan mekanisme padding PKCS #1 v1.5 ini.

Properti konfigurasi berikut juga didukung.

Bidang Deskripsi Catatan
mqttMaxConnectionRetryInterval

Opsional. Interval maksimum (dalam detik) antara koneksi retries MQTT jika koneksi terputus.

Tentukan nilai ini sebagai unsigned integer. Default-nya adalah 60.

managedRespawn

Opsional. Mengindikasikan bahwa agen OTA perlu menjalankan kode kustom sebelum pembaruan.

Nilai yang valid adalah true atau false. Untuk informasi selengkapnya, lihat Perbarui OTA AWS IoT Greengrass perangkat lunak Core.

writeDirectory

Opsional. Direktori tulis di mana AWS IoT Greengrass membuat semua sumber daya baca/tulis.

Untuk informasi selengkapnya, lihat Mengonfigurasi direktori tulis untuk AWS IoT Greengrass.

GGC v1.8
{ "coreThing" : { "caPath" : "root.ca.pem", "certPath" : "hash.cert.pem", "keyPath" : "hash.private.key", "thingArn" : "arn:aws:iot:region:account-id:thing/core-thing-name", "iotHost" : "host-prefix-ats.iot.region.amazonaws.com", "ggHost" : "greengrass-ats.iot.region.amazonaws.com", "keepAlive" : 600 }, "runtime" : { "cgroup" : { "useSystemd" : "yes" } }, "managedRespawn" : false, "crypto" : { "principals" : { "SecretsManager" : { "privateKeyPath" : "file:///greengrass/certs/hash.private.key" }, "IoTCertificate" : { "privateKeyPath" : "file:///greengrass/certs/hash.private.key", "certificatePath" : "file:///greengrass/certs/hash.cert.pem" } }, "caPath" : "file:///greengrass/certs/root.ca.pem" } }

File config.json mendukung properti berikut.

CoreThing

Bidang Deskripsi Catatan
caPath

Jalur ke AWS IoT root CA tergantung pada /greengrass-root/certs direktori.

Untuk kompatibilitas backward dengan versi lebih awal dari 1.7.0. Properti ini diabaikan ketika crypto objek hadir.

certPath

Jalur ke sertifikat perangkat core relatif terhadap /greengrass-root/certs direktori.

Untuk kompatibilitas backward dengan versi lebih awal dari 1.7.0. Properti ini diabaikan ketika crypto objek hadir.
keyPath Jalur ke kunci privat core tergantung pada /greengrass-root/certs direktori. Untuk kompatibilitas backward dengan versi lebih awal dari 1.7.0. Properti ini diabaikan ketika crypto objek hadir.
thingArn Amazon Resource Name (ARN) dari AWS IoT hal yang mewakili AWS IoT Greengrass perangkat core. Temukan ARN untuk core Anda di konsol AWS IoT Greengrass tersebut di bawah Cores, atau dengan menjalankan aws greengrass get-core-definition-version perintah CLI.
iotHost Titik akhir AWS IoT Anda.

Temukan titik akhir di konsol AWS IoT di bawah Pengaturan, atau dengan menjalankan aws iot describe-endpoint --endpoint-type iot:Data-ATS perintah CLI.

Perintah ini mengembalikan titik akhir Amazon Trust Services (ATS). Untuk informasi lebih lanjut, lihat Dokumentasi autentikasi server.

ggHost Titik akhir AWS IoT Greengrass Anda.

Ini adalah titik akhir iotHost Anda dengan prefiks host digantikan oleh greengrass (sebagai contoh, greengrass-ats.iot.region.amazonaws.com). Gunakan Wilayah AWS yang sama seperti iotHost.

iotMqttPort Opsional. Nomor port yang digunakan untuk komunikasi MQTT dengan AWS IoT. Nilai yang valid adalah 8883 atau 443. Nilai default-nya adalah 8883. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.
iotHttpPort Opsional. Nomor port yang digunakan untuk membuat koneksi HTTPS ke AWS IoT. Nilai yang valid adalah 8443 atau 443. Nilai default-nya adalah 8443. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.
ggHttpPort Opsional. Nomor port yang digunakan untuk membuat koneksi HTTPS ke AWS IoT Greengrass layanan. Nilai yang valid adalah 8443 atau 443. Nilai default-nya adalah 8443. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.
keepAlive Opsional. Periode KeepAlive MQTT, dalam detik. Kisaran valid adalah antara 30 dan 1200 detik. Nilai default adalah 600.
networkProxy Opsional. Sebuah objek yang mendefinisikan server proksi untuk terhubung ke. Server proksi dapat HTTP atau HTTPS. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.

runtime

Bidang Deskripsi Catatan
cgroup
useSystemd Indicates whether your device uses systemd. Valid values are ya or tidak. Run the check_ggc_dependencies script in Modul 1 to see if your device uses systemd.

kripto

Objek crypto ditambahkan di v1.7.0. Ini memperkenalkan properti yang mendukung penyimpanan kunci privat pada hardware security module (HSM) melalui PKCS #11 dan penyimpanan rahasia lokal. Lihat informasi selengkapnya di AWS IoT Greengrass prinsip keamanan inti, Integrasi keamanan perangkat keras, dan Men-deploy rahasia ke AWS IoT Greengrass core. Konfigurasi untuk penyimpanan kunci privat pada HSMs atau di sistem file yang didukung.

Bidang Deskripsi Catatan
caPath

Jalur absolut ke CA root AWS IoT ini.

Harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

PKCS11
OpenSSLEngine

Opsional. Jalur absolut ke file .so mesin OpenSSL untuk mengaktifkan mendukung PKCS#11 pada OpenSSL.

Harus berupa jalur ke file pada sistem file.

Properti ini diperlukan jika Anda menggunakan agen pembaruan Greengrass OTA dengan keamanan perangkat keras. Untuk informasi selengkapnya, lihat Konfigurasikan dukungan untuk over-the-air pembaruan.

P11Provider

Jalur absolut ke perpustakaan libdl-loadable implementasi PKCS#11.

Harus berupa jalur ke file pada sistem file.

slotLabel

Slot label yang digunakan untuk mengidentifikasi modul perangkat keras.

Harus sesuai dengan spesifikasi label PKCS#11.

slotUserPin

PIN pengguna yang digunakan untuk mengautentikasi core Greengrass ke modul.

Harus memiliki izin yang memadai untuk melakukan C_Sign dengan kunci privat yang dikonfigurasi.

principals
IoTCertificate The certificate and private key that the core uses to make requests to AWS IoT.
Sertifikat IoT. privateKeyPath

Jalur ke kunci privat core.

Untuk penyimpanan sistem file, harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

Untuk penyimpanan HSM, harus jalur RFC 7512 PKCS#11 yang menentukan label objek.

IoTCertificate  .certificatePath

Jalur absolut untuk sertifikat perangkat core.

Harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

MQTT ServerCertificate

Opsional. Kunci privat yang menggunakan core dalam kombinasi dengan sertifikat untuk bertindak sebagai server MQTT atau gateway.

MQTTServerCertificate . privateKeyPath

Jalur ke kunci privat server MQTT lokal.

Gunakan nilai ini untuk menentukan kunci privat Anda sendiri untuk server MQTT lokal.

Untuk penyimpanan sistem file, harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

Untuk penyimpanan HSM, harus jalur RFC 7512 PKCS#11 yang menentukan label objek.

Jika properti ini dihilangkan, AWS IoT Greengrass memutar kunci berdasarkan pengaturan rotasi Anda. Jika ditentukan, pelanggan bertanggung jawab untuk memutar kunci.

SecretsManager The private key that secures the data key used for encryption. For more information, see Men-deploy rahasia ke AWS IoT Greengrass core.
SecretsManager  .privateKeyPath

Jalur ke kunci privat secrets manager lokal.

Hanya kunci RSA yang didukung.

Untuk penyimpanan sistem file, harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

Untuk penyimpanan HSM, harus jalur RFC 7512 PKCS#11 yang menentukan label objek. Kunci privat harus dibuat dengan menggunakan mekanisme padding PKCS #1 v1.5 ini.

Properti konfigurasi berikut juga didukung:

Bidang Deskripsi Catatan
mqttMaxConnectionRetryInterval

Opsional. Interval maksimum (dalam detik) antara koneksi retries MQTT jika koneksi terputus.

Tentukan nilai ini sebagai unsigned integer. Default-nya adalah 60.

managedRespawn

Opsional. Mengindikasikan bahwa agen OTA perlu menjalankan kode kustom sebelum pembaruan.

Nilai yang valid adalah true atau false. Untuk informasi selengkapnya, lihat Perbarui OTA AWS IoT Greengrass perangkat lunak Core.

writeDirectory

Opsional. Direktori tulis di mana AWS IoT Greengrass membuat semua sumber daya baca/tulis.

Untuk informasi selengkapnya, lihat Mengonfigurasi direktori tulis untuk AWS IoT Greengrass.

GGC v1.7
{ "coreThing" : { "caPath" : "root.ca.pem", "certPath" : "hash.cert.pem", "keyPath" : "hash.private.key", "thingArn" : "arn:aws:iot:region:account-id:thing/core-thing-name", "iotHost" : "host-prefix-ats.iot.region.amazonaws.com", "ggHost" : "greengrass-ats.iot.region.amazonaws.com", "keepAlive" : 600 }, "runtime" : { "cgroup" : { "useSystemd" : "yes" } }, "managedRespawn" : false, "crypto" : { "principals" : { "SecretsManager" : { "privateKeyPath" : "file:///greengrass/certs/hash.private.key" }, "IoTCertificate" : { "privateKeyPath" : "file:///greengrass/certs/hash.private.key", "certificatePath" : "file:///greengrass/certs/hash.cert.pem" } }, "caPath" : "file:///greengrass/certs/root.ca.pem" } }

File config.json mendukung properti berikut:

CoreThing

Bidang Deskripsi Catatan
caPath

Jalur ke AWS IoT root CA tergantung pada /greengrass-root/certs direktori.

Untuk kompatibilitas backward dengan versi lebih awal dari 1.7.0. Properti ini diabaikan ketika crypto objek hadir.

certPath

Jalur ke sertifikat perangkat core relatif terhadap /greengrass-root/certs direktori.

Untuk kompatibilitas backward dengan versi lebih awal dari 1.7.0. Properti ini diabaikan ketika crypto objek hadir.
keyPath Jalur ke kunci privat core tergantung pada /greengrass-root/certs direktori. Untuk kompatibilitas backward dengan versi lebih awal dari 1.7.0. Properti ini diabaikan ketika crypto objek hadir.
thingArn Amazon Resource Name (ARN) dari AWS IoT hal yang mewakili AWS IoT Greengrass perangkat core. Temukan ARN untuk core Anda di konsol AWS IoT Greengrass tersebut di bawah Cores, atau dengan menjalankan aws greengrass get-core-definition-version perintah CLI.
iotHost Titik akhir AWS IoT Anda.

Temukan titik akhir di konsol AWS IoT di bawah Pengaturan, atau dengan menjalankan aws iot describe-endpoint --endpoint-type iot:Data-ATS perintah CLI.

Perintah ini mengembalikan titik akhir Amazon Trust Services (ATS). Untuk informasi lebih lanjut, lihat Dokumentasi autentikasi server.

ggHost Titik akhir AWS IoT Greengrass Anda.

Ini adalah titik akhir iotHost Anda dengan prefiks host digantikan oleh greengrass (sebagai contoh, greengrass-ats.iot.region.amazonaws.com). Gunakan Wilayah AWS yang sama seperti iotHost.

iotMqttPort Opsional. Nomor port yang digunakan untuk komunikasi MQTT dengan AWS IoT. Nilai yang valid adalah 8883 atau 443. Nilai default-nya adalah 8883. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.
keepAlive Opsional. Periode KeepAlive MQTT, dalam detik. Kisaran valid adalah antara 30 dan 1200 detik. Nilai default adalah 600.
networkProxy Opsional. Sebuah objek yang mendefinisikan server proksi untuk terhubung ke. Server proksi dapat HTTP atau HTTPS. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.

runtime

Bidang Deskripsi Catatan
cgroup
useSystemd Indicates whether your device uses systemd. Valid values are ya or tidak. Run the check_ggc_dependencies script in Modul 1 to see if your device uses systemd.

kripto

Objek crypto tersebut, ditambahkan di v1.7.0, memperkenalkan properti yang mendukung penyimpanan kunci privat pada hardware security module (HSM) melalui PKCS #11 dan penyimpanan rahasia lokal. Lihat informasi yang lebih lengkap di Integrasi keamanan perangkat keras dan Men-deploy rahasia ke AWS IoT Greengrass core. Konfigurasi untuk penyimpanan kunci privat pada HSMs atau di sistem file yang didukung.

Bidang Deskripsi Catatan
caPath

Jalur absolut ke CA root AWS IoT ini.

Harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

PKCS11
OpenSSLEngine

Opsional. Jalur absolut ke file .so mesin OpenSSL untuk mengaktifkan mendukung PKCS#11 pada OpenSSL.

Harus berupa jalur ke file pada sistem file.

Properti ini diperlukan jika Anda menggunakan agen pembaruan Greengrass OTA dengan keamanan perangkat keras. Untuk informasi selengkapnya, lihat Konfigurasikan dukungan untuk over-the-air pembaruan.

P11Provider

Jalur absolut ke perpustakaan libdl-loadable implementasi PKCS#11.

Harus berupa jalur ke file pada sistem file.

slotLabel

Slot label yang digunakan untuk mengidentifikasi modul perangkat keras.

Harus sesuai dengan spesifikasi label PKCS#11.

slotUserPin

PIN pengguna yang digunakan untuk mengautentikasi core Greengrass ke modul.

Harus memiliki izin yang memadai untuk melakukan C_Sign dengan kunci privat yang dikonfigurasi.

principals
IoTCertificate The certificate and private key that the core uses to make requests to AWS IoT.
Sertifikat IoT. privateKeyPath

Jalur ke kunci privat core.

Untuk penyimpanan sistem file, harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

Untuk penyimpanan HSM, harus jalur RFC 7512 PKCS#11 yang menentukan label objek.

IoTCertificate  .certificatePath

Jalur absolut untuk sertifikat perangkat core.

Harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

MQTT ServerCertificate

Opsional. Kunci privat yang menggunakan core dalam kombinasi dengan sertifikat untuk bertindak sebagai server MQTT atau gateway.

MQTTServerCertificate . privateKeyPath

Jalur ke kunci privat server MQTT lokal.

Gunakan nilai ini untuk menentukan kunci privat Anda sendiri untuk server MQTT lokal.

Untuk penyimpanan sistem file, harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

Untuk penyimpanan HSM, harus jalur RFC 7512 PKCS#11 yang menentukan label objek.

Jika properti ini dihilangkan, AWS IoT Greengrass memutar kunci berdasarkan pengaturan rotasi Anda. Jika ditentukan, pelanggan bertanggung jawab untuk memutar kunci.

SecretsManager The private key that secures the data key used for encryption. For more information, see Men-deploy rahasia ke AWS IoT Greengrass core.
SecretsManager  .privateKeyPath

Jalur ke kunci privat secrets manager lokal.

Hanya kunci RSA yang didukung.

Untuk penyimpanan sistem file, harus berupa URI file dalam bentuk: file:///absolute/path/to/file.

Untuk penyimpanan HSM, harus jalur RFC 7512 PKCS#11 yang menentukan label objek. Kunci privat harus dibuat dengan menggunakan mekanisme padding PKCS #1 v1.5 ini.

Properti konfigurasi berikut juga didukung:

Bidang Deskripsi Catatan
mqttMaxConnectionRetryInterval

Opsional. Interval maksimum (dalam detik) antara koneksi retries MQTT jika koneksi terputus.

Tentukan nilai ini sebagai unsigned integer. Default-nya adalah 60.

managedRespawn

Opsional. Mengindikasikan bahwa agen OTA perlu menjalankan kode kustom sebelum pembaruan.

Nilai yang valid adalah true atau false. Untuk informasi selengkapnya, lihat Perbarui OTA AWS IoT Greengrass perangkat lunak Core.

writeDirectory

Opsional. Direktori tulis di mana AWS IoT Greengrass membuat semua sumber daya baca/tulis.

Untuk informasi selengkapnya, lihat Mengonfigurasi direktori tulis untuk AWS IoT Greengrass.

GGC v1.6
{ "coreThing": { "caPath": "root-ca-pem", "certPath": "cloud-pem-crt", "keyPath": "cloud-pem-key", "thingArn": "arn:aws:iot:region:account-id:thing/core-thing-name", "iotHost": "host-prefix.iot.region.amazonaws.com", "ggHost": "greengrass.iot.region.amazonaws.com", "keepAlive": 600, "mqttMaxConnectionRetryInterval": 60 }, "runtime": { "cgroup": { "useSystemd": "yes|no" } }, "managedRespawn": true, "writeDirectory": "/write-directory" }
catatan

Jika Anda menggunakan opsi AWS IoT Greengrass kreasi Grup Default dari konsol, maka config.json file di-deployed ke perangkat core dalam keadaan bekerja yang menentukan konfigurasi default.

File config.json mendukung properti berikut:

Bidang Deskripsi Catatan
caPath

Jalur ke AWS IoT root CA tergantung pada /greengrass-root/certs direktori.

Simpan file di bawah /greengrass-root/certs.

certPath

Jalur ke AWS IoT Greengrass sertifikat core tergantung pada /greengrass-root/certs direktori.

Simpan file di bawah /greengrass-root/certs.
keyPath Jalur ke AWS IoT Greengrass kunci privat core tergantung pada /greengrass-root/certs direktori. Simpan file di bawah /greengrass-root/certs.
thingArn Amazon Resource Name (ARN) dari AWS IoT hal yang mewakili AWS IoT Greengrass perangkat core. Temukan ARN untuk core Anda di konsol AWS IoT Greengrass tersebut di bawah Cores, atau dengan menjalankan aws greengrass get-core-definition-version perintah CLI.
iotHost Titik akhir AWS IoT Anda. Temukan ini di konsol AWS IoT tersebut di bawah Pengaturan, atau dengan menjalankan aws iot describe-endpoint perintah CLI.
ggHost Titik akhir AWS IoT Greengrass Anda. Nilai ini menggunakan format greengrass.iot.region.amazonaws.com. Gunakan wilayah yang sama dengan iotHost.
keepAlive Periode KeepAlive MQTT, dalam detik. Ini adalah nilai opsional. Default-nya adalah 600.
mqttMaxConnectionRetryInterval

Interval maksimum (dalam detik) antara koneksi retries MQTT jika koneksi terputus.

Tentukan nilai ini sebagai unsigned integer. Ini adalah nilai opsional. Default-nya adalah 60.

useSystemd Menunjukkan apakah perangkat Anda menggunakan systemd. Nilai yang valid adalah yes atau no. Jalankan check_ggc_dependencies skrip di Modul 1 untuk melihat apakah perangkat Anda menggunakan systemd.
managedRespawn

Fitur pembaruan opsional over-the-air (OTA), ini menunjukkan bahwa agen OTA perlu menjalankan kode khusus sebelum pembaruan.

Nilai yang valid adalah true atau false. Untuk informasi selengkapnya, lihat Perbarui OTA AWS IoT Greengrass perangkat lunak Core.

writeDirectory

Direktori tulis di mana AWS IoT Greengrass membuat semua sumber daya baca/tulis.

Ini adalah nilai opsional. Untuk informasi selengkapnya, lihat Mengonfigurasi direktori tulis untuk AWS IoT Greengrass.

GGC v1.5
{ "coreThing": { "caPath": "root-ca-pem", "certPath": "cloud-pem-crt", "keyPath": "cloud-pem-key", "thingArn": "arn:aws:iot:region:account-id:thing/core-thing-name", "iotHost": "host-prefix.iot.region.amazonaws.com", "ggHost": "greengrass.iot.region.amazonaws.com", "keepAlive": 600 }, "runtime": { "cgroup": { "useSystemd": "yes|no" } }, "managedRespawn": true }

File config.json eksis di /greengrass-root/config dan berisi parameter berikut:

Bidang Deskripsi Catatan
caPath

Jalur ke AWS IoT root CA tergantung pada /greengrass-root/certs folder.

Simpan file di bawah /greengrass-root/certs folder.

certPath

Jalur ke AWS IoT Greengrass sertifikat core tergantung pada /greengrass-root/certs folder.

Simpan file di bawah /greengrass-root/certs folder.
keyPath Jalur ke AWS IoT Greengrass kunci privat core tergantung pada /greengrass-root/certs folder. Simpan file di bawah /greengrass-root/certs folder.
thingArn Amazon Resource Name (ARN) dari AWS IoT hal yang mewakili AWS IoT Greengrass perangkat core. Temukan ARN untuk core Anda di konsol AWS IoT Greengrass tersebut di bawah Cores, atau dengan menjalankan aws greengrass get-core-definition-version perintah CLI.
iotHost Titik akhir AWS IoT Anda. Temukan ini di AWS IoT konsol di bawah Pengaturan, atau dengan menjalankan aws iot describe-endpoint Perintah.
ggHost Titik akhir AWS IoT Greengrass Anda. Nilai ini menggunakan format greengrass.iot.region.amazonaws.com. Gunakan wilayah yang sama dengan iotHost.
keepAlive Periode KeepAlive MQTT, dalam detik. Ini adalah nilai opsional. Nilai default-nya adalah 600 detik.
useSystemd Menunjukkan apakah perangkat Anda menggunakan systemd. Nilai yang valid adalah yes atau no. Jalankan check_ggc_dependencies skrip di Modul 1 untuk melihat apakah perangkat Anda menggunakan systemd.
managedRespawn

Fitur pembaruan opsional over-the-air (OTA), ini menunjukkan bahwa agen OTA perlu menjalankan kode khusus sebelum pembaruan.

Untuk informasi selengkapnya, lihat Perbarui OTA AWS IoT Greengrass perangkat lunak Core.

GGC v1.3
{ "coreThing": { "caPath": "root-ca-pem", "certPath": "cloud-pem-crt", "keyPath": "cloud-pem-key", "thingArn": "arn:aws:iot:region:account-id:thing/core-thing-name", "iotHost": "host-prefix.iot.region.amazonaws.com", "ggHost": "greengrass.iot.region.amazonaws.com", "keepAlive": 600 }, "runtime": { "cgroup": { "useSystemd": "yes|no" } }, "managedRespawn": true }

File config.json eksis di /greengrass-root/config dan berisi parameter berikut:

Bidang Deskripsi Catatan
caPath

Jalur ke AWS IoT root CA tergantung pada /greengrass-root/certs folder.

Simpan file di bawah /greengrass-root/certs folder.

certPath

Jalur ke AWS IoT Greengrass sertifikat core tergantung pada /greengrass-root/certs folder.

Simpan file di bawah /greengrass-root/certs folder.
keyPath Jalur ke AWS IoT Greengrass kunci privat core tergantung pada /greengrass-root/certs folder. Simpan file di bawah /greengrass-root/certs folder.
thingArn Amazon Resource Name (ARN) dari AWS IoT hal yang mewakili AWS IoT Greengrass core. Anda dapat menemukan nilai ini pada konsol AWS IoT Greengrass di bawah definisi untuk hing AWS IoT Anda.
iotHost Titik akhir AWS IoT Anda. Anda dapat menemukan nilai ini pada konsol AWS IoT di bawah Pengaturan.
ggHost Titik akhir AWS IoT Greengrass Anda. Anda dapat menemukan nilai ini pada konsol AWS IoT tersebut di bawah Pengaturan dengan didahului greengrass. ini.
keepAlive Periode KeepAlive MQTT, dalam detik. Ini adalah nilai opsional. Nilai default-nya adalah 600 detik.
useSystemd Bendera biner, jika perangkat Anda menggunakan systemd. Nilai adalah yes atau no. Gunakan skrip dependensi di Modul 1 untuk melihat apakah perangkat Anda menggunakan systemd.
managedRespawn

Fitur pembaruan opsional over-the-air (OTA), ini menunjukkan bahwa agen OTA perlu menjalankan kode khusus sebelum pembaruan.

Untuk informasi selengkapnya, lihat Perbarui OTA AWS IoT Greengrass perangkat lunak Core.

GGC v1.1
{ "coreThing": { "caPath": "root-ca-pem", "certPath": "cloud-pem-crt", "keyPath": "cloud-pem-key", "thingArn": "arn:aws:iot:region:account-id:thing/core-thing-name", "iotHost": "host-prefix.iot.region.amazonaws.com", "ggHost": "greengrass.iot.region.amazonaws.com", "keepAlive": 600 }, "runtime": { "cgroup": { "useSystemd": "yes|no" } } }

File config.json eksis di /greengrass-root/config dan berisi parameter berikut:

Bidang Deskripsi Catatan
caPath

Jalur ke AWS IoT root CA tergantung pada /greengrass-root/certs folder.

Simpan file di bawah /greengrass-root/certs folder.

certPath

Jalur ke AWS IoT Greengrass sertifikat core tergantung pada /greengrass-root/certs folder.

Simpan file di bawah /greengrass-root/certs folder.
keyPath Jalur ke AWS IoT Greengrass kunci privat core tergantung pada /greengrass-root/certs folder. Simpan file di bawah /greengrass-root/certs folder.
thingArn Amazon Resource Name (ARN) dari AWS IoT hal yang mewakili AWS IoT Greengrass core. Anda dapat menemukan nilai ini pada konsol AWS IoT Greengrass di bawah definisi untuk hing AWS IoT Anda.
iotHost Titik akhir AWS IoT Anda. Anda dapat menemukan nilai ini pada konsol AWS IoT di bawah Pengaturan.
ggHost Titik akhir AWS IoT Greengrass Anda. Anda dapat menemukan nilai ini pada konsol AWS IoT tersebut di bawah Pengaturan dengan didahului greengrass. ini.
keepAlive Periode KeepAlive MQTT, dalam detik. Ini adalah nilai opsional. Nilai default-nya adalah 600 detik.
useSystemd Bendera biner, jika perangkat Anda menggunakan systemd. Nilai adalah yes atau no. Gunakan skrip dependensi di Modul 1 untuk melihat apakah perangkat Anda menggunakan systemd.
GGC v1.0

Di AWS IoT Greengrass Core v1.0, config.json di-deployed ke greengrass-root/configuration.

{ "coreThing": { "caPath": "root-ca-pem", "certPath": "cloud-pem-crt", "keyPath": "cloud-pem-key", "thingArn": "arn:aws:iot:region:account-id:thing/core-thing-name", "iotHost": "host-prefix.iot.region.amazonaws.com", "ggHost": "greengrass.iot.region.amazonaws.com", "keepAlive": 600 }, "runtime": { "cgroup": { "useSystemd": "yes|no" } } }

File config.json eksis di /greengrass-root/configuration dan berisi parameter berikut:

Bidang Deskripsi Catatan
caPath

Jalur ke AWS IoT root CA tergantung pada /greengrass-root/configuration/certs folder.

Simpan file di bawah /greengrass-root/configuration/certs folder.

certPath

Jalur ke AWS IoT Greengrass sertifikat core tergantung pada /greengrass-root/configuration/certs folder.

Simpan file di bawah /greengrass-root/configuration/certs folder.
keyPath Jalur ke AWS IoT Greengrass kunci privat core tergantung pada /greengrass-root/configuration/certs folder. Simpan file di bawah /greengrass-root/configuration/certs folder.
thingArn Amazon Resource Name (ARN) dari AWS IoT hal yang mewakili AWS IoT Greengrass core. Anda dapat menemukan nilai ini pada konsol AWS IoT Greengrass di bawah definisi untuk hing AWS IoT Anda.
iotHost Titik akhir AWS IoT Anda. Anda dapat menemukan nilai ini pada konsol AWS IoT di bawah Pengaturan.
ggHost Titik akhir AWS IoT Greengrass Anda.

Anda dapat menemukan nilai ini pada konsol AWS IoT tersebut di bawah Pengaturan dengan didahului greengrass. ini.

keepAlive Periode KeepAlive MQTT, dalam detik. Ini adalah nilai opsional. Nilai default-nya adalah 600 detik.
useSystemd Bendera biner jika perangkat Anda menggunakan systemd. Nilai adalah yes atau no. Gunakan skrip dependensi di Modul 1 untuk melihat apakah perangkat Anda menggunakan systemd.

Titik akhir layanan harus sesuai dengan jenis sertifikat CA root

Titik akhir AWS IoT Core dan AWS IoT Greengrass Anda harus sesuai dengan jenis sertifikat dari sertifikat CA root pada perangkat Anda. Jika jenis titik akhir dan sertifikat tidak sesuai, upaya autentikasi antara perangkat dan AWS IoT Core atau AWS IoT Greengrass akan gagal. Untuk informasi lebih lanjut, lihat Autentikasi Server dalam Panduan Developer AWS IoT.

Jika perangkat Anda menggunakan sertifikat CA akar Amazon Trust Services (ATS), yang merupakan metode pilihan, perangkat ini juga harus menggunakan titik akhir ATS untuk manajemen perangkat dan pengoperasian bidang data. Titik akhir ATS mencakup segmen ats, seperti yang ditunjukkan dalam sintaks berikut untuk titik akhir AWS IoT Core.

prefix-ats.iot.region.amazonaws.com
catatan

Untuk kompatibilitas mundur, AWS IoT Greengrass saat ini mendukung sertifikat CA VeriSign root lama dan titik akhir di beberapa s. Wilayah AWS Jika Anda menggunakan sertifikat CA VeriSign root lama, sebaiknya Anda membuat endpoint ATS dan menggunakan sertifikat CA root ATS sebagai gantinya. Jika tidak, pastikan untuk menggunakan titik akhir warisan yang sesuai. Untuk informasi selengkapnya, lihat Titik akhir warisan yang didukung di. Referensi Umum Amazon Web Services

Titik akhir di config.json

Pada perangkat core Greengrass, titik akhir ditentukan di coreThing objek di config.json file. Properti iotHost mewakili titik akhir AWS IoT Core ini. Properti ggHost mewakili titik akhir AWS IoT Greengrass ini. Di contoh potongan berikut, properti ini menentukan titik akhir ATS.

{ "coreThing" : { ... "iotHost" : "abcde1234uwxyz-ats.iot.us-west-2.amazonaws.com", "ggHost" : "greengrass-ats.iot.us-west-2.amazonaws.com", ... },
AWS IoT Coretitik akhir

Anda bisa mendapatkan titik akhir AWS IoT Core Anda dengan menjalankan perintah CLI aws iot describe-endpoint dengan yang sesuai parameter --endpoint-type ini.

  • Untuk mengembalikan titik akhir yang ditandatangani ATS, jalankan:

    aws iot describe-endpoint --endpoint-type iot:Data-ATS
  • Untuk mengembalikan titik akhir yang VeriSign ditandatangani lama, jalankan:

    aws iot describe-endpoint --endpoint-type iot:Data
AWS IoT Greengrasstitik akhir

Titik akhir AWS IoT Greengrass Anda adalah titik akhir iotHost dengan prefiks host digantikan oleh greengrass. Sebagai contoh, titik akhir ATS signed adalah greengrass-ats.iot.region.amazonaws.com. Ini menggunakan Wilayah yang sama sebagai titik akhir AWS IoT Core Anda.

Connect pada port 443 atau melalui proksi jaringan

Fitur ini tersedia untuk AWS IoT Greengrass Core v1.7 dan yang lebih baru.

core Greengrass berkomunikasi dengan AWS IoT Core menggunakan protokol pesan MQTT dengan autentikasi klien TLS. Dengan konvensi, MQTT atas TLS menggunakan port 8883. Namun, sebagai upaya keamanan, lingkungan yang terbatas mungkin akan membatasi lalu lintas masuk dan keluar untuk kisaran kecil port TCP. Sebagai contoh, firewall perusahaan mungkin akan membuka port 443 untuk lalu lintas HTTPS, tetapi menutup port lain yang digunakan untuk protokol yang kurang umum, seperti port 8883 untuk lalu lintas MQTT. Lingkungan lain yang membatasi mungkin mengharuskan semua lalu lintas melalui proksi HTTP sebelum terhubung ke internet.

Untuk mengaktifkan komunikasi dalam skenario ini, AWS IoT Greengrass mengizinkan konfigurasi berikut:

  • MQTT dengan autentikasi klien TLS melalui port 443. Jika jaringan Anda mengizinkan koneksi ke port 443, Anda dapat mengonfigurasi core untuk menggunakan port 443 untuk lalu lintas MQTT menggantikan port default 8883. Ini bisa menjadi koneksi langsung ke port 443 atau koneksi melalui server proksi jaringan.

    AWS IoT Greengrass menggunakan metode Application Layer Protocol Network (ALPN) TLS ekstensi untuk mengaktifkan konektor ini. Seperti konfigurasi default, MQTT melalui TLS pada port 443 menggunakan autentikasi klien berbasis sertifikat.

    Ketika dikonfigurasi untuk menggunakan koneksi langsung ke port 443, inti mendukung pembaruan over-the-air (OTA) untuk AWS IoT Greengrass perangkat lunak. Dukungan ini memerlukan AWS IoT Greengrass Core v1.9.3 atau yang lebih baru.

  • Komunikasi HTTPS melalui port 443. AWS IoT Greengrass mengirimkan lalu lintas HTTPS melalui port 8443 secara default, tetapi Anda dapat mengonfigurasinya untuk menggunakan port 443.

  • Koneksi melalui proksi jaringan. Anda dapat mengonfigurasi server proksi jaringan untuk bertindak sebagai perantara untuk menghubungkan ke core Greengrass. Hanya autentikasi dasar dan HTTP dan HTTPS proxy yang didukung.

    Konfigurasi proksi dilewatkan ke fungsi Lambda yang ditetapkan pengguna melalui http_proxy, https_proxy, dan no_proxy variabel lingkungan. Fungsi user-defined Lambda harus menggunakan pengaturan passed-in ini untuk terhubung melalui proksi. Perpustakaan umum yang digunakan oleh fungsi Lambda untuk membuat koneksi (seperti paket requests boto3 atau cURL dan python) biasanya menggunakan variabel lingkungan ini secara default. Jika fungsi Lambda juga menentukan variabel lingkungan yang sama, AWS IoT Greengrass tidak menimpa mereka.

    penting

    core Greengrass yang dikonfigurasi untuk menggunakan proksi jaringan tidak mendukung pembaruan OTA.

Untuk mengonfigurasi MQTT melalui port 443

Fitur ini memerlukan AWS IoT Greengrass Core v1.7 atau yang lebih baru.

Prosedur ini memungkinkan core Greengrass untuk menggunakan port 443 untuk pesan MQTT dengan AWS IoT Core.

  1. Jalankan perintah berikut untuk menghentikan Greengrass daemon:

    cd /greengrass-root/ggc/core/ sudo ./greengrassd stop
  2. Buka greengrass-root/config/config.json untuk diedit sebagai pengguna su.

  3. Di coreThing objek, tambahkan iotMqttPort properti dan atur nilai untuk 443, seperti yang ditunjukkan di contoh berikut.

    { "coreThing" : { "caPath" : "root.ca.pem", "certPath" : "12345abcde.cert.pem", "keyPath" : "12345abcde.private.key", "thingArn" : "arn:aws:iot:us-west-2:123456789012:thing/core-thing-name", "iotHost" : "abcd123456wxyz-ats.iot.us-west-2.amazonaws.com", "iotMqttPort" : 443, "ggHost" : "greengrass-ats.iot.us-west-2.amazonaws.com", "keepAlive" : 600 }, ... }
  4. Mulai daemon.

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

 

Untuk mengonfigurasi HTTPS melalui port 443

Fitur ini memerlukan AWS IoT Greengrass Core v1.8 atau yang lebih baru.

Prosedur ini mengonfigurasi core untuk menggunakan port 443 untuk komunikasi HTTPS.

  1. Jalankan perintah berikut untuk menghentikan Greengrass daemon:

    cd /greengrass-root/ggc/core/ sudo ./greengrassd stop
  2. Buka greengrass-root/config/config.json untuk diedit sebagai pengguna su.

  3. Di coreThing objek, tambahkan iotHttpPort dan ggHttpPort properti, seperti yang ditunjukkan di contoh berikut.

    { "coreThing" : { "caPath" : "root.ca.pem", "certPath" : "12345abcde.cert.pem", "keyPath" : "12345abcde.private.key", "thingArn" : "arn:aws:iot:us-west-2:123456789012:thing/core-thing-name", "iotHost" : "abcd123456wxyz-ats.iot.us-west-2.amazonaws.com", "iotHttpPort" : 443, "ggHost" : "greengrass-ats.iot.us-west-2.amazonaws.com", "ggHttpPort" : 443, "keepAlive" : 600 }, ... }
  4. Mulai daemon.

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

 

Untuk mengonfigurasi proksi jaringan

Fitur ini memerlukan AWS IoT Greengrass Core v1.7 atau yang lebih baru.

Prosedur ini mengizinkan AWS IoT Greengrass untuk terhubung ke internet melalui proksi jaringan HTTP atau HTTPS.

  1. Jalankan perintah berikut untuk menghentikan Greengrass daemon:

    cd /greengrass-root/ggc/core/ sudo ./greengrassd stop
  2. Buka greengrass-root/config/config.json untuk diedit sebagai pengguna su.

  3. Di coreThing objek, tambahkan objek networkProxy, seperti yang ditunjukkan dalam contoh berikut.

    { "coreThing" : { "caPath" : "root.ca.pem", "certPath" : "12345abcde.cert.pem", "keyPath" : "12345abcde.private.key", "thingArn" : "arn:aws:iot:us-west-2:123456789012:thing/core-thing-name", "iotHost" : "abcd123456wxyz-ats.iot.us-west-2.amazonaws.com", "ggHost" : "greengrass-ats.iot.us-west-2.amazonaws.com", "keepAlive" : 600, "networkProxy": { "noProxyAddresses" : "http://128.12.34.56,www.mywebsite.com", "proxy" : { "url" : "https://my-proxy-server:1100", "username" : "Mary_Major", "password" : "pass@word1357" } } }, ... }
  4. Mulai daemon.

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

objek networkProxy

Gunakan networkProxy objek untuk menentukan informasi tentang proksi jaringan. Objek ini memiliki sifat berikut.

Bidang Deskripsi
noProxyAddresses

Opsional. Daftar comma-separated alamat IP atau nama host yang dibebaskan dari proksi.

proxy

Proksi untuk terhubung ke. Proksi memiliki sifat berikut.

  • url. URL server proksi, dalam format scheme://userinfo@host:port.

    • scheme. Skema. Harus http atau https.

    • userinfo. Opsional. Nama pengguna dan informasi kata sandi. Jika ditentukan, username dan password bidang diabaikan.

    • host. Nama host atau alamat IP server proksi.

    • port. Opsional. Nomor port. Jika tidak ditentukan, nilai default berikut digunakan:

      • http: 80

      • https: 443

  • username. Opsional. Nama pengguna yang digunakan untuk mengautentikasi ke server proksi.

  • password. Opsional. Password yang digunakan untuk mengautentikasi ke server proksi.

Mengizinkan titik akhir

Komunikasi antara perangkat Greengrass dan AWS IoT Core atau AWS IoT Greengrass harus diautentikasi. Autentikasi ini didasarkan pada sertifikat perangkat X.509 terdaftar dan kunci kriptografi. Untuk mengizinkan permintaan diautentifikasi untuk melewati proksi tanpa enkripsi tambahan, mengizinkan titik akhir berikut.

Titik Akhir Port Deskripsi
greengrass.region.amazonaws.com 443

Digunakan untuk operasi pesawat kontrol untuk manajemen grup.

prefix-ats.iot.region.amazonaws.com

atau

prefix.iot.region.amazonaws.com

MQTT: 8883 atau 443

HTTPS: 8443 atau 443

Digunakan untuk operasi pesawat data untuk manajemen perangkat, seperti sinkronisasi bayangan.

Izinkan penggunaan salah satu atau kedua titik akhir, tergantung pada apakah perangkat inti dan klien Anda menggunakan sertifikat root CA Amazon Trust Services (pilihan), sertifikat CA root lama, atau keduanya. Untuk informasi selengkapnya, lihat Titik akhir layanan harus sesuai dengan jenis sertifikat CA root.

greengrass-ats.iot.region.amazonaws.com

atau

greengrass.iot.region.amazonaws.com

8443 atau 443

Digunakan untuk operasi penemuan perangkat.

Izinkan penggunaan salah satu atau kedua titik akhir, tergantung pada apakah perangkat inti dan klien Anda menggunakan sertifikat root CA Amazon Trust Services (pilihan), sertifikat CA root lama, atau keduanya. Untuk informasi selengkapnya, lihat Titik akhir layanan harus sesuai dengan jenis sertifikat CA root.

catatan

Klien yang terhubung pada port 443 harus mengimplementasikan Application Layer Protocol Negotiation (ALPN) TLS ekstensi dan lulus x-amzn-http-ca sebagai ProtocolName di ProtocolNameList. Untuk informasi selengkapnya, lihat Protokol di AWS IoT Panduan Pengembang.

*.s3.amazonaws.com 443

Digunakan untuk operasi penyebaran dan over-the-air pembaruan. Format ini mencakup karakter * karena prefiks titik akhir dikendalikan secara internal dan mungkin berubah setiap saat.

logs.region.amazonaws.com 443

Diperlukan jika grup Greengrass dikonfigurasi untuk menulis log. CloudWatch

Mengonfigurasi direktori tulis untuk AWS IoT Greengrass

Fitur ini tersedia untuk AWS IoT Greengrass Core v1.6 dan yang lebih baru.

Secara default, AWS IoT Greengrass perangkat lunak Core diterapkan di bawah direktori root tunggal di mana AWS IoT Greengrass melakukan semua operasi membaca dan menulis. Namun, Anda dapat mengkonfigurasi AWS IoT Greengrass untuk menggunakan direktori terpisah untuk semua operasi tulis, termasuk membuat direktori dan file. Dalam kasus ini, AWS IoT Greengrass menggunakan dua direktori tingkat atas:

  • Direktori greengrass-root ini, yang dapat Anda tinggalkan sebagai baca-tulis atau opsional membuat read-only. Ini berisi AWS IoT Greengrass perangkat lunak Core dan komponen penting lainnya yang harus tetap tidak berubah selama runtime, seperti sertifikat dan config.json.

  • Direktori tulis yang ditentukan. Ini berisi konten yang dapat ditulis, seperti log, informasi keadaan, dan di-deployed fungsi Lambda yang ditetapkan pengguna.

Konfigurasi ini menghasilkan struktur direktori berikut.

Direktori root Greengrass
greengrass-root/ |-- certs/ | |-- root.ca.pem | |-- hash.cert.pem | |-- hash.private.key | |-- hash.public.key |-- config/ | |-- config.json |-- ggc/ | |-- packages/ | |-- package-version/ | |-- bin/ | |-- daemon | |-- greengrassd | |-- lambda/ | |-- LICENSE/ | |-- release_notes_package-version.html | |-- runtime/ | |-- java8/ | |-- nodejs8.10/ | |-- python3.8/ | |-- core/
Tulis Direktori
write-directory/ |-- packages/ | |-- package-version/ | |-- ggc_root/ | |-- rootfs_nosys/ | |-- rootfs_sys/ | |-- var/ |-- deployment/ | |-- group/ | |-- group.json | |-- lambda/ | |-- mlmodel/ |-- var/ | |-- log/ | |-- state/

 

Untuk mengonfigurasi direktori tulis
  1. Jalankan perintah berikut untuk menghentikan AWS IoT Greengrass daemon:

    cd /greengrass-root/ggc/core/ sudo ./greengrassd stop
  2. Buka greengrass-root/config/config.json untuk diedit sebagai pengguna su.

  3. Tambahkan writeDirectory sebagai parameter dan tentukan jalur ke direktori target, seperti yang ditunjukkan di contoh berikut.

    { "coreThing": { "caPath": "root-CA.pem", "certPath": "hash.pem.crt", ... }, ... "writeDirectory" : "/write-directory" }
    catatan

    Anda dapat memperbarui writeDirectory pengaturan sesering yang Anda inginkan. Setelah pengaturan diperbarui, AWS IoT Greengrass menggunakan direktori tulis yang baru ditentukan pada permulaan berikutnya, tetapi tidak memigrasi konten dari direktori tulis sebelumnya.

  4. Sekarang bahwa direktori tulis Anda dikonfigurasi, Anda dapat secara opsional membuat greengrass-root directory read-only. Untuk instruksi, lihat. Untuk Membuat Direktori Root Greengrass Hanya Baca.

    Jika tidak, mulai AWS IoT Greengrass daemon:

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

 

Untuk membuat direktori root Greengrass hanya baca

Ikuti langkah-langkah ini hanya jika Anda ingin membuat direktori root Greengrass hanya baca. Direktori tulis harus dikonfigurasi sebelum Anda mulai.

  1. Berikan izin akses ke direktori yang diperlukan:

    1. Memberikan izin baca dan tulis ke config.json pemilik.

      sudo chmod 0600 /greengrass-root/config/config.json
    2. Membuat ggc_user pemilik sertifikat dan direktori sistem Lambda.

      sudo chown -R ggc_user:ggc_group /greengrass-root/certs/ sudo chown -R ggc_user:ggc_group /greengrass-root/ggc/packages/1.11.6/lambda/
      catatan

      Akun ggc_user dan ggc_group digunakan secara default untuk menjalankan fungsi sistem Lambda. Jika Anda mengonfigurasi tingkat grup identitas akses default untuk menggunakan akun yang berbeda, Anda harus memberikan izin kepada pengguna tersebut (UID) dan grup (GID) sebagai gantinya.

  2. Membuat direktori greengrass-root read-only dengan menggunakan mekanisme pilihan Anda.

    catatan

    Salah satu cara untuk membuat direktori hanya-baca greengrass-root adalah untuk memasang direktori sebagai hanya-baca. Namun, untuk menerapkan pembaruan over-the-air (OTA) ke perangkat lunak AWS IoT Greengrass Core di direktori yang dipasang, direktori harus dilepas terlebih dahulu, dan kemudian dipasang kembali setelah pembaruan. Anda dapat menambahkan umount dan mount operasi ota_pre_update dan ota_post_update skrip. Untuk informasi lebih lanjut tentang pembaruan OTA, lihat Agen pembaruan OTA Greengrass dan Respawn terkelola dengan pembaruan OTA.

  3. Mulai daemon.

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

    Jika izin dari langkah 1 tidak diatur dengan benar, daemon tidak akan dimulai.

Konfigurasikan pengaturan MQTT

Di AWS IoT Greengrass lingkungan, perangkat klien lokal, fungsi Lambda, konektor, dan komponen sistem dapat berkomunikasi satu sama lain dan dengan. AWS IoT Core Semua komunikasi berjalan melalui core, yang mengelola langganan yang mengotorisasi komunikasi MQTT antar entitas.

Untuk informasi tentang pengaturan MQTT Anda dapat mengonfigurasi untuk AWS IoT Greengrass, lihat bagian berikut:

catatan

OPC-UA adalah standar pertukaran informasi untuk komunikasi industri. Untuk mengimplementasikan dukungan OPC-UA pada inti Greengrass, Anda dapat menggunakan konektor IoT. SiteWise Konektor mengirimkan data perangkat industri dari server OPC-UA ke properti aset di AWS IoT SiteWise.

Kualitas layanan pesan

AWS IoT Greengrass mendukung kualitas layanan (QoS) tingkat 0 atau 1, tergantung pada konfigurasi Anda dan target dan arah komunikasi. core Greengrass bertindak sebagai klien untuk komunikasi dengan AWS IoT Core dan broker pesan untuk komunikasi di jaringan lokal.

Core sebagai klien dan broker pesan lokal.

Untuk informasi lebih lanjut tentang MQTT dan QoS, lihat Memulai di situs web MQTT.

Komunikasi dengan AWS Cloud
  • Pesan keluar menggunakan QoS 1

    Core mengirimkan pesan ditujukan untuk AWS Cloud target menggunakan QoS 1. AWS IoT Greengrass menggunakan antrean pesan MQTT untuk memproses pesan ini. Jika pengiriman pesan tidak dikonfirmasi oleh AWS IoT, pesan akan spooled untuk dicoba lagi nanti. Pesan tidak dapat dicoba lagi jika antrean penuh. Konfirmasi pengiriman pesan dapat membantu meminimalkan kehilangan data dari konektivitas intermiten.

    Karena pesan keluar ke AWS IoT menggunakan QoS 1, tingkat maksimum di mana core Greengrass dapat mengirim pesan tergantung pada latensi antara core dan AWS IoT. Setiap kali core mengirimkan pesan, maka menunggu sampai AWS IoT mengakui pesan sebelum mengirim pesan berikutnya. Misalnya, jika waktu pulang-pergi antara core dan waktunya Wilayah AWS adalah 50 milidetik, core dapat mengirim hingga 20 pesan per detik. Pertimbangkan perilaku ini ketika Anda memilih Wilayah AWS di mana core Anda terhubung. Untuk menyerap data IoT volume tinggi ke AWS Cloud, Anda dapat menggunakan Pengelola aliran.

    Untuk informasi selengkapnya tentang antrean pesan MQTT, termasuk cara mengonfigurasi cache penyimpanan lokal yang dapat bertahan pesan yang ditujukan untuk AWS Cloud target, lihat Antrean pesan MQTT untuk target cloud.

  • Pesan masuk menggunakan QoS 0 (default) atau QoS 1

    Secara default, core berlangganan dengan QoS 0 untuk pesan dari AWS Cloud sumber. Jika Anda mengaktifkan sesi persisten, core berlangganan dengan QoS 1. Hal ini dapat membantu meminimalkan kehilangan data dari konektivitas intermiten. Untuk mengelola QoS untuk langganan ini, Anda mengkonfigurasi pengaturan persistensi pada komponen sistem spooler lokal.

    Untuk informasi lebih lanjut, termasuk cara mengaktifkan core untuk membuat sesi persisten dengan AWS Cloud target, lihat Sesi persisten MQTT dengan AWS IoT Core.

Komunikasi dengan target lokal

Semua komunikasi lokal menggunakan QoS 0. Inti membuat satu upaya untuk mengirim pesan ke target lokal, yang dapat berupa fungsi Greengrass Lambda, konektor, atau perangkat klien. Inti tidak menyimpan pesan atau mengonfirmasi pengiriman. Pesan dapat diputus di mana saja antara komponen.

catatan

Meskipun komunikasi langsung antara fungsi Lambda tidak menggunakan pesan MQTT, perilaku adalah sama.

Antrean pesan MQTT untuk target cloud

MQTT pesan yang ditujukan untuk AWS Cloud target antri untuk menunggu pemrosesan. Pesan antrean diproses di urutan pertama dalam, pertama keluar (FIFO). Setelah pesan diproses dan dipublikasikan ke AWS IoT Core, pesan akan dihapus dari antrean.

Secara default, inti Greengrass menyimpan dalam memori pesan yang belum diproses yang ditujukan untuk target. AWS Cloud Anda dapat mengkonfigurasi core untuk menyimpan pesan yang belum diproses dalam cache penyimpanan lokal sebagai gantinya. Tidak seperti penyimpanan dalam memori, cache penyimpanan lokal memiliki kemampuan untuk bertahan di restart core (sebagai contoh, setelah grup deployment atau reboot perangkat), sehingga AWS IoT Greengrass dapat terus memproses pesan. Anda juga dapat mengonfigurasi ukuran penyimpanan.

Awas

Inti Greengrass mungkin mengantri duplikat pesan MQTT ketika kehilangan koneksi, karena ia mencoba ulang operasi publikasi sebelum klien MQTT mendeteksi bahwa itu offline. Untuk menghindari duplikat pesan MQTT untuk target cloud, konfigurasikan keepAlive nilai inti menjadi kurang dari setengah nilainya. mqttOperationTimeout Untuk informasi selengkapnya, lihat AWS IoT Greengrass file konfigurasi core.

AWS IoT Greengrass menggunakan komponen sistem spooler (pada GGCloudSpooler fungsi Lambda) untuk mengelola antrean pesan. Anda dapat menggunakan yang berikut ini GGCloudSpooler variabel lingkungan untuk mengonfigurasi pengaturan penyimpanan.

  • GG_CONFIG_STORAGE_TYPE. Lokasi antrean pesan. Berikut adalah nilai yang valid:

    • FileSystem. Menyimpan pesan yang belum diproses dalam cache penyimpanan lokal pada disk perangkat core fisik. Ketika core dimulai ulang, pesan antrean dipertahankan untuk diproses. Pesan akan dihapus setelah pesan diproses.

    • Memory (default). Menyimpan pesan yang belum diproses dalam memori. Ketika restart core, pesan antrean hilang.

      Opsi ini dioptimalkan untuk perangkat dengan kemampuan perangkat keras terbatas. Saat menggunakan konfigurasi ini, kami sarankan Anda men-deploy grup atau me-restart perangkat ketika gangguan layanan adalah yang terendah.

  • GG_CONFIG_MAX_SIZE_BYTES. Ukuran penyimpanannya, dalam byte. Nilai ini dapat berupa integer non-negatif lebih besar dari atau sama dengan 262144 (256 KB); ukuran yang lebih kecil mencegah AWS IoT Greengrass perangkat lunak Core dari awal. Ukuran default-nya adalah 2,5 MB. Bila batas ukuran tercapai, pesan antrean tertua digantikan oleh pesan baru.

catatan

Fitur ini tersedia untuk AWS IoT Greengrass Core v1.6 dan yang lebih baru. Versi sebelumnya menggunakan penyimpanan dalam memori dengan ukuran antrean 2,5 MB. Anda tidak dapat mengonfigurasi pengaturan penyimpanan untuk versi sebelumnya.

Untuk cache pesan di penyimpanan lokal

Anda dapat mengonfigurasi AWS IoT Greengrass untuk cache pesan ke sistem file sehingga mereka bertahan di restart core. Untuk melakukannya, Anda men-deploy versi definisi fungsi di mana GGCloudSpooler mengatur fungsi menetapkan jenis penyimpanan untuk FileSystem. Anda harus menggunakan AWS IoT Greengrass API untuk mengonfigurasi cache penyimpanan lokal. Anda tidak dapat melakukan ini di konsol.

Prosedur berikut menggunakan perintah create-function-definition-versionCLI untuk mengkonfigurasi spooler untuk menyimpan pesan antrian ke sistem file. Ini juga mengonfigurasi ukuran antrean 2,6 MB.

  1. Dapatkan ID dari grup Greengrass target dan versi grup. Prosedur ini mengasumsikan bahwa ini adalah versi grup dan grup terbaru. Query berikut mengembalikan grup yang paling baru dibuat.

    aws greengrass list-groups --query "reverse(sort_by(Groups, &CreationTimestamp))[0]"

    Atau, Anda dapat melakukan query berdasarkan nama. Nama grup tidak perlu unik, sehingga beberapa grup mungkin ditampilkan.

    aws greengrass list-groups --query "Groups[?Name=='MyGroup']"
    catatan

    Anda juga dapat menemukan nilai-nilai ini di konsol AWS IoT tersebut. ID grup ditampilkan pada halaman Pengaturan grup. ID versi grup ditampilkan di tab Deployment grup.

  2. Salin nilai Id dan LatestVersion dari grup target di dalam output.

  3. Dapatkan versi grup terbaru.

    • Ganti id-grup dengan Id yang Anda salin.

    • Ganti latest-group-version-iddengan LatestVersion yang Anda salin.

    aws greengrass get-group-version \ --group-id group-id \ --group-version-id latest-group-version-id
  4. Dari objek Definition dalam output, salin CoreDefinitionVersionArn dan ARN dari semua komponen grup lainnya kecuali FunctionDefinitionVersionArn. Anda menggunakan nilai-nilai ini ketika membuat versi grup baru.

  5. Dari FunctionDefinitionVersionArn di output, salin ID dari definisi fungsi. ID adalah GUID yang mengikuti functions segmen di dalam ARN, seperti yang ditunjukkan dalam contoh berikut.

    arn:aws:greengrass:us-west-2:123456789012:/greengrass/definition/functions/bcfc6b49-beb0-4396-b703-6dEXAMPLEcu5/versions/0f7337b4-922b-45c5-856f-1aEXAMPLEsf6
    catatan

    Atau, Anda dapat membuat definisi fungsi dengan menjalankan create-function-definition perintah, dan kemudian menyalin ID dari output.

  6. Menambahkan versi definisi fungsi untuk definisi fungsi.

    • Ganti function-definition-iddengan Id yang Anda salin untuk definisi fungsi.

    • Ganti arbitrary-function-iddengan nama untuk fungsi tersebut, sepertispooler-function.

    • Tambahkan fungsi Lambda yang ingin Anda sertakan dalam versi ini ke functions array. Anda dapat menggunakan get-function-definition-version perintah untuk mendapatkan fungsi Greengrass Lambda dari versi definisi fungsi yang ada.

    Awas

    Pastikan Anda menentukan nilai untuk GG_CONFIG_MAX_SIZE_BYTES itu lebih besar dari atau sama dengan 262144. Ukuran yang lebih kecil mencegah AWS IoT Greengrass Perangkat lunak Core dari awal.

    aws greengrass create-function-definition-version \ --function-definition-id function-definition-id \ --functions '[{"FunctionArn": "arn:aws:lambda:::function:GGCloudSpooler:1","FunctionConfiguration": {"Environment": {"Variables":{"GG_CONFIG_MAX_SIZE_BYTES":"2621440","GG_CONFIG_STORAGE_TYPE":"FileSystem"}},"Executable": "spooler","MemorySize": 32768,"Pinned": true,"Timeout": 3},"Id": "arbitrary-function-id"}]'
    catatan

    Jika Anda sebelumnya mengatur GG_CONFIG_SUBSCRIPTION_QUALITY variabel lingkungan untuk mendukung sesi persisten dengan AWS IoT Core, termasuk dalam fungsi instans ini.

  7. Salin Arn dari versi definisi fungsi dari output.

  8. Buat versi grup yang berisi fungsi Lambda sistem.

    • Ganti id-grup dengan Id untuk grup.

    • Ganti core-definition-version-arndengan CoreDefinitionVersionArn yang Anda salin dari versi grup terbaru.

    • Ganti function-definition-version-arndengan Arn yang Anda salin untuk versi definisi fungsi baru.

    • Ganti ARN untuk komponen grup lainnya (sebagai contoh, SubscriptionDefinitionVersionArn atau DeviceDefinitionVersionArn) yang Anda salin dari versi grup terbaru.

    • Hapus parameter yang tidak terpakai. Sebagai contoh, Hapus --resource-definition-version-arn jika versi grup Anda tidak berisi sumber daya apa pun.

    aws greengrass create-group-version \ --group-id group-id \ --core-definition-version-arn core-definition-version-arn \ --function-definition-version-arn function-definition-version-arn \ --device-definition-version-arn device-definition-version-arn \ --logger-definition-version-arn logger-definition-version-arn \ --resource-definition-version-arn resource-definition-version-arn \ --subscription-definition-version-arn subscription-definition-version-arn
  9. Salin Version dari output. Ini adalah ID dari versi grup baru.

  10. Men-deploy grup dengan versi grup baru.

    • Ganti id-grup dengan Id yang Anda salin untuk grup.

    • Ganti group-version-iddengan Version yang Anda salin untuk versi grup baru.

    aws greengrass create-deployment \ --group-id group-id \ --group-version-id group-version-id \ --deployment-type NewDeployment

Untuk memperbarui pengaturan penyimpanan, Anda menggunakan AWS IoT Greengrass API untuk membuat versi definisi fungsi baru yang berisi GGCloudSpooler fungsi dengan konfigurasi diperbarui. Kemudian tambahkan versi definisi fungsi ke versi grup baru (bersama dengan komponen grup Anda yang lain) dan men-deploy versi grup. Jika Anda ingin memulihkan konfigurasi default, Anda dapat men-deploy versi definisi fungsi yang tidak termasuk GGCloudSpooler fungsi.

Fungsi Lambda sistem ini tidak terlihat di konsol. Namun, setelah fungsi ditambahkan ke versi grup terbaru, itu termasuk dalam deployment yang Anda buat dari konsol, kecuali jika Anda menggunakan API untuk mengganti atau menghapusnya.

Sesi persisten MQTT dengan AWS IoT Core

Fitur ini tersedia untuk AWS IoT Greengrass Core v1.10 dan yang lebih baru.

Sebuah core Greengrass dapat membangun sesi persisten dengan AWS IoT broker pesan. Sesi persisten adalah koneksi yang sedang berlangsung yang mengizinkan core untuk menerima pesan yang dikirim saat core offline. Core adalah klien dalam koneksi.

Dalam sesi persisten, AWS IoT pesan broker menyimpan semua langganan core membuat selama koneksi. Jika inti terputus, broker AWS IoT pesan menyimpan pesan yang tidak diakui dan baru diterbitkan sebagai QoS 1 dan ditujukan untuk target lokal, seperti fungsi Lambda dan perangkat klien. Ketika core menghubungkan kembali, sesi persisten dilanjutkan dan AWS IoT pesan broker mengirimkan pesan yang disimpan ke core pada tingkat maksimum 10 pesan per detik. Sesi persisten memiliki periode kedaluwarsa default 1 jam, yang dimulai ketika broker pesan mendeteksi bahwa core terputus. Untuk informasi selengkapnya, lihat sesi persisten MQTT di AWS IoT Panduan Pengembang.

AWS IoT Greengrass menggunakan komponen sistem spooler (pada GGCloudSpooler Fungsi Lambda) untuk membuat langganan yang memiliki AWS IoT sebagai sumbernya. Anda dapat menggunakan variabel lingkungan GGCloudSpooler berikut untuk mengonfigurasi sesi persisten.

  • GG_CONFIG_SUBSCRIPTION_QUALITY. Kualitas langganan yang memiliki AWS IoT sebagai sumbernya. Berikut adalah nilai yang valid:

    • AtMostOnce (default). Menonaktifkan sesi persisten. Langganan menggunakan QoS 0.

    • AtLeastOncePersistent. Mengaktifkan sesi persisten. Atur cleanSession bendera ke 0 di CONNECT pesan dan berlangganan dengan QoS 1.

      Pesan yang diterbitkan dengan QoS 1 yang diterima core dijamin dapat mencapai antrean pekerjaan Greengrass daemon's in-memory. Core mengakui pesan setelah ditambahkan ke antrean. Komunikasi berikutnya dari antrean ke target lokal (sebagai contoh, fungsi Greengrass Lambda, konektor, atau perangkat) dikirim sebagai QoS 0. AWS IoT Greengrass tidak menjamin pengiriman ke target lokal.

      catatan

      Anda dapat menggunakan properti konfigurasi maxWorkItemHitung untuk mengontrol ukuran antrian item kerja. Misalnya, Anda dapat meningkatkan ukuran antrean jika beban kerja Anda memerlukan lalu lintas MQTT berat.

      Ketika sesi persisten diaktifkan, core membuka setidaknya satu koneksi tambahan untuk pertukaran pesan MQTT dengan AWS IoT. Untuk informasi selengkapnya, lihat ID klien untuk koneksi MQTT dengan AWS IoT.

Untuk mengonfigurasi sesi persisten MQTT

Anda dapat mengonfigurasi AWS IoT Greengrass untuk menggunakan sesi persisten dengan AWS IoT Core. Untuk melakukannya, Anda men-deploy versi definisi fungsi di mana GGCloudSpooler fungsi mengatur kualitas berlangganan untuk AtLeastOncePersistent. Pengaturan ini berlaku untuk semua langganan yang memiliki AWS IoT Core (cloud) sebagai sumber. Anda harus menggunakan AWS IoT Greengrass API untuk mengonfigurasi sesi persisten. Anda tidak dapat melakukan ini di konsol.

Prosedur berikut menggunakan perintah create-function-definition-versionCLI untuk mengkonfigurasi spooler untuk menggunakan sesi persisten. Dalam prosedur ini, kami menganggap bahwa Anda memperbarui konfigurasi versi grup terbaru dari grup yang ada.

  1. Dapatkan ID dari grup Greengrass target dan versi grup. Prosedur ini mengasumsikan bahwa ini adalah versi grup dan grup terbaru. Query berikut mengembalikan grup yang paling baru dibuat.

    aws greengrass list-groups --query "reverse(sort_by(Groups, &CreationTimestamp))[0]"

    Atau, Anda dapat melakukan query berdasarkan nama. Nama grup tidak perlu unik, sehingga beberapa grup mungkin ditampilkan.

    aws greengrass list-groups --query "Groups[?Name=='MyGroup']"
    catatan

    Anda juga dapat menemukan nilai-nilai ini di konsol AWS IoT tersebut. ID grup ditampilkan pada halaman Pengaturan grup. ID versi grup ditampilkan di tab Deployment grup.

  2. Salin nilai Id dan LatestVersion dari grup target di dalam output.

  3. Dapatkan versi grup terbaru.

    • Ganti id-grup dengan Id yang Anda salin.

    • Ganti latest-group-version-iddengan LatestVersion yang Anda salin.

    aws greengrass get-group-version \ --group-id group-id \ --group-version-id latest-group-version-id
  4. Dari objek Definition dalam output, salin CoreDefinitionVersionArn dan ARN dari semua komponen grup lainnya kecuali FunctionDefinitionVersionArn. Anda menggunakan nilai-nilai ini ketika membuat versi grup baru.

  5. Dari FunctionDefinitionVersionArn di output, salin ID dari definisi fungsi. ID adalah GUID yang mengikuti functions segmen di dalam ARN, seperti yang ditunjukkan dalam contoh berikut.

    arn:aws:greengrass:us-west-2:123456789012:/greengrass/definition/functions/bcfc6b49-beb0-4396-b703-6dEXAMPLEcu5/versions/0f7337b4-922b-45c5-856f-1aEXAMPLEsf6
    catatan

    Atau, Anda dapat membuat definisi fungsi dengan menjalankan create-function-definition perintah, dan kemudian menyalin ID dari output.

  6. Menambahkan versi definisi fungsi untuk definisi fungsi.

    • Ganti function-definition-iddengan Id yang Anda salin untuk definisi fungsi.

    • Ganti arbitrary-function-iddengan nama untuk fungsi tersebut, sepertispooler-function.

    • Tambahkan fungsi Lambda yang ingin Anda sertakan dalam versi ini ke functions array. Anda dapat menggunakan get-function-definition-version perintah untuk mendapatkan fungsi Greengrass Lambda dari versi definisi fungsi yang ada.

    aws greengrass create-function-definition-version \ --function-definition-id function-definition-id \ --functions '[{"FunctionArn": "arn:aws:lambda:::function:GGCloudSpooler:1","FunctionConfiguration": {"Environment": {"Variables":{"GG_CONFIG_SUBSCRIPTION_QUALITY":"AtLeastOncePersistent"}},"Executable": "spooler","MemorySize": 32768,"Pinned": true,"Timeout": 3},"Id": "arbitrary-function-id"}]'
    catatan

    Jika Anda sebelumnya mengatur GG_CONFIG_STORAGE_TYPE atau GG_CONFIG_MAX_SIZE_BYTES variabel lingkungan ke menentukan pengaturan penyimpanan, termasuk mereka dalam contoh fungsi ini.

  7. Salin Arn dari versi definisi fungsi dari output.

  8. Buat versi grup yang berisi fungsi Lambda sistem.

    • Ganti id-grup dengan Id untuk grup.

    • Ganti core-definition-version-arndengan CoreDefinitionVersionArn yang Anda salin dari versi grup terbaru.

    • Ganti function-definition-version-arndengan Arn yang Anda salin untuk versi definisi fungsi baru.

    • Ganti ARN untuk komponen grup lainnya (sebagai contoh, SubscriptionDefinitionVersionArn atau DeviceDefinitionVersionArn) yang Anda salin dari versi grup terbaru.

    • Hapus parameter yang tidak terpakai. Sebagai contoh, Hapus --resource-definition-version-arn jika versi grup Anda tidak berisi sumber daya apa pun.

    aws greengrass create-group-version \ --group-id group-id \ --core-definition-version-arn core-definition-version-arn \ --function-definition-version-arn function-definition-version-arn \ --device-definition-version-arn device-definition-version-arn \ --logger-definition-version-arn logger-definition-version-arn \ --resource-definition-version-arn resource-definition-version-arn \ --subscription-definition-version-arn subscription-definition-version-arn
  9. Salin Version dari output. Ini adalah ID dari versi grup baru.

  10. Men-deploy grup dengan versi grup baru.

    • Ganti id-grup dengan Id yang Anda salin untuk grup.

    • Ganti group-version-iddengan Version yang Anda salin untuk versi grup baru.

    aws greengrass create-deployment \ --group-id group-id \ --group-version-id group-version-id \ --deployment-type NewDeployment
  11. (Opsional) Meningkatkan properti maxWorkItemCount dalam file konfigurasi inti. Hal ini dapat membantu menangani core meningkatkan lalu lintas MQTT dan komunikasi dengan target lokal.

Untuk memperbarui core dengan perubahan konfigurasi ini, Anda menggunakan AWS IoT Greengrass API untuk membuat versi definisi fungsi baru yang berisi GGCloudSpooler fungsi dengan konfigurasi diperbarui. Kemudian tambahkan versi definisi fungsi ke versi grup baru (bersama dengan komponen grup Anda yang lain) dan men-deploy versi grup. Jika Anda ingin memulihkan konfigurasi default, Anda dapat membuat versi definisi fungsi yang tidak menyertakan GGCloudSpooler fungsi.

Fungsi Lambda sistem ini tidak terlihat di konsol. Namun, setelah fungsi ditambahkan ke versi grup terbaru, itu termasuk dalam deployment yang Anda buat dari konsol, kecuali jika Anda menggunakan API untuk mengganti atau menghapusnya.

ID klien untuk koneksi MQTT dengan AWS IoT

Fitur ini tersedia untuk AWS IoT Greengrass Core v1.8 dan yang lebih baru.

core Greengrass membuka koneksi MQTT dengan AWS IoT Core untuk operasi seperti sinkronisasi bayangan dan manajemen sertifikat. Untuk koneksi ini, core menghasilkan ID klien diprediksi berdasarkan nama core. ID klien yang dapat diprediksi dapat digunakan dengan fitur pemantauan, audit, dan penetapan harga, termasuk peristiwa AWS IoT Device Defender AWS IoTsiklus hidup. Anda juga dapat membuat logika di sekitar ID klien yang dapat diprediksi (sebagai contoh, kebijakan berlangganan templat berdasarkan atribut sertifikat).

GGC v1.9 and later

Dua komponen sistem Greengrass membuka koneksi MQTT dengan AWS IoT Core. Komponen ini menggunakan pola berikut untuk menghasilkan ID klien untuk koneksi.

Operasi Pola ID klien
Deployment

core-thing-name

Contoh: MyCoreThing

Gunakan ID klien ini untuk notifikasi kejadian connect, disconnect, berlangganan, dan berhenti berlangganan.

Langganan

core-thing-name-cn

Contoh: MyCoreThing-c01

n adalah integer yang dimulai pada 00 dan bertahap dengan setiap koneksi baru ke jumlah maksimum 250. Jumlah koneksi ditentukan oleh jumlah perangkat yang menyinkronkan keadaan bayangan mereka dengan AWS IoT Core (maksimum 2.500 per grup) dan jumlah langganan dengan cloud sebagai sumber mereka di grup (maksimum 10.000 per grup).

Komponen sistem spooler terhubung dengan AWS IoT Core untuk bertukar pesan untuk langganan dengan sumber cloud atau target. Spooler juga bertindak sebagai proksi untuk pertukaran pesan antara AWS IoT Core dan layanan bayangan lokal dan certificate manager perangkat.

Untuk menghitung jumlah koneksi MQTT per grup, gunakan rumus berikut:

number of MQTT connections per group = number of connections for Deployment Agent + number of connections for Subscriptions

Di mana,

  • jumlah koneksi untuk Deployment Agent = 1.

  • jumlah koneksi untuk Langganan = (2 subscriptions for supporting certificate generation + number of MQTT topics in AWS IoT Core + number of device shadows synced) / 50.

    • Di mana, 50 = jumlah maksimum langganan per koneksi yang AWS IoT Core dapat mendukung.

catatan

Jika Anda mengaktifkan sesi persisten untuk langganan dengan AWS IoT Core, koneksi membuka setidaknya satu koneksi tambahan untuk digunakan dalam sesi persisten. Komponen sistem tidak mendukung sesi persisten, sehingga mereka tidak dapat berbagi koneksi tersebut.

Untuk mengurangi jumlah koneksi MQTT dan membantu mengurangi biaya, Anda dapat menggunakan fungsi Lambda lokal untuk mengumpulkan data di edge. Kemudian Anda mengirim data gabungan ke AWS Cloud. Sebagai hasilnya, Anda menggunakan lebih sedikit topik MQTT di AWS IoT Core. Untuk informasi selengkapnya, silakan lihat Harga AWS IoT Greengrass.

GGC v1.8

Beberapa komponen sistem Greengrass membuka koneksi MQTT dengan AWS IoT Core. Komponen ini menggunakan pola berikut untuk menghasilkan ID klien untuk koneksi.

Operasi Pola ID klien
Deployment

core-thing-name

Contoh: MyCoreThing

Gunakan ID klien ini untuk notifikasi kejadian connect, disconnect, berlangganan, dan berhenti berlangganan.

MQTT pertukaran pesan dengan AWS IoT Core

core-thing-name-spr

Contoh: MyCoreThing-spr

Sinkronisasi bayangan

core-thing-name-snn

Contoh: MyCoreThing-s01

nn adalah integer yang dimulai pada 00 dan bertahap dengan setiap koneksi baru untuk maksimum 03. Jumlah koneksi ditentukan oleh jumlah perangkat (maksimum 200 perangkat per grup) yang menyinkronkan keadaan bayangan mereka dengan AWS IoT Core (maksimum 50 langganan setiap koneksi).

Manajemen sertifikat perangkat lunak

core-thing-name-dcm

Contoh: MyCoreThing-dcm

catatan

Duplikat klien ID yang digunakan dalam koneksi simultan dapat menyebabkan loop connect-disconnect tak terbatas. Hal ini dapat terjadi jika perangkat lain hardcoded untuk menggunakan nama perangkat core sebagai ID klien di koneksi. Untuk informasi lebih lanjut, lihat langkah pemecahan masalah.

Perangkat Greengrass juga terintegrasi sepenuhnya dengan layanan Fleet Indexing AWS IoT Device Management. Hal ini memungkinkan Anda untuk indeks dan mencari perangkat berdasarkan atribut perangkat, keadaan bayangan, dan status koneksi di cloud. Sebagai contoh, perangkat Greengrass membangun setidaknya satu koneksi yang menggunakan nama hal sebagai ID klien, sehingga Anda dapat menggunakan pengindeksan konektivitas perangkat untuk menemukan perangkat Greengrass yang saat ini terhubung atau terputus ke AWS IoT Core. Untuk informasi selengkapnya, lihat layanan pengindeksan armada di AWS IoT Panduan Pengembang.

Konfigurasi port MQTT untuk pesan lokal

Fitur ini memerlukan AWS IoT Greengrass Core v1.10 atau yang lebih baru.

Inti Greengrass bertindak sebagai broker pesan lokal untuk pesan MQTT antara fungsi Lambda lokal, konektor, dan perangkat klien. Secara default, core menggunakan port 8883 untuk lalu lintas MQTT pada jaringan lokal. Anda mungkin ingin mengubah port untuk menghindari konflik dengan perangkat lunak lain yang berjalan pada port 8883.

Untuk mengkonfigurasi nomor port yang menggunakan contoh untuk lalu lintas MQTT lokal
  1. Jalankan perintah berikut untuk menghentikan Greengrass daemon:

    cd /greengrass-root/ggc/core/ sudo ./greengrassd stop
  2. Buka greengrass-root/config/config.json untuk diedit sebagai pengguna su.

  3. Di coreThing objek, tambahkan ggMqttPort properti dan tetapkan nilai ke nomor port yang ingin Anda gunakan. Nilai yang valid adalah 1024 sampai 65535. Contoh berikut menetapkan nomor port menjadi 9000.

    { "coreThing" : { "caPath" : "root.ca.pem", "certPath" : "12345abcde.cert.pem", "keyPath" : "12345abcde.private.key", "thingArn" : "arn:aws:iot:us-west-2:123456789012:thing/core-thing-name", "iotHost" : "abcd123456wxyz-ats.iot.us-west-2.amazonaws.com", "ggHost" : "greengrass-ats.iot.us-west-2.amazonaws.com", "ggMqttPort" : 9000, "keepAlive" : 600 }, ... }
  4. Mulai daemon.

    cd /greengrass-root/ggc/core/ sudo ./greengrassd start
  5. Jika deteksi IP otomatis diaktifkan untuk core, konfigurasi selesai.

    Jika deteksi IP otomatis tidak diaktifkan, Anda harus memperbarui informasi konektivitas untuk core. Hal ini memungkinkan perangkat klien untuk menerima nomor port yang benar selama operasi penemuan untuk memperoleh informasi konektivitas inti. Anda dapat menggunakan AWS IoT konsol atau AWS IoT Greengrass API untuk memperbarui informasi konektivitas core. Untuk prosedur ini, Anda memperbarui hanya nomor port. Alamat IP lokal untuk core tetap sama.

    Untuk memperbarui informasi konektivitas untuk inti (konsol)
    1. Pada halaman konfigurasi grup, pilih inti Greengrass.

    2. Pada halaman detail inti, pilih tab titik akhir broker MQTT.

    3. Pilih Kelola titik akhir dan kemudian pilih Tambah titik akhir

    4. Masukkan alamat IP lokal Anda saat ini dan nomor port baru. Contoh berikut mengatur nomor port 9000 untuk alamat IP 192.168.1.8.

    5. Hapus titik akhir usang, dan kemudian pilih Perbarui

    Untuk memperbarui informasi konektivitas untuk inti (API)
    • Gunakan UpdateConnectivityInfotindakan. Contoh berikut menggunakan update-connectivity-info di AWS CLI untuk mengatur nomor port 9000 untuk alamat IP 192.168.1.8.

      aws greengrass update-connectivity-info \ --thing-name "MyGroup_Core" \ --connectivity-info "[{\"Metadata\":\"\",\"PortNumber\":9000,\"HostAddress\":\"192.168.1.8\",\"Id\":\"localIP_192.168.1.8\"},{\"Metadata\":\"\",\"PortNumber\":8883,\"HostAddress\":\"127.0.0.1\",\"Id\":\"localhost_127.0.0.1_0\"}]"
    catatan

    Anda juga dapat mengkonfigurasi port yang menggunakan core untuk pesan MQTT dengan AWS IoT Core. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.

Waktu habis untuk menerbitkankan, berlangganan, berhenti berlangganan operasi di koneksi MQTT dengan AWS Cloud

Fitur ini tersedia di AWS IoT Greengrass v1.10.2 atau yang lebih baru.

Anda dapat mengkonfigurasi jumlah waktu (dalam detik) untuk mengizinkan core Greengrass untuk menyelesaikan penerbitan, berlangganan, atau berhenti berlangganan operasi di koneksi MQTT ke AWS IoT Core. Anda mungkin ingin menyesuaikan pengaturan ini jika waktu operasi habis karena kendala bandwidth atau latency tinggi. Untuk mengonfigurasi pengaturan ini di config.json file, tambah atau ubah mqttOperationTimeout properti coreThing objek. Sebagai contoh:

{ "coreThing": { "mqttOperationTimeout": 10, "caPath": "root-ca.pem", "certPath": "hash.cert.pem", "keyPath": "hash.private.key", ... }, ... }

Waktu habis default adalah 5 detik. Waktu habis minimal adalah 5 detik.

Aktifkan deteksi IP otomatis

Anda dapat mengonfigurasi AWS IoT Greengrass untuk mengaktifkan perangkat klien dalam grup Greengrass untuk secara otomatis menemukan inti Greengrass. Ketika diaktifkan, core mencatat untuk perubahan ke alamat IP-nya. Jika alamat berubah, core menerbitkan daftar alamat yang diperbarui. Alamat ini tersedia untuk perangkat klien yang berada dalam grup Greengrass yang sama dengan intinya.

catatan

AWS IoTKebijakan untuk perangkat klien harus memberikan greengrass:Discover izin untuk mengizinkan perangkat mengambil informasi konektivitas untuk inti. Untuk informasi selengkapnya tentang kebijakan laporan, lihat Otorisasi Discovery.

Untuk mengaktifkan fitur ini dari AWS IoT Greengrass konsol, pilih Deteksi otomatis ketika Anda men-deploy grup Greengrass Anda untuk pertama kalinya. Anda juga dapat mengaktifkan atau menonaktifkan fitur ini pada halaman konfigurasi grup dengan memilih tab fungsi Lambda dan memilih detektor IP. Deteksi IP otomatis diaktifkan jika Secara otomatis mendeteksi dan mengganti titik akhir broker MQTT dipilih.

Untuk mengelola penemuan otomatis dengan AWS IoT Greengrass API, Anda harus mengkonfigurasi IPDetector fungsi sistem Lambda. Prosedur berikut menunjukkan cara menggunakan perintah create-function-definition-versionCLI untuk mengkonfigurasi penemuan otomatis inti Greengrass.

  1. Dapatkan ID dari grup Greengrass target dan versi grup. Prosedur ini mengasumsikan bahwa ini adalah versi grup dan grup terbaru. Query berikut mengembalikan grup yang paling baru dibuat.

    aws greengrass list-groups --query "reverse(sort_by(Groups, &CreationTimestamp))[0]"

    Atau, Anda dapat melakukan query berdasarkan nama. Nama grup tidak perlu unik, sehingga beberapa grup mungkin ditampilkan.

    aws greengrass list-groups --query "Groups[?Name=='MyGroup']"
    catatan

    Anda juga dapat menemukan nilai-nilai ini di konsol AWS IoT tersebut. ID grup ditampilkan pada halaman Pengaturan grup. ID versi grup ditampilkan di tab Deployment grup.

  2. Salin nilai Id dan LatestVersion dari grup target di dalam output.

  3. Dapatkan versi grup terbaru.

    • Ganti id-grup dengan Id yang Anda salin.

    • Ganti latest-group-version-iddengan LatestVersion yang Anda salin.

    aws greengrass get-group-version \ --group-id group-id \ --group-version-id latest-group-version-id
  4. Dari objek Definition dalam output, salin CoreDefinitionVersionArn dan ARN dari semua komponen grup lainnya kecuali FunctionDefinitionVersionArn. Anda menggunakan nilai-nilai ini ketika membuat versi grup baru.

  5. Dari FunctionDefinitionVersionArn di output, salin ID definisi fungsi dan versi definisi fungsi:

    arn:aws:greengrass:region:account-id:/greengrass/groups/function-definition-id/versions/function-definition-version-id
    catatan

    Anda dapat secara opsional membuat definisi fungsi dengan menjalankan create-function-definitionperintah, dan kemudian menyalin ID dari output.

  6. Gunakan get-function-definition-version perintah untuk mendapatkan keadaan definisi saat ini. Gunakan yang function-definition-idAnda salin untuk definiton fungsi. Sebagai contoh, 4d941bc7-92a1-4f45-8d64-EXAMPLEf76c3.

    aws greengrass get-function-definition-version --function-definition-id function-definition-id --function-definition-version-id function-definition-version-id

    Buat catatan konfigurasi fungsi yang tercantum. Anda harus menyertakan ini saat membuat versi definisi fungsi baru untuk mencegah hilangnya pengaturan definisi Anda saat ini.

  7. Tambahkan versi definisi fungsi untuk definisi fungsi.

    • Ganti function-definition-iddengan Id yang Anda salin untuk definisi fungsi. Sebagai contoh, 4d941bc7-92a1-4f45-8d64-EXAMPLEf76c3.

    • Ganti arbitrary-function-iddengan nama untuk fungsi tersebut, sepertiauto-detection-function.

    • Tambahkan semua fungsi Lambda yang ingin Anda sertakan dalam versi ini ke functions Array, seperti yang tercantum dalam langkah sebelumnya.

    aws greengrass create-function-definition-version \ --function-definition-id function-definition-id \ --functions '[{"FunctionArn":"arn:aws:lambda:::function:GGIPDetector:1","Id":"arbitrary-function-id","FunctionConfiguration":{"Pinned":true,"MemorySize":32768,"Timeout":3}}]'\ --region us-west-2
  8. Salin Arn dari versi definisi fungsi dari output.

  9. Buat versi grup yang berisi fungsi Lambda sistem.

    • Ganti id-grup dengan Id untuk grup.

    • Ganti core-definition-version-arndengan CoreDefinitionVersionArn yang Anda salin dari versi grup terbaru.

    • Ganti function-definition-version-arndengan Arn yang Anda salin untuk versi definisi fungsi baru.

    • Ganti ARN untuk komponen grup lainnya (sebagai contoh, SubscriptionDefinitionVersionArn atau DeviceDefinitionVersionArn) yang Anda salin dari versi grup terbaru.

    • Hapus parameter yang tidak terpakai. Sebagai contoh, Hapus --resource-definition-version-arn jika versi grup Anda tidak berisi sumber daya apa pun.

    aws greengrass create-group-version \ --group-id group-id \ --core-definition-version-arn core-definition-version-arn \ --function-definition-version-arn function-definition-version-arn \ --device-definition-version-arn device-definition-version-arn \ --logger-definition-version-arn logger-definition-version-arn \ --resource-definition-version-arn resource-definition-version-arn \ --subscription-definition-version-arn subscription-definition-version-arn
  10. Salin Version dari output. Ini adalah ID dari versi grup baru.

  11. Men-deploy grup dengan versi grup baru.

    • Ganti id-grup dengan Id yang Anda salin untuk grup.

    • Ganti group-version-iddengan Version yang Anda salin untuk versi grup baru.

    aws greengrass create-deployment \ --group-id group-id \ --group-version-id group-version-id \ --deployment-type NewDeployment

Jika Anda ingin secara manual memasukkan alamat IP core Greengrass Anda, Anda dapat menyelesaikan tutorial ini dengan definisi fungsi yang berbeda yang tidak termasuk IPDetector fungsi. Ini akan mencegah fungsi deteksi dari menemukan dan secara otomatis memasukkan alamat IP core Greengrass Anda.

Fungsi Lambda sistem ini tidak terlihat di konsol Lambda. Setelah fungsi ditambahkan ke versi grup terbaru, itu termasuk dalam deployment yang Anda buat dari konsol, kecuali jika Anda menggunakan API untuk mengganti atau menghapusnya.

Konfigurasikan sistem init untuk memulai Greengrass daemon

Ini adalah praktik yang baik untuk mengatur sistem init Anda untuk memulai Greengrass daemon saat boot, terutama ketika mengelola armada besar perangkat.

catatan

Jika Anda menggunakan apt untuk menginstal AWS IoT Greengrass perangkat lunak Core, Anda dapat menggunakan skrip systemd untuk mengaktifkan start on boot. Untuk informasi selengkapnya, lihat Gunakan skrip systemd untuk mengelola siklus hidup Greengrass daemon.

Ada berbagai jenis sistem init, seperti initd, systemd, dan SystemV, dan mereka menggunakan parameter konfigurasi yang sama. Contoh berikut adalah file layanan untuk systemd. Parameter Type diatur ke forking karena greengrassd (yang digunakan untuk memulai Greengrass) forks proses Greengrass daemon, dan Restart parameter diatur ke on-failure untuk mengarahkan systemd untuk me-restart Greengrass jika Greengrass memasuki keadaan gagal.

catatan

Untuk melihat apakah perangkat Anda menggunakan systemd, jalankan check_ggc_dependencies seperti yang dijelaskan di Modul 1. Kemudian untuk menggunakan systemd, pastikan bahwa parameter useSystemd di config.json diatur ke yes.

[Unit] Description=Greengrass Daemon [Service] Type=forking PIDFile=/var/run/greengrassd.pid Restart=on-failure ExecStart=/greengrass/ggc/core/greengrassd start ExecReload=/greengrass/ggc/core/greengrassd restart ExecStop=/greengrass/ggc/core/greengrassd stop [Install] WantedBy=multi-user.target

Lihat juga