View a markdown version of this page

Tunneling yang aman - AWS IoT Greengrass

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

Tunneling yang aman

Dengan aws.greengrass.SecureTunneling komponen ini, Anda dapat membuat komunikasi dua arah yang aman dengan perangkat inti Greengrass yang terletak di belakang firewall terbatas.

Misalnya, bayangkan Anda memiliki perangkat inti Greengrass di belakang firewall yang melarang semua koneksi masuk. Tunneling aman menggunakan MQTT untuk mentransfer token akses ke perangkat dan kemudian digunakan WebSockets untuk membuat koneksi SSH ke perangkat melalui firewall. Dengan terow AWS IoT ongan terkelola ini, Anda dapat membuka koneksi SSH yang diperlukan untuk perangkat Anda. Untuk informasi selengkapnya tentang menggunakan tunneling AWS IoT aman untuk menyambung ke perangkat jarak jauh, lihat tunneling AWS IoT aman di Panduan Peng AWS IoT embang.

Komponen ini berlangganan broker pesan AWS IoT Core MQTT pada $aws/things/greengrass-core-device/tunnels/notify topik untuk menerima pemberitahuan tunneling aman.

Versi

Komponen ini memiliki versi berikut:

  • 2.0.x

  • 1.1.1x

  • 1.0.x

Tipe

Komponen ini adalah komponen generik (aws.greengrass.generic). In ti Greengrass menjalankan skrip siklus hidup komponen.

Untuk informasi selengkapnya, lihat Jenis komponen.

Sistem operasi

Komponen ini hanya dapat diinstal pada perangkat inti Linux.

Arsitektur:

  • Armv71

  • Armv8 (AArch64)

  • x86_64

Persyaratan

Komponen ini memiliki persyaratan sebagai berikut:

2.0.x
  • Minimal 4 MB ruang disk tersedia untuk komponen tunneling aman. Persyaratan ini tidak termasuk perangkat lunak inti Greengrass atau komponen lain yang berjalan pada perangkat yang sama.

  • Minimal 3 MB RAM tersedia untuk komponen tunneling aman. Persyaratan ini tidak termasuk perangkat lunak inti Greengrass atau komponen lain yang berjalan pada perangkat yang sama.

  • GNU C Library (glibc) versi 2.35 atau lebih tinggi. Versi sistem operasi dan pustaka yang melewati tanggal akhir masa pakai dukungan jangka panjangnya tidak didukung. Anda harus menggunakan sistem operasi dan perpustakaan dengan dukungan jangka panjang.

  • Pustaka runtime berikut diinstal pada perangkat inti Greengrass:

    • libstdc++versi 3.4.29 atau lebih tinggi

    • libgcc_sversi 3.0 atau lebih tinggi

    • OpenSSL versi 3.0.0 atau lebih tinggi

  • Buka lalu lintas keluar pada port 443 pada perangkat inti Greengrass.

  • Aktifkan dukungan untuk layanan komunikasi yang ingin Anda gunakan untuk berkomunikasi dengan perangkat inti Greengrass. Misalnya, untuk membuka koneksi SSH ke perangkat, Anda harus mengaktifkan SSH pada perangkat itu.

