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.
Konfigurasikan pengaturan IDT untuk menjalankan rangkaian kualifikasi AWS IoT Greengrass
Sebelum menjalankan tes, Anda harus mengkonfigurasi pengaturan untuk AWS kredensial dan perangkat di komputer host Anda.
Konfigurasikan kredensial AWS Anda
Anda harus mengonfigurasi kredensial pengguna IAM Anda di file
ini. Gunakan kredensial untuk IDT untuk AWS IoT Greengrass pengguna yang dibuat di Buat dan konfigurasikan Akun AWS. Anda dapat menentukan kredensial Anda dengan salah satu dari dua cara berikut:<device-tester-extract-location>
/configs/config.json
-
File kredensial
-
Variabel lingkungan
IDT menggunakan file kredensials yang sama sebagai AWS CLI. Untuk informasi selengkapnya, lihat File konfigurasi dan kredensial.
Lokasi file kredensial itu bervariasi, tergantung pada sistem operasi yang Anda gunakan:
-
macOS, Linux:
~/.aws/credentials
-
Windows:
C:\Users\
UserName
\.aws\credentials
Tambahkan kredensial AWS Anda ke file credentials
dalam format berikut:
[default] aws_access_key_id =
<your_access_key_id>
aws_secret_access_key =<your_secret_access_key>
Untuk mengonfigurasi IDT untuk AWS IoT Greengrass untuk menggunakan AWS kredensial dari file credentials
Anda, edit file config.json
Anda sebagai berikut:
{ "awsRegion": "us-west-2", "auth": { "method": "file", "credentials": { "profile": "default" } } }
catatan
Jika Anda tidak menggunakan default
AWS profile, pastikan untuk mengubah nama profil di file config.json
Anda. Untuk informasi selengkapnya, lihat Profil Bernama.
Variabel lingkungan adalah variabel yang dikelola oleh sistem operasi dan digunakan oleh perintah sistem. Mereka tidak disimpan jika Anda menutup sesi SSH. IDT untuk AWS IoT Greengrass dapat menggunakan AWS_ACCESS_KEY_ID
dan AWS_SECRET_ACCESS_KEY
variabel lingkungan untuk menyimpan AWS kredensial.
Untuk mengatur variabel ini di Linux, macOS, atau Unix, gunakan export:
export AWS_ACCESS_KEY_ID=
<your_access_key_id>
export AWS_SECRET_ACCESS_KEY=<your_secret_access_key>
Untuk menetapkan variabel ini di Windows, gunakan set:
set AWS_ACCESS_KEY_ID=
<your_access_key_id>
set AWS_SECRET_ACCESS_KEY=<your_secret_access_key>
Untuk mengonfigurasi IDT untuk menggunakan variabel lingkungan, edit bagian auth
di file config.json
Anda. Berikut ini contohnya:
{ "awsRegion": "us-west-2", "auth": { "method": "environment" } }
Konfigurasikan device.json
Selain AWS kredensial, IDT untuk AWS IoT Greengrass membutuhkan informasi tentang perangkat yang tes dijalankan pada (misalnya, alamat IP, informasi login, sistem operasi, dan arsitektur CPU).
Anda harus memberikan informasi ini menggunakan templat device.json
yang terletak di
:
<device_tester_extract_location>
/configs/device.json
Semua bidang yang berisi nilai-nilai yang diperlukan seperti yang dijelaskan di sini:
id
-
ID alfanumerik yang ditetapkan pengguna secara unik mengidentifikasi kumpulan perangkat yang disebut kolam perangkat. Perangkat yang termasuk dalam suatu kolam harus memiliki perangkat keras yang identik. Ketika Anda menjalankan serangkaian tes, perangkat di kolam tersebut digunakan untuk memparalelkan beban kerja. Beberapa perangkat digunakan untuk menjalankan tes yang berbeda.
sku
-
Nilai alfanumerik yang secara unik mengidentifikasi perangkat yang diuji. SKU digunakan untuk melacak forum berkualitas.
catatan
Jika Anda ingin mencantumkan forum Anda di AWS Partner Katalog Perangkat, SKU yang Anda tentukan di sini harus sesuai dengan SKU yang Anda gunakan dalam proses daftar.
features
-
Array yang berisi fitur perangkat yang didukung. Semua fitur diperlukan.
os
danarch
-
Kombinasi sistem operasi (OS) dan arsitektur yang didukung:
-
linux
,x86_64
-
linux
,armv6l
-
linux
,armv7l
-
linux
,aarch64
-
ubuntu
,x86_64
-
openwrt
,armv7l
-
openwrt
,aarch64
catatan
Jika anda menggunakan IDT untuk mengetes AWS IoT Greengrass berjalan dalam kontainer Docker, hanya arsitektur x86_64 Docker yang didukung.
-
container
-
Memvalidasi bahwa perangkat memenuhi semua persyaratan perangkat lunak dan perangkat keras untuk menjalankan fungsi Lambda dalam mode kontainer pada core Greengrass.
Nilai yang valid adalah
yes
atauno
. docker
-
Memvalidasi bahwa perangkat memenuhi semua dependensi teknis yang diperlukan untuk menggunakan konektor deployment aplikasi Greengrass Docker untuk menjalankan kontainer
Nilai yang valid adalah
yes
atauno
. streamManagement
-
Memvalidasi bahwa perangkat memenuhi semua dependensi teknis yang diperlukan untuk menjalankan AWS IoT Greengrass pengelola aliran.
Nilai yang valid adalah
yes
atauno
. hsi
-
Memverifikasi bahwa perpustakaan bersama HSI yang disediakan dapat antarmuka dengan modul keamanan perangkat keras (HSM) dan mengimplementasikan PKCS #11 API yang diperlukan dengan benar. HSM dan perpustakaan bersama harus dapat menandatangani CSR, melakukan operasi TLS, dan memberikan panjang kunci yang benar dan algoritma kunci publik.
Nilai yang valid adalah
yes
atauno
. ml
-
Memvalidasi bahwa perangkat memenuhi semua dependensi teknis yang diperlukan untuk melakukan inferensi ML secara lokal.
Nilai yang valid dapat berupa kombinasi
mxnet
,tensorflow
,dlr
, danno
(misalnya,mxnet
,mxnet,tensorflow
,mxnet,tensorflow,dlr
, atauno
). mlLambdaContainerizationMode
-
Memvalidasi bahwa perangkat memenuhi semua dependensi teknis yang diperlukan untuk melakukan inferensi ML dalam mode kontainer pada perangkat Greengrass.
Nilai yang valid adalah
container
,process
, atauboth
. processor
-
Memvalidasi bahwa perangkat memenuhi semua persyaratan perangkat keras untuk jenis prosesor tertentu.
Nilai yang valid adalah
cpu
ataugpu
.
catatan
Jika Anda tidak ingin menggunakan
container
,docker
,streamManager
,hsi
, atauml
fitur, Anda dapat mengatur sesuaivalue
keno
.Docker hanya mendukung kualifikasi fitur untuk
streamManagement
danml
. machineLearning
-
Tidak wajib. Informasi konfigurasi untuk tes kualifikasi ML. Untuk informasi selengkapnya, lihat Konfigurasikan device.json untuk kualifikasi ML.
hsm
-
Tidak wajib. Informasi konfigurasi untuk pengetesan dengan AWS IoT Greengrass Hardware Security Module (HSM). Jika tidak,
hsm
properti harus dihilangkan. Untuk informasi selengkapnya, lihat Integrasi keamanan perangkat keras.Properti ini hanya berlaku jika
connectivity.protocol
diatur kessh
.hsm.p11Provider
-
Jalur absolut ke perpustakaan libdl-loadable implementasi PKCS #11.
hsm.slotLabel
-
Melabelkan slot yang digunakan untuk mengidentifikasi modul perangkat keras.
hsm.slotUserPin
-
PIN pengguna yang digunakan untuk mengotentikasi AWS IoT Greengrass core untuk modul.
hsm.privateKeyLabel
-
Label yang digunakan untuk mengidentifikasi kunci dalam modul perangkat keras.
hsm.openSSLEngine
-
Jalur absolut untuk OpenSSL file mesin
.so
yang memungkinkan dukungan PKCS #11 di OpenSSL. Digunakan oleh AWS IoT Greengrass agen update OTA.
devices.id
-
Pengenal unik yang ditetapkan pengguna untuk perangkat yang sedang dites.
connectivity.protocol
-
Protokol komunikasi yang digunakan untuk berkomunikasi dengan perangkat ini. Saat ini, satu-satunya nilai yang didukung adalah
ssh
untuk perangkat fisik dandocker
untuk kontainer Docker. connectivity.ip
-
Alamat IP perangkat yang sedang dites.
Properti ini hanya berlaku jika
connectivity.protocol
diatur kessh
. connectivity.containerId
-
ID kontainer atau nama kontainer Docker yang sedang diuji.
Properti ini hanya berlaku jika
connectivity.protocol
diatur kedocker
. connectivity.auth
-
Informasi autentikasi untuk koneksi tersebut.
Properti ini hanya berlaku jika
connectivity.protocol
diatur kessh
.connectivity.auth.method
-
Metode autentikasi yang digunakan untuk mengakses perangkat melalui protokol konektivitas yang diberikan.
Nilai yang didukung adalah:
-
pki
-
password
-
connectivity.auth.credentials
-
Kredensial yang digunakan untuk autentikasi.
connectivity.auth.credentials.password
-
Kata sandi yang digunakan untuk masuk ke perangkat yang sedang diuji.
Nilai ini hanya berlaku jika
connectivity.auth.method
diatur kepassword
. connectivity.auth.credentials.privKeyPath
-
Jalur lengkap ke kunci privat yang digunakan untuk masuk ke perangkat yang sedang diuji.
Nilai ini hanya berlaku jika
connectivity.auth.method
diatur kepki
. connectivity.auth.credentials.user
-
Nama pengguna untuk masuk ke perangkat yang sedang di.tes.
connectivity.auth.credentials.privKeyPath
-
Jalur lengkap ke kunci privat yang digunakan untuk masuk ke perangkat yang sedang dites.
connectivity.port
-
Tidak wajib. Jumlah port yang akan digunakan untuk koneksi SSH.
Nilai default adalah 22.
Properti ini berlaku hanya jika
connectivity.protocol
diatur kessh
. greengrassLocation
-
Lokasi AWS IoT Greengrass perangkat lunak Core pada perangkat Anda.
Untuk perangkat fisik, nilai ini hanya digunakan ketika Anda menggunakan instalasi yang ada AWS IoT Greengrass. Gunakan atribut ini untuk memberitahu IDT untuk menggunakan versi AWS IoT Greengrass perangkat lunak inti yang diinstal pada perangkat Anda.
Ketika menjalankan tes kontainer wadah Docker dari gambar Docker atau Dockerfile disediakan oleh AWS IoT Greengrass, tetapkan nilai ini ke
/greengrass
. kernelConfigLocation
-
Tidak wajib. Jalur menuju file konfigurasi kernel. AWS IoT Tester Perangkat menggunakan file ini untuk memeriksa apakah perangkat memiliki fitur kernel yang diperlukan yang diaktifkan. Jika tidak ditentukan, IDT menggunakan jalur berikut untuk mencari file konfigurasi kernel:
/proc/config.gz
dan/boot/config-
. AWS IoT Tester Perangkat menggunakan jalur pertama menemukan.<kernel-version>
Konfigurasikan device.json untuk kualifikasi ML
Bagian ini menjelaskan properti opsional dalam file konfigurasi perangkat yang berlaku untuk kualifikasi ML. Jika Anda berencana untuk menjalankan tes untuk kualifikasi ML, Anda harus menentukan properti yang berlaku untuk kasus penggunaan Anda.
Anda dapat menggunakan device-ml.json
templat untuk menentukan pengaturan konfigurasi untuk perangkat Anda. Templat ini berisi properti opsional ML. Anda juga dapat menggunakan device.json
dan menambahkan properti kualifikasi ML. File ini terletak di
dan termasuk properti kualifikasi ML. Jika Anda menggunakan <device-tester-extract-location>
/configsdevice-ml.json
, Anda harus mengubah nama file ke device.json
sebelum Anda menjalankan tes IDT.
Untuk informasi tentang properti konfigurasi perangkat yang tidak berlaku untuk kualifikasi ML, lihat Konfigurasikan device.json.
ml
dalamfeatures
array-
Kerangka kerja ML bahwa papan forum mendukung. Properti ini membutuhkan IDT v3.1.0 atau yang lebih baru.
-
Jika forum Anda hanya mendukung satu kerangka kerja, tentukan kerangka kerjanya. Misalnya:
{ "name": "ml", "value": "mxnet" }
-
Jika forum Anda mendukung beberapa kerangka kerja, tentukan kerangka kerja sebagai daftar yang dipisahkan koma. Misalnya:
{ "name": "ml", "value": "mxnet,tensorflow" }
-
mlLambdaContainerizationMode
difeatures
array-
Pada Mode kontainerisasi yang ingin Anda tes. Properti ini membutuhkan IDT v3.1.0 atau yang lebih baru.
-
Memilih
process
untuk menjalankan kode inferensi ML dengan fungsi Lambda non-containerized. Opsi ini memerlukan AWS IoT Greengrass v1.10.x atau yang lebih baru. -
Memilih
container
untuk menjalankan kode inferensi ML dengan fungsi Lambda kontainer. -
Memilih
both
untuk menjalankan kode inferensi ML dengan kedua mode. Opsi ini memerlukan AWS IoT Greengrass v1.10.x atau yang lebih baru.
-
processor
difeatures
array-
Mengindikasikan akselerator perangkat keras yang didukung forum Anda. Properti ini membutuhkan IDT v3.1.0 atau yang lebih baru.
-
Memilih
cpu
jika forum Anda menggunakan CPU sebagai prosesor. -
Memilih
gpu
jika forum Anda menggunakan GPU sebagai prosesor.
-
machineLearning
-
Tidak wajib. Informasi konfigurasi untuk tes kualifikasi ML. Properti ini membutuhkan IDT v3.1.0 atau yang lebih baru.
dlrModelPath
-
Diperlukan untuk menggunakan
dlr
kerangka kerja. Jalur absolut ke direktori model terkompilasi DLR Anda, yang harus diberi namaresnet18
. Untuk informasi selengkapnya, lihat Kompilasi model DLR.catatan
Berikut ini adalah contoh jalur di macOS:
/Users/
.<user>
/Downloads/resnet18 environmentVariables
-
Array pasangan kunci-nilai yang dinamis dapat lulus pengaturan untuk tes inferensi ML. Opsional untuk perangkat CPU. Anda dapat menggunakan bagian ini untuk menambahkan variabel lingkungan khusus kerangka kerja yang diperlukan oleh jenis perangkat Anda. Untuk informasi tentang persyaratan ini, lihat situs resmi kerangka kerja atau perangkat. Sebagai contoh, untuk menjalankan tes inferensi MXNet pada beberapa perangkat, variabel lingkungan berikut mungkin diperlukan.
"environmentVariables": [ ... { "key": "PYTHONPATH", "value": "$MXNET_HOME/python:$PYTHONPATH" }, { "key": "MXNET_HOME", "value": "$HOME/mxnet/" }, ... ]
catatan
Bidang
value
mungkin bervariasi berdasarkan instalasi MXNet Anda.Jika anda sedang mengetes fungsi Lambda yang berjalan dengan kontainerisasi pada perangkat GPU, tambahkan variabel lingkungan untuk perpustakaan GPU. Hal ini memungkinkan GPU untuk melakukan komputasi. Untuk menggunakan perpustakaan GPU yang berbeda, lihat dokumentasi resmi untuk perpustakaan atau perangkat.
catatan
Konfigurasikan kunci berikut jika
mlLambdaContainerizationMode
fitur diatur kecontainer
atauboth
."environmentVariables": [ { "key": "PATH", "value": "
<path/to/software/bin>
:$PATH" }, { "key": "LD_LIBRARY_PATH", "value": "<path/to/ld/lib>
" }, ... ] deviceResources
-
Diperlukan oleh perangkat GPU. Berisi sumber daya lokal yang dapat diakses oleh fungsi Lambda. Gunakan bagian ini untuk menambahkan perangkat lokal dan volume sumber daya.
-
Untuk sumber daya perangkat, tentukan
"type": "device"
. Untuk perangkat GPU, sumber daya perangkat harus berupa file perangkat terkait GPU di bawah/dev
.catatan
Direktori
/dev/shm
adalah pengecualian. Hal ini dapat dikonfigurasi sebagai sumber daya volume saja. -
Untuk sumber daya volume, tentukan
"type": "volume"
.
-