Opsional: Mengonfigurasi kontainer Docker Anda untuk IDT untukAWS IoT Greengrass - AWS IoT Greengrass

AWS IoT Greengrass Version 1 memasuki fase umur panjang pada 30 Juni 2023. Untuk informasi selengkapnya, lihat kebijakan AWS IoT Greengrass V1 pemeliharaan. Setelah tanggal ini, tidak AWS IoT Greengrass V1 akan merilis pembaruan yang menyediakan fitur, penyempurnaan, perbaikan bug, atau patch keamanan. Perangkat yang berjalan AWS IoT Greengrass V1 tidak akan terganggu dan akan terus beroperasi dan terhubung ke cloud. Kami sangat menyarankan Anda bermigrasi ke AWS IoT Greengrass Version 2, yang menambahkan fitur baru yang signifikan dan dukungan untuk platform tambahan.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Opsional: Mengonfigurasi kontainer Docker Anda untuk IDT untukAWS IoT Greengrass

AWS IoT Greengrass menyediakan gambar Docker dan Dockerfile yang membuatnya lebih mudah untuk menjalankan AWS IoT Greengrass software Core dalam kontainer Docker. Setelah Anda mengatur AWS IoT Greengrass kontainer, Anda dapat menjalankan tes IDT. Saat ini, hanya x86_64 Docker arsitektur yang didukung untuk menjalankan IDT untuk AWS IoT Greengrass.

Fitur ini memerlukan IDT v2.3.0 atau yang lebih baru.

Proses pengaturan kontainer Docker untuk menjalankan tes IDT tergantung pada apakah Anda menggunakan gambar Docker atau Dockerfile yang disediakan oleh AWS IoT Greengrass.

  • Gunakan gambar Docker. Gambar Docker memiliki AWS IoT Greengrass perangkat lunak Core dan dependensi terinstal.

  • Menggunakan Dockerfile. Dockerfile berisi kode sumber yang dapat Anda gunakan untuk membangun citra kontainer AWS IoT Greengrass khusus. Citra dapat dimodifikasi untuk berjalan pada arsitektur platform yang berbeda atau untuk mengurangi ukuran citra.

    catatan

    AWS IoT Greengrass tidak menyediakan gambar Dockerfiles atau Docker untuk AWS IoT Greengrass versi perangkat lunak inti 1.11.1. Untuk menjalankan tes IDT pada citra kontainer khusus milik Anda, citra Anda harus menyertakan dependensi didefinisikan dalam Dockerfile yang disediakan oleh AWS IoT Greengrass.

Fitur berikut tidak tersedia ketika Anda menjalankan AWS IoT Greengrass dalam kontainer Docker:

  • Konektor yang berjalan di mode kontainer Greengrass ini. Untuk menjalankan konektor dalam kontainer Docker, konektor harus berjalan dengan mode Tanpa kontainer ini. Untuk menemukan konektor yang mendukung mode Tanpa kontainer ini, lihat AWS-disediakan konektor Greengrass. Beberapa konektor ini memiliki parameter mode isolasi yang harus Anda atur ke Tanpa kontainer.

  • Sumber daya perangkat dan volume lokal. Fungsi Lambda yang ditetapkan pengguna Anda yang berjalan dalam k Docker harus mengakses perangkat dan volume pada core secara langsung.

Mengonfigurasi gambar Docker yang disediakan oleh AWS IoT Greengrass

Ikuti langkah-langkah ini untuk mengonfigurasi AWS IoT Greengrass gambar Docker untuk menjalankan tes IDT.

Prasyarat

