Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menerapkan aplikasi kontainer saat AWS IoT Greengrass V2 berjalan sebagai wadah Docker
Salih Bakir, Giuseppe Di Bella, dan Gustav Svalander, Amazon Web Services
Ringkasan
AWS IoT Greengrass Version 2, saat diterapkan sebagai wadah Docker, secara native tidak mendukung menjalankan wadah aplikasi Docker. Pola ini menunjukkan kepada Anda cara membuat gambar kontainer khusus berdasarkan versi terbaru AWS IoT Greengrass V2 yang mengaktifkan fungsionalitas Docker-in-Docker (DiND). Dengan DiND, Anda dapat menjalankan aplikasi kontainer dalam lingkungan. AWS IoT Greengrass V2
Anda dapat menerapkan pola ini sebagai solusi yang berdiri sendiri atau mengintegrasikannya dengan platform orkestrasi kontainer seperti Amazon ECS Anywhere. Di salah satu model penerapan, Anda mempertahankan AWS IoT Greengrass V2 fungsionalitas penuh termasuk kemampuan pemrosesan AWS IoT SiteWise Edge, sekaligus mengaktifkan penerapan berbasis container yang dapat diskalakan.
Prasyarat dan batasan
Prasyarat
Aktif Akun AWS.
Untuk AWS IoT Greengrass Version 2 prasyarat umum, lihat Prasyarat dalam dokumentasi. AWS IoT Greengrass Version 2
Docker Engine, diinstal dan dikonfigurasi di Linux, macOS, atau Windows.
Docker Compose (jika Anda menggunakan antarmuka baris perintah Docker Compose (CLI) untuk menjalankan image Docker).
Sebuah sistem operasi Linux.
Hypervisor dengan server host yang mendukung virtualisasi.
Persyaratan sistem:
2 GB RAM (minimum)
5 GB ruang disk yang tersedia (minimum)
Untuk AWS IoT SiteWise Edge, CPU quad-core x86_64 dengan RAM 16 GB dan ruang disk yang tersedia 50 GB. Untuk informasi selengkapnya tentang pemrosesan AWS IoT SiteWise data, lihat Persyaratan paket pemrosesan data dalam AWS IoT SiteWise dokumentasi.
Versi produk
AWS IoT Greengrass Version 2 versi 2.5.3 atau yang lebih baru
Docker-in-Docker versi 1.0.0 atau yang lebih baru
Docker Compose versi 1.22 atau yang lebih baru
Docker Engine versi 20.10.12 atau yang lebih baru
Batasan
Beberapa Layanan AWS tidak tersedia di semua Wilayah AWS. Untuk ketersediaan Wilayah, lihat AWS Layanan menurut Wilayah
. Untuk titik akhir tertentu, lihat Titik akhir dan kuota layanan, dan pilih tautan untuk layanan.
Arsitektur
Tumpukan teknologi target
Sumber data — Perangkat IoT, sensor, atau peralatan industri yang menghasilkan data untuk diproses
AWS IoT Greengrass V2— Berjalan sebagai wadah Docker dengan D-in-D kemampuan, diterapkan pada infrastruktur tepi
Aplikasi kontainer - Aplikasi khusus yang berjalan di dalam AWS IoT Greengrass V2 lingkungan sebagai wadah Docker bersarang
(Opsional) Amazon ECS Anywhere — Orkestrasi kontainer yang mengelola penerapan kontainer AWS IoT Greengrass V2
Lainnya Layanan AWS - AWS IoT Core, AWS IoT SiteWise, dan lainnya Layanan AWS untuk pemrosesan dan manajemen data
Arsitektur target
Diagram berikut menunjukkan contoh arsitektur penerapan target yang menggunakan Amazon ECS Anywhere, yang merupakan alat manajemen kontainer.