1.0.x - 1.1.x
  • Minimal 32 MB ruang disk tersedia untuk komponen tunneling aman. Persyaratan ini tidak termasuk perangkat lunak inti Greengrass atau komponen lain yang berjalan pada perangkat yang sama.

  • Minimal 16 MB RAM tersedia untuk komponen tunneling aman. Persyaratan ini tidak termasuk perangkat lunak inti Greengrass atau komponen lain yang berjalan pada perangkat yang sama. Untuk informasi selengkapnya, lihat Kontrol alokasi memori dengan opsi JVM.

  • GNU C Library (glibc) versi 2.25 atau lebih tinggi dengan kernel Linux 3.2 atau lebih tinggi diperlukan untuk komponen tunneling aman versi 1.0.12 dan lebih tinggi. Versi sistem operasi dan pustaka yang melewati tanggal akhir masa pakai dukungan jangka panjangnya tidak didukung. Anda harus menggunakan sistem operasi dan perpustakaan dengan dukungan jangka panjang.

  • Baik sistem operasi dan runtime Java harus diinstal sebagai 64 bit.

  • Python 3.5 atau yang lebih baru diinstal pada perangkat inti Greengrass dan ditambahkan ke variabel lingkungan PATH.

  • libcrypto.so.1.1 diinstal pada perangkat inti Greengrass dan ditambahkan ke variabel lingkungan PATH.

  • Buka lalu lintas keluar pada port 443 pada perangkat inti Greengrass.

  • Aktifkan dukungan untuk layanan komunikasi yang ingin Anda gunakan untuk berkomunikasi dengan perangkat inti Greengrass. Misalnya, untuk membuka koneksi SSH ke perangkat, Anda harus mengaktifkan SSH pada perangkat itu.

Titik akhir dan port

Komponen ini harus dapat melakukan permintaan keluar ke titik akhir dan port berikut, selain titik akhir dan port yang diperlukan untuk operasi dasar. Untuk informasi selengkapnya, lihat Izinkan lalu lintas perangkat melalui proxy atau firewall.

Titik akhir Port Diperlukan Deskripsi

data.tunneling.iot.region.amazonaws.com

443 Ya

Membangun terowongan yang aman.

Dependensi

Saat Anda menerapkan komponen, AWS IoT Greengrass juga menerapkan versi dependensinya yang kompatibel. Ini berarti bahwa Anda harus memenuhi persyaratan untuk komponen dan semua dependensinya untuk berhasil men-deploy komponen. Bagian ini berisi daftar dependensi untuk versi yang dirilis dari komponen ini dan kendala versi semantik yang menentukan versi komponen untuk setiap dependensi. Anda juga dapat melihat dependensi untuk setiap versi komponen di konsol AWS IoT Greengrass tersebut. Pada halaman detail komponen, cari daftar Dependensi.

2.0.0

Versi 2.0.0 dari komponen ini mendukung inti Greengrass dan Greengrass nucleus lite. Tabel berikut mencantumkan dependensi untuk versi 2.0.0 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Nukleus greengrass ATAU inti Greengrass lite > =2.0.0 <3.0.0 Lunak
1.0.19 – 1.1.3

Tabel berikut mencantumkan dependensi untuk versi 1.0.19 hingga 1.1.3 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Nukleus greengrass > =2.0.0 <3.0.0 Lunak
1.0.18

Tabel berikut mencantumkan dependensi untuk versi 1.0.18 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Nukleus greengrass > =2.0.0 <2.13.0 Lunak
1.0.16 – 1.0.17

Tabel berikut mencantumkan dependensi untuk versi 1.0.16 hingga 1.0.17 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Nukleus greengrass > =2.0.0 <2.12.0 Lunak
1.0.14 – 1.0.15

Tabel berikut mencantumkan dependensi untuk versi 1.0.14 hingga 1.0.15 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Nukleus greengrass > =2.0.0 <2.11.0 Lunak
1.0.11 – 1.0.13

Tabel berikut mencantumkan dependensi untuk versi 1.0.11 - 1.0.13 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Nukleus greengrass > =2.0.0 <2.10.0 Lunak
1.0.10

Tabel berikut mencantumkan dependensi untuk versi 1.0.10 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Nukleus greengrass > =2.0.0 <2.9.0 Lunak
1.0.9

Tabel berikut mencantumkan dependensi untuk versi 1.0.9 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Nukleus greengrass > =2.0.0 <2.8.0 Lunak
1.0.8

Tabel berikut mencantumkan dependensi untuk versi 1.0.8 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Nukleus greengrass > =2.0.0 <2.7.0 Lunak
1.0.5 - 1.0.7

Tabel berikut mencantumkan dependensi untuk versi 1.0.5 hingga 1.0.7 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti greengrass > =2.0.0 <2.6.0 Lunak
1.0.4