Sebelum Anda mulai tutorial ini, Anda harus melakukan hal berikut.

  • Anda harus menginstal perangkat lunak dan versi berikut pada komputer host Anda berdasarkan versi AWS Command Line Interface (AWS CLI) yang Anda pilih.

    AWS CLI version 2
    • Docker versi 18.09 atau yang lebih baru. Versi sebelumnya juga dapat berfungsi, namun kami merekomendasikan 18.09 atau yang lebih baru.

    • AWS CLI versi 2.0.0 atau yang lebih baru.

      catatan

      Untuk meningkatkan AWS CLI versi 2 ke yang lebih baru pada komputer Windows, Anda harus mengulangi proses instalasi MSI ini.

    AWS CLI version 1
    • Docker versi 18.09 atau yang lebih baru. Versi sebelumnya juga dapat berfungsi, namun kami merekomendasikan 18.09 atau yang lebih baru.

    • Python versi 3.6 atau lebih baru.

    • pip versi 18.1 atau yang lebih baru.

    • AWS CLI versi 1.17.10 atau yang lebih baru

      • Untuk menginstal AWS CLI versi 1, lihat Menginstal AWS CLI versi 1.

      • Untuk mengonfigurasi AWS CLI, lihat Mengonfigurasi AWS CLI.

      • Untuk meningkatkan AWS CLI versi 1 ke versi terbaru, jalankan perintah berikut.

        pip install awscli --upgrade --user
      catatan

      Jika Anda menggunakan Instalasi MSI dari AWS CLI versi 1 pada Windows, perhatikan hal-hal berikut:

      • Jika instalasi AWS CLI versi 1 gagal untuk menginstal botocore, coba gunakan Instalasi Python dan pip.

      • Untuk meningkatkan AWS CLI versi 1 ke yang lebih baru, anda mesti mengulangi proses instalasi MSI.

  • Untuk mengakses sumber daya Amazon Elastic Container Registry (Amazon ECR), Anda harus memberikan izin berikut.

    • Amazon ECR mengharuskan pengguna memiliki izin ecr:GetAuthorizationToken melalui kebijakan (IAM) AWS Identity and Access Management sebelum mereka dapat mengautentikasi ke registrasi dan mendorong atau menarik citra dari repositori Amazon ECR. Untuk informasi lebih lanjut, lihat Contoh Kebijakan Repositori Amazon ECR dan Mengakses Satu Repositori Amazon ECR di Amazon Elastic Container Registry.

 

  1. Unduh gambar Docker dan konfiguras kontainer. Anda dapat mengunduh citra prebuilt dari Docker Hub atau Amazon Elastic Container Registry (Amazon ECR) dan menjalankannya pada platform Windows, MacOS, dan Linux (x86_64).

    Untuk mengunduh gambar Docker dari Amazon ECR, selesaikan semua langkah di Langkah 1: Dapatkan citra kontainer AWS IoT Greengrass dari Amazon ECR. Kemudian, kembali ke topik ini untuk melanjutkan konfigurasi.

  2. Hanya pengguna Linux: Pastikan pengguna yang menjalankan IDT memiliki izin untuk menjalankan perintah Docker. Untuk informasi lebih lanjut, lihat Mengelola Docker sebagai pengguna non-root dalam dokumentasi Docker.

  3. Untuk menjalankan AWS IoT Greengrass kontainer, gunakan perintah untuk sistem operasi Anda:

    Linux
    docker run --rm --init -it -d --name aws-iot-greengrass \ -p 8883:8883 \ -v <host-path-to-kernel-config-file>:<container-path> \ <image-repository>:<tag>
    • Ganti <host-path-to-kernel-config-file> dengan jalur menuju file konfigurasi kernel pada host dan <container-path> dengan jalur di mana volume terpasang dalam kontainer.

      File konfigurasi kernel pada host biasanya terletak di /proc/config.gz atau /boot/config-<kernel-release-date>. Anda dapat menjalankan uname -r untuk menemukan nilai <kernel-release-date> ini.

      Contoh: Untuk memasang file konfigurasi dari/boot/config-<kernel-release-date>

      -v /boot/config-4.15.0-74-generic:/boot/config-4.15.0-74-generic \

      Contoh: Untuk memasang file konfigurasi dariproc/config.gz

      -v /proc/config.gz:/proc/config.gz \
    • Ganti <image-repository>:<tag> dalam perintah dengan nama repositori dan menandai dari citra target.

      Contoh: Untuk menunjuk ke versi terbaruAWS IoT GreengrassPerangkat lunak inti

      216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest

      Untuk mendapatkan daftar AWS IoT Greengrass gambar Docker, jalankan perintah berikut.

      aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass
    macOS
    docker run --rm --init -it -d --name aws-iot-greengrass \ -p 8883:8883 \ <image-repository>:<tag>
    • Ganti <image-repository>:<tag> dalam perintah dengan nama repositori dan menandai dari citra target.

      Contoh: Untuk menunjuk ke versi terbaruAWS IoT GreengrassPerangkat lunak inti

      216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest

      Untuk mendapatkan daftar AWS IoT Greengrass gambar Docker, jalankan perintah berikut:

      aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass
    Windows
    docker run --rm --init -it -d --name aws-iot-greengrass \ -p 8883:8883 \ <image-repository>:<tag>
    • Ganti <image-repository>:<tag> dalam perintah dengan nama repositori dan menandai dari citra target.

      Contoh: Untuk menunjuk ke versi terbaruAWS IoT GreengrassPerangkat lunak inti

      216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest

      Untuk mendapatkan daftar AWS IoT Greengrass gambar Docker, jalankan perintah berikut:

      aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass
    penting

    Ketika pengujian dengan IDT, jangan sertakan argumen --entrypoint /greengrass-entrypoint.sh \ yang digunakan untuk menjalankan citra untuk penggunaan AWS IoT Greengrass umum.

  4. Langkah berikutnya: MengkonfigurasiAWSkredenensi dandevice.jsonfail.

