Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Deploy komponen AWS IoT Greengrass ke perangkat
Anda dapat men-deploy komponen ke perangkat individual atau grup perangkat dengan AWS IoT Greengrass. Dengan deployment, Anda menentukan komponen AWS IoT Greengrass dan konfigurasi yang akan di-deploy ke perangkat inti. AWS IoT Greengrass men-deploy ke perangkat target, yang merupakan objek atau grup objek AWS IoT yang mewakili perangkat inti Greengrass. AWS IoT Greengrass dengan menggunakan tugas AWS IoT Core yang akan di-deploy ke perangkat inti, sehingga Anda dapat mengonfigurasi cara tugas tersebut diluncurkan ke perangkat Anda.
Setiap perangkat inti menjalankan kombinasi perangkat lunak dari deployment yang menargetkan perangkat. Namun, deployment ke target yang sama akan menimpa deployment sebelumnya untuk target tersebut. Saat membuat deployment, Anda menentukan komponen dan konfigurasi yang akan diterapkan ke perangkat lunak inti yang ada. Ketika Anda merevisi deployment untuk target, Anda mengganti komponen dari revisi sebelumnya dengan komponen dalam revisi baru. Misalnya, Anda men-deploy komponen A
dan B
ke grup objek X
. Anda kemudian men-deploy komponen B
dan C
ke grup objek Y
yang berbeda. Akibatnya, komponen A
, B
, dan C
semua berjalan pada setiap perangkat inti yang merupakan anggota dari kedua grup itu. Kemudian, Anda membuat deployment lain untuk grup objek X
yang menentukan hanya komponen B
. Akibatnya, perangkat inti dalam grup tersebut tidak lagi menjalankan komponen A
.
Saat perangkat inti menerima penerapan, perangkat akan memeriksa apakah komponen penerapan kompatibel dengan perangkat inti. Perangkat inti memeriksa apakah memenuhi persyaratan platform masing-masing komponen. deployment gagal jika komponen tidak mendukung platform perangkat inti. Perangkat inti juga memeriksa apakah dependensi masing-masing komponen kompatibel dengan batasan versi dari penerapan lain ke target berbeda yang menyertakan perangkat inti ini. Misalnya, Anda menyebarkan komponenA
ke grup halX
, dan komponenA
bergantung padacom.example.PythonRuntime
versi komponen3.5 - 3.10
. Anda kemudian menyebarkan komponenB
ke grup halY
, dan komponenB
tergantung padacom.example.PythonRuntime
versi komponen3.7 - 3.10
. Akibatnya, perangkat inti dalam kelompok hal ini menentukan bahwa mereka dapat menyebarkan3.7 - 3.10
versicom.example.PythonRuntime
komponen, karena versi ini adalah tempat batasan versi deployment tumpang tindih. Kemudian, Anda menyebarkan komponenC
ke grup halZ
, dan komponenC
tergantung padacom.example.PythonRuntime
versi komponen2.6 - 2.7
. Deployment ini gagal, karena tidak ada versi komponen yang memenuhi batasan versi2.6 - 2.7
dan3.7 - 3.10
. AWS IoT Greengrassmenggunakan kendala versi semantik NPM
Sebelum perangkat inti menerapkan penerapan, perangkat inti akan memberi tahu setiap komponen pada perangkat inti secara default. Komponen Greengrass dapat merespons notifikasi ini untuk menunda penyebaran. Anda mungkin ingin menunda penerapan saat perangkat memiliki tingkat baterai rendah atau menjalankan proses yang tidak dapat terganggu, misalnya. Untuk informasi selengkapnya, lihat Tutorial: Mengembangkan komponen Greengrass yang menentang pembaruan komponen. Saat Anda membuat deployment, Anda dapat mengonfigurasinya untuk menerapkan deployment tanpa memberi tahu komponen.
Saat Anda menghapus perangkat inti dari grup obor, perilaku deployment komponen bergantung pada versi inti Greengrass yang dijalankan perangkat inti.
Deployment bersifat terus menerus. Saat Anda membuat deployment, AWS IoT Greengrass meluncurkan deployment untuk menargetkan perangkat yang sedang online. Jika perangkat target tidak online, maka perangkat akan menerima deployment saat berikutnya ketika terhubung ke AWS IoT Greengrass. Saat Anda menambahkan perangkat inti ke grup objek target, AWS IoT Greengrassmengirimkan perangkat deployment terbaru untuk grup objek tersebut.
Setiap obje target atau grup objek dapat memiliki satu deployment pada satu waktu. Ini berarti bahwa ketika Anda membuat deployment untuk suatu target, AWS IoT Greengrass tidak lagi men-deploy revisi sebelumnya dari deployment target tersebut.
Deployment menyediakan beberapa opsi yang memungkinkan Anda mengontrol perangkat mana yang menerima deployment dan cara pembaruan itu men-deploy. Saat Anda membuat deployment, Anda dapat mengonfigurasi opsi berikut:
-
AWS IoT Greengrasskomponen
Tentukan komponen yang akan diinstal dan dijalankan pada perangkat target. Komponen AWS IoT Greengrass adalah modul perangkat lunak yang Anda deploy dan berjalan pada perangkat inti Greengrass. Perangkat hanya menerima komponen jika komponen mendukung platform perangkat. Hal ini memungkinkan Anda men-deploy ke grup perangkat bahkan jika perangkat target itu berjalan di beberapa platform. Jika komponen tidak mendukung platform perangkat, komponen tidak di-deploy ke perangkat.
Anda dapat men-deploy komponen kustom dan komponen yang disediakan oleh AWS untuk perangkat Anda. Saat Anda menggunakan suatu komponen, AWS IoT Greengrass mengidentifikasi dependensi komponen dan men-deploy-nya juga. Untuk informasi selengkapnya, lihat MengembangkanAWS IoT Greengrasskomponen dan Komponen yang disediakan oleh AWS.
Anda menentukan versi dan konfigurasi update untuk yag akan di-deploy untuk untuk setiap komponen. Pembaruan konfigurasi menentukan cara mengubah konfigurasi komponen yang ada pada perangkat inti, atau konfigurasi default komponen jika komponen itiu tidak ada pada perangkat inti. Anda dapat menentukan nilai konfigurasi yang akan di-reset ke nilai default dan nilai-nilai konfigurasi baru yang akan digabungkan ke perangkat inti. Saat perangkat inti menerima penerapan untuk target yang berbeda, dan setiap penerapan menentukan versi komponen yang kompatibel, perangkat inti akan menerapkan pembaruan konfigurasi secara berurutan berdasarkan stempel waktu saat Anda membuat penerapan. Untuk informasi selengkapnya, lihat Perbarui konfigurasi komponen.
penting Saat Anda men-deploy komponen,AWS IoT Greengrass menginstal versi terbaru yang didukung dari semua dependensi komponen itu. Karena ini, versi patch baru dari komponen publik yang disediakan oleh AWS mungkin secara otomatis di-deploy ke perangkat inti Anda jika Anda menambahkan perangkat baru ke grup objek, atau Anda memperbarui deployment yang menargetkan perangkat tersebut. Beberapa pembaruan otomatis, seperti pembaruan inti, dapat menyebabkan perangkat Anda memulai ulang secara tiba-tiba.
Untuk mencegah pembaruan yang tidak diinginkan untuk komponen yang berjalan di perangkat Anda, sebaiknya sertakan versi komponen yang Anda inginkan secara langsung saat membuat deployment. Untuk informasi selengkapnya tentang perilaku pembaruan untuk perangkat lunak Inti AWS IoT Greengrass, lihat Perbarui perangkat lunak inti AWS IoT Greengrass (OTA).
-
Kebijakan penerapan
Tentukan kapan waktu yang aman untuk menggunakan konfigurasi dan apa yang harus dilakukan jika deployment gagal. Anda dapat menentukan apakah akan menunggu atau tidak komponen melaporkan bahwa ia dapat memperbarui. Anda juga dapat menentukan apakah akan memutar kembali perangkat ke konfigurasi sebelumnya atau tidak jika ia menerapkan deployment yang gagal.
-
Hentikan konfigurasi
Tentukan kapan dan bagaimana menghentikan deployment. Deployment berhenti dan gagal jika kriteria yang Anda tetapkan terpenuhi. Sebagai contoh, Anda dapat mengonfigurasi deployment untuk berhenti jika persentase perangkat gagal untuk menerapkan deployment itu setelah jumlah minimum perangkat menerimanya.
-
Konfigurasi peluncuran
Tentukan tingkat di mana deployment meluncurkan ke perangkat target. Anda dapat mengonfigurasi kenaikan tingkat eksponensial dengan batas tingkat minimum dan maksimum.
-
Konfigurasi batas waktu
Tentukan jumlah maksimum waktu setiap perangkat harus menerapkan deployment. Jika perangkat melebihi durasi yang Anda tentukan, maka perangkat akan gagal menerapkan deployment.
Komponen khusus dapat menentukan artefak dalam bucket S3. Saat perangkat lunak inti AWS IoT Greengrass men-deploy komponen, ia mengunduh artefak komponen dari AWS Cloud. Peran perangkat inti tidak mengizinkan akses ke bucket S3 secara default. Untuk men-deploy komponen kustom yang menentukan artefak dalam bucket S3, peran perangkat inti harus memberikan izin untuk men-download artefak dari bucket tersebut. Untuk informasi selengkapnya, lihat Izinkan akses ke bucket S3 untuk artefak komponen.
Topik