Tabel berikut mencantumkan dependensi untuk versi 1.0.4 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti greengrass > =2.0.0 <2.5.0 Lunak
1.0.3

Tabel berikut mencantumkan dependensi untuk versi 1.0.3 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti greengrass >=2.0.0 <2.4.0 Lunak
1.0.2

Tabel berikut mencantumkan dependensi untuk versi 1.0.2 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti greengrass >=2.0.0 <2.3.0 Lunak
1.0.1

Tabel berikut mencantumkan dependensi untuk versi 1.0.1 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti greengrass >=2.0.0 <2.2.0 Lunak
1.0.0

Tabel berikut mencantumkan dependensi untuk versi 1.0.0 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti greengrass >=2.0.3 <2.1.0 Lunak

Untuk informasi selengkapnya tentang dependensi komponen, lihat referensi resep komponen.

Konfigurasi

Komponen ini menyediakan parameter konfigurasi berikut yang dapat Anda sesuaikan ketika Anda men-deploy komponen.

2.0.x
maxConcurrentTunnels

(Opsional) Jumlah maksimum terowongan bersamaan yang diizinkan.

catatan

Nilainya tidak boleh lebih dari 20.

Default: 20

tunnelTimeoutSeconds

(Opsional) Durasi batas waktu terowongan dalam detik.

Default: 43200 (12 jam)

accessControl

(Opsional) Objek yang berisi kebijakan otorisasi yang memungkinkan komponen untuk berlangganan topik pemberitahuan tunneling aman.

catatan

Jangan mengubah parameter konfigurasi ini jika deployment Anda menargetkan grup objek. Jika penerapan menargetkan perangkat inti individual, dan Anda ingin membatasi langganan ke topik perangkat, tentukan nama benda perangkat inti. Dalam resources nilai dalam kebijakan otorisasi perangkat, ganti wildcard topik MQTT dengan nama benda perangkat.

{ "aws.greengrass.ipc.mqttproxy": { "aws.greengrass.SecureTunneling:mqttproxy:1": { "policyDescription": "Access to tunnel notification pubsub topic", "operations": [ "aws.greengrass#SubscribeToIoTCore" ], "resources": [ "$aws/things/+/tunnels/notify" ] } } }
contoh Contoh: Pembaruan gabungan konfigurasi

Contoh konfigurasi berikut menentukan pengaturan maksimum terowongan bersamaan dan batas waktu.

{ "maxConcurrentTunnels": 20, "tunnelTimeoutSeconds": 43200, "accessControl": { "aws.greengrass.ipc.mqttproxy": { "aws.greengrass.SecureTunneling:mqttproxy:1": { "policyDescription": "Access to tunnel notification pubsub topic", "operations": [ "aws.greengrass#SubscribeToIoTCore" ], "resources": [ "$aws/things/MyGreengrassCore/tunnels/notify" ] } } } }
1.0.x - 1.1.x
OS_DIST_INFO

(Opsional) Sistem operasi perangkat inti Anda. Secara default, komponen mencoba mengidentifikasi secara otomatis sistem operasi yang berjalan pada perangkat inti Anda. Jika komponen gagal memulai dengan nilai default, gunakan nilai ini untuk menentukan sistem operasi. Untuk daftar sistem operasi yang didukung untuk komponen ini, lihat Persyaratan perangkat.

Nilai ini dapat berupa salah satu dari yang berikut: auto, ubuntu, amzn2, raspberrypi.

Default: auto

accessControl

(Opsional) Objek yang berisi kebijakan otorisasi yang memungkinkan komponen untuk berlangganan topik pemberitahuan tunneling aman.

catatan

Jangan mengubah parameter konfigurasi ini jika deployment Anda menargetkan grup objek. Jika penerapan menargetkan perangkat inti individual, dan Anda ingin membatasi langganan ke topik perangkat, tentukan nama benda perangkat inti. Dalam resources nilai dalam kebijakan otorisasi perangkat, ganti wildcard topik MQTT dengan nama benda perangkat.

