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 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 keTestGroup. Komponen A tergantung pada com.example.PythonRuntime versi komponen 3.5 - 3.10.

  • Anda kemudian menerapkan komponen B keTestGroup. Komponen B tergantung pada com.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.


        Dependensi komponen misalnya komponen.

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.


        Dependensi komponen yang mengakibatkan penerapan gagal.

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.

2.5.1 and later

Saat Anda menghapus perangkat inti dari grup sesuatu, perilakunya bergantung pada apakah AWS IoT kebijakan memberikan greengrass:ListThingGroupsForCoreDevice izin tersebut. Untuk informasi selengkapnya tentang izin dan AWS IoT kebijakan untuk perangkat inti ini, lihatAutentikasi dan otorisasi perangkat untuk AWS IoT Greengrass.

  • Jika AWS IoT kebijakan memberikan izin ini

    Saat Anda menghapus perangkat inti dari grup benda, AWS IoT Greengrass hapus komponen grup benda saat penerapan dilakukan ke perangkat berikutnya. Jika komponen pada perangkat disertakan dalam penerapan berikutnya, komponen tersebut tidak dihapus dari perangkat.

  • Jika AWS IoT kebijakan tidak memberikan izin ini

    Saat Anda menghapus perangkat inti dari grup objek, AWS IoT Greengrass tidak menghapus komponen grup objek itu dari perangkat.

    Untuk menghapus komponen dari perangkat, gunakan perintah deployment create dari CLI Greengrass. 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 Greengrass hapus komponen grup benda saat penerapan dilakukan ke perangkat berikutnya. Jika komponen pada perangkat disertakan dalam penerapan berikutnya, komponen tersebut tidak dihapus dari perangkat.

Perilaku ini mengharuskan AWS IoT kebijakan perangkat inti memberikan greengrass:ListThingGroupsForCoreDevice izin. Jika perangkat inti tidak memiliki izin ini, perangkat inti gagal menerapkan penerapan. 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.

Untuk menghapus komponen dari perangkat, gunakan perintah deployment create dari CLI Greengrass. Tentukan komponen yang akan dihapus dengan argumen --remove, dan tentukan grup objek dengan argumen --groupId.

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.