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 menggunakan AWS IoT Greengrass untuk menyebarkan komponen ke perangkat atau grup perangkat. Anda menggunakan penerapan untuk menentukan komponen dan konfigurasi yang dikirim ke perangkat. AWS IoT Greengrassmenyebarkan ke target, AWS IoT benda atau kelompok hal yang mewakili perangkat inti Greengrass. AWS IoT Greengrassmenggunakan AWS IoT Corepekerjaan untuk menyebarkan ke perangkat inti Anda. Anda dapat mengonfigurasi bagaimana pekerjaan diluncurkan ke perangkat Anda.
Penerapan perangkat inti
Setiap perangkat inti menjalankan komponen penerapan untuk perangkat itu. Penerapan baru ke target yang sama menimpa penerapan sebelumnya ke target. Saat Anda membuat penerapan, Anda menentukan komponen dan konfigurasi yang akan diterapkan ke perangkat lunak inti perangkat yang ada.
Ketika Anda merevisi deployment untuk target, Anda mengganti komponen dari revisi sebelumnya dengan komponen dalam revisi baru. Misalnya, Anda menyebarkan Secrets manager komponen Manajer log dan ke grup TestGroup
benda. Kemudian Anda membuat penerapan lain untuk TestGroup
yang hanya menentukan komponen manajer rahasia. Akibatnya, perangkat inti dalam grup itu tidak lagi menjalankan pengelola log.
Resolusi ketergantungan platform
Ketika perangkat inti menerima penerapan, ia memeriksa untuk memastikan bahwa komponen tersebut kompatibel dengan perangkat inti. Misalnya, jika Anda menyebarkan Firehose ke target Windows, penerapan akan gagal.
Resolusi ketergantungan komponen
Perangkat inti juga memeriksa apakah setiap dependensi komponen kompatibel dengan batasan versi untuk penerapan komponen lain ke grup hal ini. Jika batasan versi untuk komponen tumpang tindih, Greengrass menggunakan versi komponen tertinggi yang berlaku. Sebagai contoh:
-
Anda menerapkan komponen A ke
TestGroup
. Komponen A tergantung padacom.example.PythonRuntime
versi komponen 3.5 - 3.10. -
Anda kemudian menerapkan komponen B ke
TestGroup
. Komponen B tergantung padacom.example.PythonRuntime
versi komponen 3.7 hingga 3.8.
Akibatnya, perangkat inti TestGroup
menentukan bahwa mereka dapat menerapkan versi 3.8 com.example.PythonRuntime
komponen karena versi ini adalah versi tertinggi yang berlaku di mana batasan versi tumpang tindih.
Anda kemudian menerapkan komponen C keTestGroup
. Komponen C tergantung pada com.example.PythonRuntime
versi komponen 2.6 - 2.7. Penerapan ini gagal karena tidak ada versi komponen yang memenuhi batasan 2.6 - 2.7 dan 3.7 - 3.8.
Menghapus perangkat dari grup benda
Saat Anda menghapus perangkat inti dari grup sesuatu, perilaku penerapan komponen bergantung pada versi inti Greengrass yang dijalankan perangkat inti.
Deployment
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.
Sebelum perangkat inti menyebarkan komponen, secara default akan memberi tahu setiap komponen pada perangkat. Komponen Greengrass dapat menanggapi pemberitahuan untuk menunda penerapan. Anda mungkin ingin menunda penerapan jika perangkat memiliki tingkat baterai rendah atau menjalankan proses yang tidak dapat diganggu. Untuk informasi selengkapnya, lihat Tutorial: Mengembangkan komponen Greengrass yang menunda pembaruan komponen. Saat Anda membuat penerapan, Anda dapat mengonfigurasinya untuk diterapkan tanpa memberi tahu komponen.
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.
Opsi deployment
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. Lihat informasi yang lebih lengkap di Kembangkan AWS IoT Greengrass komponen 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 menerapkan pembaruan konfigurasi secara berurutan berdasarkan stempel waktu saat Anda membuat penerapan. Untuk informasi selengkapnya, lihat Perbarui konfigurasi komponen.
penting
Saat Anda menerapkan komponen, AWS IoT Greengrass instal versi terbaru yang didukung dari semua dependensi komponen tersebut. 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 penyebaran
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.
penting
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. Lihat informasi yang lebih lengkap di Izinkan akses ke bucket S3 untuk artefak komponen.