{ "aws.greengrass.ipc.mqttproxy": { "aws.iot.SecureTunneling:mqttproxy:1": { "policyDescription": "Access to tunnel notification pubsub topic", "operations": [ "aws.greengrass#SubscribeToIoTCore" ], "resources": [ "$aws/things/+/tunnels/notify" ] } } }
contoh Contoh: Pembaruan gabungan konfigurasi

Contoh konfigurasi berikut menentukan untuk memungkinkan komponen ini untuk membuka terowongan aman pada perangkat inti bernama MyGreengrassCore yang menjalankan Ubuntu.

{ "OS_DIST_INFO": "ubuntu", "accessControl": { "aws.greengrass.ipc.mqttproxy": { "aws.iot.SecureTunneling:mqttproxy:1": { "policyDescription": "Access to tunnel notification pubsub topic", "operations": [ "aws.greengrass#SubscribeToIoTCore" ], "resources": [ "$aws/things/MyGreengrassCore/tunnels/notify" ] } } } }

File log lokal

Greengrass nucleus

Komponen ini menggunakan file log berikut.

/greengrass/v2/logs/aws.greengrass.SecureTunneling.log
Untuk melihat log komponen ini
  • Jalankan perintah berikut pada perangkat inti untuk melihat file log komponen ini secara real time. Ganti /greengrass/v2 dengan jalur ke folder AWS IoT Greengrass root.

    sudo tail -f /greengrass/v2/logs/aws.greengrass.SecureTunneling.log
Greengrass nucleus lite

Jalankan perintah berikut pada perangkat inti untuk melihat log komponen ini.

journalctl -xeau ggl.aws.greengrass.SecureTunneling.service

Jalankan perintah berikut pada perangkat inti untuk melihat log komponen ini secara real time.

journalctl -fau ggl.aws.greengrass.SecureTunneling.service

Lisensi

Komponen ini mencakup pihak ketiga berikut software/licensing:

2.0.x
1.0.x - 1.1.x

Penggunaan

Untuk menggunakan komponen tunneling aman di perangkat Anda, lakukan hal berikut:

  1. Terapkan komponen tunneling aman ke perangkat Anda.

  2. Buka konsol AWS IoT. Dari menu sebelah kiri, pilih Tind akan jarak jauh, lalu pilih Tero wongan aman.

  3. Buat terowongan ke perangkat Greengrass Anda.

  4. Unduh token akses sumber.

  5. Gunakan proxy lokal dengan token akses sumber untuk terhubung ke tujuan Anda. Untuk informasi selengkapnya, lihat Cara menggunakan proxy lokal di Panduan Peng AWS IoT embang.

Lihat juga

Changelog

Tabel berikut menjelaskan perubahan dalam setiap versi komponen.

Versi

Perubahan

2.0.1

Perbaikan bug dan peningkatan
  • Memperbarui biner proxy lokal yang dibundel ke versi 3.3.0.

  • Memperbaiki bug konkurensi dan masa pakai objek yang dapat mempengaruhi integritas data terowongan.

  • Memerlukan TLS 1.2 atau yang lebih baru dan tidak lagi mengizinkan SSLv2, SSLv3, TLS 1.0, atau TLS 1.1.

2.0.0

Fitur baru
  • Mengganti pembungkus Java dengan pembungkus C.

  • Mengganti Kli AWS IoT en Perangkat dengan AWS IoT Securetunneling Localproxy.

  • Mengurangi ukuran biner dari sekitar 36 MB menjadi sekitar 4 MB.

  • Mengurangi jejak memori dari sekitar 100 MB menjadi sekitar 2 MB.

1.1.3

Perbaikan bug dan peningkatan
  • Meningkatkan Klien AWS IoT Perangkat yang mendasari yang dipanggil oleh komponen dari versi 1.10.0 ke versi 1.10.1.

  • Memperbaiki masalah kompatibilitas GNU C Library (glibc) di komponen tunneling aman versi 1.1.2.