Konfigurasikan dockerfile yang disediakan oleh AWS IoT Greengrass

Ikuti langkah-langkah ini untuk mengonfigurasi gambar Docker yang dibangun dari AWS IoT Greengrass Dockerfile untuk menjalankan tes IDT.

  1. Dari AWS IoT Greengrass Perangkat lunak Docker, mengunduh paket Dockerfile ke komputer host Anda dan mengekstraksi itu.

  2. Buka README.md. Tiga langkah selanjutnya mengacu pada bagian dalam file ini.

  3. Pastikan Anda memenuhi persyaratan di bagian Prasyarat.

  4. Hanya pengguna Linux: LengkapiAktifkan Symlink dan Perlindungan HardlinkdanMengaktifkan Penerusan Jaringan IPv4langkah-langkah.

  5. Untuk membuat gambar Docker, selesaikan semua langkah di Langkah 1. Bangun AWS IoT Greengrass Gambar Docker. Kemudian, kembali ke topik ini untuk melanjutkan konfigurasi.

  6. Untuk menjalankan AWS IoT Greengrass kontainer, gunakan perintah untuk sistem operasi Anda:

    Linux
    docker run --rm --init -it -d --name aws-iot-greengrass \ -p 8883:8883 \ -v <host-path-to-kernel-config-file>:<container-path> \ <image-repository>:<tag>
    • Ganti <host-path-to-kernel-config-file> dengan jalur menuju file konfigurasi kernel pada host dan <container-path> dengan jalur di mana volume terpasang dalam kontainer.

      File konfigurasi kernel pada host biasanya terletak di /proc/config.gz atau /boot/config-<kernel-release-date>. Anda dapat menjalankan uname -r untuk menemukan nilai <kernel-release-date> ini.

      Contoh: Untuk memasang file konfigurasi dari/boot/config-<kernel-release-date>

      -v /boot/config-4.15.0-74-generic:/boot/config-4.15.0-74-generic \

      Contoh: Untuk memasang file konfigurasi dariproc/config.gz

      -v /proc/config.gz:/proc/config.gz \
    • Ganti <image-repository>:<tag> dalam perintah dengan nama repositori dan menandai dari citra target.

      Contoh: Untuk menunjuk ke versi terbaruAWS IoT GreengrassPerangkat lunak inti

      216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest

      Untuk mendapatkan daftar AWS IoT Greengrass gambar Docker, jalankan perintah berikut.

      aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass
    macOS
    docker run --rm --init -it -d --name aws-iot-greengrass \ -p 8883:8883 \ <image-repository>:<tag>
    • Ganti <image-repository>:<tag> dalam perintah dengan nama repositori dan menandai dari citra target.

      Contoh: Untuk menunjuk ke versi terbaruAWS IoT GreengrassPerangkat lunak inti

      216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest

      Untuk mendapatkan daftar AWS IoT Greengrass gambar Docker, jalankan perintah berikut:

      aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass
    Windows
    docker run --rm --init -it -d --name aws-iot-greengrass \ -p 8883:8883 \ <image-repository>:<tag>
    • Ganti <image-repository>:<tag> dalam perintah dengan nama repositori dan menandai dari citra target.

      Contoh: Untuk menunjuk ke versi terbaruAWS IoT GreengrassPerangkat lunak inti

      216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest

      Untuk mendapatkan daftar AWS IoT Greengrass gambar Docker, jalankan perintah berikut:

      aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass
    penting

    Ketika pengujian dengan IDT, jangan sertakan argumen --entrypoint /greengrass-entrypoint.sh \ yang digunakan untuk menjalankan citra untuk penggunaan AWS IoT Greengrass umum.

  7. Langkah berikutnya: MengkonfigurasiAWSkredenensi dandevice.jsonfail.

Memecahkan masalah pengaturan kontainer Docker untuk IDT untuk AWS IoT Greengrass

Gunakan informasi berikut untuk membantu memecahkan masalah dengan menjalankan kontainer Docker untuk IDT untuk AWS IoT Greengrass pengetesan.

PERINGATAN: Kesalahan ketika memuat config: /home/user/.docker/config.json - stat /home/ <user>/.docker/config.json: izin ditolak

Jika Anda mendapatkan kesalahan ini ketika menjalankan perintah docker di Linux, jalankan perintah berikut. Ganti <user> dalam perintah berikut dengan pengguna yang menjalankan IDT.

sudo chown <user>:<user> /home/<user>/.docker -R sudo chmod g+rwx /home/<user>/.docker -R