Diagram menunjukkan alur kerja berikut:
1: Penyimpanan gambar kontainer - Amazon ECR menyimpan gambar AWS IoT Greengrass kontainer dan wadah aplikasi khusus apa pun yang diperlukan untuk pemrosesan tepi.
2 dan 3: Penerapan kontainer — Amazon ECS Anywhere menyebarkan AWS IoT Greengrass image container dari Amazon ECR ke lokasi edge, mengelola siklus hidup kontainer dan proses penerapan.
4: Penerapan komponen — AWS IoT Greengrass Inti yang digunakan secara otomatis menyebarkan komponen yang relevan berdasarkan konfigurasinya. Komponen termasuk AWS IoT SiteWise Edge dan komponen pemrosesan tepi lain yang diperlukan dalam lingkungan kontainer.
5: Penyerapan data — Setelah sepenuhnya dikonfigurasi, AWS IoT Greengrass mulailah menelan telemetri dan data sensor dari berbagai sumber data IoT di lokasi tepi.
6: Pemrosesan data dan integrasi cloud — AWS IoT Greengrass Inti kontainer memproses data secara lokal menggunakan komponen yang digunakan (termasuk AWS IoT SiteWise Edge untuk data industri). Kemudian, ia mengirimkan data yang diproses ke AWS Cloud layanan untuk analisis dan penyimpanan lebih lanjut.
Alat
Layanan AWS
Amazon ECS Anywhere membantu Anda menerapkan, menggunakan, dan mengelola tugas dan layanan Amazon ECS di infrastruktur Anda sendiri.
Amazon Elastic Compute Cloud (Amazon EC2) menyediakan kapasitas komputasi yang dapat diskalakan di. AWS Cloud Anda dapat meluncurkan server virtual sebanyak yang Anda butuhkan dan dengan cepat meningkatkannya ke atas atau ke bawah.
Amazon Elastic Container Registry (Amazon ECR) adalah layanan registri gambar kontainer terkelola yang aman, terukur, dan andal.
AWS IoT Greengrass adalah waktu aktif edge Internet untuk Segala (IoT) sumber terbuka dan layanan cloud yang membantu Anda membangun, men-deploy, dan mengelola aplikasi IoT pada perangkat Anda.
AWS IoT SiteWisemembantu Anda mengumpulkan, memodelkan, menganalisis, dan memvisualisasikan data dari peralatan industri dalam skala besar.
Alat lainnya
Docker
adalah seperangkat produk platform as a service (PaaS) yang menggunakan virtualisasi pada tingkat sistem operasi untuk mengirimkan perangkat lunak dalam wadah. Docker Compose
adalah alat untuk mendefinisikan dan menjalankan aplikasi multi-container. Docker Engine
adalah teknologi kontainerisasi open source untuk membangun dan mengkontainerisasi aplikasi.
Repositori kode
Kode untuk pola ini tersedia di Docker-in-Docker repositori GitHub AWS IoT Greengrass v2
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Kloning dan arahkan ke repositori. | Untuk mengkloning repositori, gunakan perintah berikut:
Untuk menavigasi ke
| DevOps insinyur, AWS DevOps |
membuat gambar Docker. | Untuk membuat image Docker dengan versi default (terbaru), jalankan perintah berikut:
Atau, untuk membangun image Docker dengan versi tertentu, jalankan perintah berikut:
Untuk memverifikasi build, jalankan perintah berikut:
| AWS DevOps, DevOps insinyur, Pengembang aplikasi |
(Opsional) Dorong ke Amazon ECR. |
| Pengembang aplikasi, AWS DevOps, DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Pilih metode otentikasi. | Pilih salah satu opsi berikut:
| Administrator AWS |
Konfigurasikan metode otentikasi. | Untuk metode otentikasi yang Anda pilih, gunakan panduan konfigurasi berikut:
| Administrator AWS |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Konfigurasi | Perbarui
| DevOps insinyur |
Mulai dan verifikasi wadah. | Untuk memulai di latar depan, jalankan perintah berikut:
Atau, untuk memulai di latar belakang, jalankan perintah berikut:
Untuk memverifikasi status, jalankan perintah berikut:
Untuk memantau log, jalankan perintah berikut:
| DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Jalankan kontainer dengan Docker CLI. |
| DevOps insinyur |
Verifikasi wadah. |
| DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Menyebarkan aplikasi. |
| Pengembang aplikasi |
Akses dan uji Docker-in-Docker. |
| DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Siapkan cluster Amazon ECS. |
| Administrator AWS |
Menerapkan tugas Amazon ECS. |
| Administrator AWS |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Hentikan wadah. |
| DevOps insinyur |
Pemecahan masalah
| Isu | Solusi |
|---|---|
Penampung gagal memulai dengan kesalahan izin. |
Awas
|
Penyediaan gagal dengan kesalahan kredensi. | Untuk memverifikasi kredenal dikonfigurasi dengan benar, gunakan langkah-langkah berikut:
Pastikan bahwa izin IAM mencakup |
Tidak dapat terhubung ke daemon Docker di dalam wadah. |
|
Kontainer kehabisan ruang disk. |
Pastikan ruang disk minimum: 5 GB untuk operasi dasar dan 50 GB untuk AWS IoT SiteWise Edge |
Membangun masalah. |
|
Masalah konektivitas jaringan. |
Verifikasi bahwa firewall memungkinkan lalu lintas HTTPS (443) dan MQTT (8883) keluar. |
Komponen Greengrass gagal diterapkan. |
Periksa log khusus komponen di direktori. |
Kontainer keluar segera setelah memulai. |
Verifikasi semua variabel lingkungan yang diperlukan diatur dengan benar jika |
Sumber daya terkait
AWS sumber daya
Sumber daya lainnya
Informasi tambahan
Untuk pemrosesan data AWS IoT SiteWise Edge, Docker harus tersedia di AWS IoT Greengrass lingkungan.
Untuk menjalankan kontainer bersarang, Anda harus menjalankan AWS IoT Greengrass kontainer dengan kredensi tingkat administrator.