1.1.2

Awas

Versi ini tidak lagi tersedia. Perbaikan dalam versi ini tersedia di versi komponen ini yang lebih baru.

Perbaikan bug dan peningkatan
  • Meningkatkan Klien AWS IoT Perangkat yang mendasari yang dipanggil oleh komponen dari versi 1.9.0 ke versi 1.10.0.

  • Memperbaiki masalah transfer muatan yang mencegah pengguna meneruskan file besar dari perangkat inti Greengrass V2 ke perangkat sumber melalui terowongan aman.

1.1.1

Perbaikan bug dan peningkatan
  • Menambahkan konfigurasi untuk mendukung Greengrass nucleus lite.

1.1.0

Fitur baru
  • Menambahkan dukungan resep untuk Greengrass nucleus lite.

1.0.19

Perbaikan bug dan peningkatan
  • Meningkatkan Klien AWS IoT Perangkat yang mendasari yang dipanggil oleh komponen dari versi 1.8.0 ke versi 1.9.0.

  • Meningkatkan batas terowongan bersamaan menjadi 20 terowongan pada tingkat komponen.

  • Meningkatkan batas waktu default AWS IoT Greengrass Core IPC dari 3 detik menjadi 10 detik.

Awas

Jika Anda menggunakan proxy lokal tunneling aman sebagai klien sumber terowongan, jangan perbarui komponen Anda ke versi ini sampai Anda juga memutakhirkan proxy lokal ke versi 3.1.1 atau yang lebih baru.

1.0.18

Versi diperbarui untuk Greengrass nucleus versi 2.12.0 rilis.

1.0.17

Perbaikan bug dan peningkatan
  • Memperbaiki masalah pembersihan utas yang menghalangi pengguna membuat terowongan. Komponen ini sekarang akan membersihkan utas baik setelah menerima CloseTunnel sinyal atau jika terowongan kedaluwarsa setelah 12 jam.

1.0.16

Versi diperbarui untuk Greengrass nucleus versi 2.11.0 rilis.

1.0.15

Perbaikan bug dan peningkatan
  • Memperbaiki masalah startup untuk pengguna yang tidak memiliki direktori home di perangkat. Komponen tunneling aman sekarang dimulai tanpa membuat direktori untuk dokumen bayangan.

1.0.14

Versi diperbarui untuk Greengrass nucleus versi 2.10.0 rilis.

1.0.13

Perbaikan bug dan peningkatan
  • Memperbaiki masalah ketika proses klien yatim piatu mencegah lebih dari satu terowongan menargetkan perangkat.

1.0.12

Perbaikan bug dan peningkatan
  • Menambahkan dukungan untuk x86_64 (AMD64) dan ARMv8 (Aarch64) saat berjalan pada Raspberry Pi OS.

1.0.11

Versi diperbarui untuk Greengrass nucleus versi 2.9.0 rilis.

1.010

Versi diperbarui untuk Greengrass nucleus versi 2.8.0 rilis.

1.0.9

Versi diperbarui untuk Greengrass nucleus versi 2.7.0 rilis.

1.0.8

Versi diperbarui untuk Greengrass nucleus versi 2.6.0 rilis.

1.0.7

Perbaikan bug dan peningkatan
  • Memperbaiki masalah dimana komponen terputus saat Anda mentransfer file besar melalui SCP.

1.0.6

Versi ini berisi perbaikan bug.

1.0.5

Versi diperbarui untuk Greengrass nucleus versi 2.5.0 rilis.

1.0.4

Versi diperbarui untuk Greengrass nucleus versi 2.4.0 rilis.

1.0.3

Versi yang diperbarui untuk rilis inti Greengrass versi 2.3.0.

1.0.2

Versi yang diperbarui untuk rilis inti Greengrass versi 2.2.0.

1.0.1

Versi yang diperbarui untuk rilis inti Greengrass versi 2.1.0.

1.0.0

Versi awal.