Deploy komponen AWS IoT Greengrass ke perangkat - AWS IoT Greengrass

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 men-deploy komponenAuntuk kelompok halX, dan komponenAtergantung pada komponencom.example.PythonRuntimeversi3.5 - 3.10. Anda kemudian men-deploy komponenBuntuk kelompok halY, dan komponenBtergantung pada komponencom.example.PythonRuntimeversi3.7 - 3.10. Akibatnya, perangkat inti dalam kelompok hal ini menentukan bahwa mereka dapat menyebarkan versi3.7 - 3.10daricom.example.PythonRuntimekomponen, karena versi ini adalah tempat batasan versi deployment tumpang tindih. Kemudian, Anda menyebarkan komponenCuntuk kelompok halZ, dan komponenCtergantung pada komponencom.example.PythonRuntimeversi2.6 - 2.7. Deployment ini gagal, karena tidak ada versi komponen yang memenuhi batasan versi2.6 - 2.7dan3.7 - 3.10.AWS IoT GreengrassmenggunakanKendala 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 menangguhkan pembaruan komponen. Saat Anda membuat deployment, Anda dapat mengonfigurasinya untuk menerapkan deployment tanpa memberi tahu komponen.

catatan

Saat Anda menghapus perangkat inti dari grup benda, perilaku deployment komponen bergantung pada versiInti Greengrassbahwa perangkat inti berjalan.

2.5.1 and later

Perilaku penghapusan kelompok hal tergantung pada apakah perangkat intiAWS IoTkebijakan memberikangreengrass:ListThingGroupsForCoreDeviceizin Untuk informasi selengkapnya tentang izin ini danAWS IoTkebijakan untuk perangkat inti, lihatAutentikasi dan otorisasi perangkat untuk AWS IoT Greengrass.

  • JikaAWS IoTkebijakan memberikan izin ini

    Saat Anda menghapus perangkat inti dari grup benda,AWS IoT Greengrassmenghapus komponen grup benda itu dari perangkat dalam penyebaran berikutnya. Namun, jika penerapan lain menargetkan perangkat inti dan menyertakan komponen, perangkat inti tidak akan menghapus komponen tersebut.

  • JikaAWS IoTkebijakan tidak memberikan izin ini

    Saat Anda menghapus perangkat inti dari grup objek, AWS IoT Greengrass tidak menghapus komponen grup objek itu dari perangkat. Oleh karena itu, kami menyarankan Anda untuk tidak menghapus perangkat inti dari grup objek di mana Anda men-deploy komponen.

    Untuk menghapus komponen dari perangkat, di mana perangkat bukan lagi merupakan anggota grup objek yang men-deploy komponen tersebut, gunakan perintah deployment create pada Greengrass CLI. Tentukan komponen yang akan dihapus dengan argumen --remove, dan tentukan grup objek dengan argumen --groupId.

2.5.0

Saat Anda menghapus perangkat inti dari grup benda,AWS IoT Greengrassmenghapus komponen grup benda itu dari perangkat dalam penyebaran berikutnya. Namun, jika penerapan lain menargetkan perangkat inti dan menyertakan komponen, perangkat inti tidak akan menghapus komponen tersebut.

Perilaku ini mengharuskan perangkat intiAWS IoTkebijakan memberikangreengrass:ListThingGroupsForCoreDeviceizin Jika perangkat inti tidak memiliki izin ini, perangkat inti gagal menerapkan deployment. Untuk informasi selengkapnya, lihat Autentikasi dan otorisasi perangkat untuk AWS IoT Greengrass.

2.0.x - 2.4.x

Saat Anda menghapus perangkat inti dari grup objek, AWS IoT Greengrass tidak menghapus komponen grup objek itu dari perangkat. Oleh karena itu, kami menyarankan Anda untuk tidak menghapus perangkat inti dari grup objek di mana Anda men-deploy komponen.

Untuk menghapus komponen dari perangkat, di mana perangkat bukan lagi merupakan anggota grup objek yang men-deploy komponen tersebut, gunakan perintah deployment create pada Greengrass CLI. Tentukan komponen yang akan dihapus dengan argumen --remove, dan tentukan grup objek dengan argumen --groupId.

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 menerapkan komponen,AWS IoT Greengrassmenginstal 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 deployment

    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 waktu habis

    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. Untuk informasi selengkapnya, lihat Izinkan akses ke bucket S3 untuk artefak komponen.