Buka terowongan menggunakan pengaturan manual dan sambungkan ke perangkat jarak jauh - AWS IoT Core

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

Buka terowongan menggunakan pengaturan manual dan sambungkan ke perangkat jarak jauh

Saat Anda membuka terowongan, Anda dapat memilih pengaturan cepat atau metode pengaturan manual untuk membuka terowongan ke perangkat jarak jauh. Tutorial ini menunjukkan cara membuka terowongan menggunakan metode pengaturan manual dan mengkonfigurasi dan memulai proxy lokal untuk terhubung ke perangkat jarak jauh.

Saat Anda menggunakan metode pengaturan manual, Anda harus menentukan konfigurasi terowongan secara manual saat membuat terowongan. Setelah membuat terowongan, Anda dapat SSH di dalam browser atau membuka terminal di luar AWS IoT konsol. Tutorial ini menunjukkan cara menggunakan terminal di luar konsol untuk mengakses perangkat jarak jauh. Anda juga akan mempelajari cara mengonfigurasi proxy lokal dan kemudian terhubung ke proxy lokal untuk berinteraksi dengan perangkat jarak jauh. Untuk terhubung ke proxy lokal, Anda harus mengunduh token akses sumber saat membuat terowongan.

Dengan metode pengaturan ini, Anda dapat menggunakan layanan selain SSH, seperti FTP untuk terhubung ke perangkat jarak jauh. Untuk informasi selengkapnya tentang metode penyiapan yang berbeda, lihatMetode pengaturan terowongan.

Prasyarat untuk metode pengaturan manual

  • Firewall yang berada di belakang perangkat jarak jauh harus memungkinkan lalu lintas keluar pada port 443. Terowongan yang Anda buat akan menggunakan port ini untuk terhubung ke perangkat jarak jauh.

  • Anda memiliki agen perangkat IoT (lihatCuplikan agen IoT) yang berjalan di perangkat jarak jauh yang terhubung ke gateway AWS IoT perangkat dan dikonfigurasi dengan langganan topik MQTT. Untuk informasi selengkapnya, lihat menghubungkan perangkat ke gateway AWS IoT perangkat.

  • Anda harus memiliki daemon SSH yang berjalan di perangkat jarak jauh.

  • Anda telah mengunduh kode sumber proxy lokal dari GitHubdan membangunnya untuk platform pilihan Anda. Kita akan merujuk ke file executable proxy lokal yang dibangun seperti localproxy dalam tutorial ini.

Buka terowongan

Anda dapat membuka terowongan aman menggunakan AWS Management Console, Referensi AWS IoT API, atau AWS CLI. Anda dapat secara opsional mengonfigurasi nama tujuan tetapi tidak diperlukan untuk tutorial ini. Jika Anda mengonfigurasi tujuan, tunneling aman akan secara otomatis mengirimkan token akses ke perangkat jarak jauh menggunakan MQTT. Untuk informasi selengkapnya, lihat Metode pembuatan terowongan di AWS IoT konsol.

Untuk membuka terowongan di konsol
  1. Pergi ke hub Tunnels AWS IoT konsol dan pilih Buat terowongan.

    AWS IoT konsol yang menampilkan daftar terowongan kosong dengan opsi untuk membuat, menutup, atau menghapus terowongan.
  2. Untuk tutorial ini, pilih Pengaturan manual sebagai metode pembuatan terowongan dan kemudian pilih Berikutnya. Untuk informasi tentang menggunakan metode penyiapan cepat untuk membuat terowongan, lihatBuka terowongan dan gunakan SSH berbasis browser untuk mengakses perangkat jarak jauh.

    catatan

    Jika Anda membuat terowongan aman dari halaman detail sesuatu, Anda dapat memilih apakah akan membuat terowongan baru atau menggunakan terowongan yang sudah ada. Untuk informasi selengkapnya, lihat Buka terowongan untuk perangkat jarak jauh dan gunakan SSH berbasis browser.

    Dua opsi untuk menyiapkan koneksi terowongan: Penyiapan cepat (SSH) atau Pengaturan manual, yang memerlukan konfigurasi proxy lokal dan mengelola token akses.
  3. (Opsional) Masukkan pengaturan konfigurasi untuk terowongan Anda. Anda juga dapat melewati langkah ini dan melanjutkan ke langkah berikutnya untuk membuat terowongan.

    Masukkan deskripsi terowongan, durasi batas waktu terowongan, dan tag sumber daya sebagai pasangan nilai kunci untuk membantu Anda mengidentifikasi sumber daya Anda. Untuk tutorial ini, Anda dapat melewati konfigurasi tujuan.

    catatan

    Anda tidak akan dikenakan biaya berdasarkan durasi terowongan tetap terbuka. Anda hanya dikenakan biaya saat membuat terowongan baru. Untuk informasi harga, lihat Terowongan Aman dalam AWS IoT Device Management harga.

  4. Unduh token akses klien dan kemudian pilih Selesai. Token tidak akan tersedia untuk diunduh setelah Anda memilih Selesai.

    Token ini hanya dapat digunakan sekali untuk terhubung ke terowongan. Jika Anda salah menempatkan token atau terowongan terputus, Anda dapat membuat dan mengirim token baru ke perangkat jarak jauh Anda untuk menyambung kembali ke terowongan.

    Token akses sumber dan tujuan untuk membuat koneksi terowongan yang aman, dengan instruksi tentang memutar dan mengirim ulang token jika diperlukan.
Untuk membuka terowongan menggunakan API

Untuk membuka terowongan baru, Anda dapat menggunakan operasi OpenTunnelAPI. Anda juga dapat menentukan konfigurasi tambahan menggunakan API, seperti durasi terowongan dan konfigurasi tujuan.

aws iotsecuretunneling open-tunnel \ --region us-east-1 \ --endpoint https://api.us-east-1.tunneling.iot.amazonaws.com

Menjalankan perintah ini membuat terowongan baru dan memberi Anda token akses sumber dan tujuan.

{ "tunnelId": "01234567-89ab-0123-4c56-789a01234bcd", "tunnelArn": "arn:aws:iot:us-east-1:123456789012:tunnel/01234567-89ab-0123-4c56-789a01234bcd", "sourceAccessToken": "<SOURCE_ACCESS_TOKEN>", "destinationAccessToken": "<DESTINATION_ACCESS_TOKEN>" }

Kirim ulang token akses terowongan

Token yang Anda peroleh saat membuat terowongan hanya dapat digunakan sekali untuk terhubung ke terowongan. Jika Anda salah menempatkan token akses atau terowongan terputus, Anda dapat mengirim ulang token akses baru ke perangkat jarak jauh menggunakan MQTT tanpa biaya tambahan. AWS IoT Tunneling aman akan mencabut token saat ini dan mengembalikan token akses baru untuk menghubungkan kembali ke terowongan.

Untuk memutar token dari konsol
  1. Pergi ke hub Terowongan AWS IoT konsol dan pilih terowongan yang Anda buat.

  2. Di halaman detail terowongan, pilih Hasilkan token akses baru, lalu pilih Berikutnya.

  3. Unduh token akses baru untuk terowongan Anda dan pilih Selesai. Token ini hanya dapat digunakan sekali. Jika Anda salah menempatkan token ini atau terowongan terputus, Anda dapat mengirim ulang token akses baru.

    Akses token untuk perangkat sumber dan tujuan dengan opsi untuk menyalin atau mengunduhnya. Teks menjelaskan bahwa token berputar mencabut token saat ini dan menghasilkan token sekali pakai baru untuk menghubungkan kembali terowongan yang terputus.
Untuk memutar token akses menggunakan API

Untuk memutar token akses terowongan, Anda dapat menggunakan operasi RotateTunnelAccessTokenAPI untuk mencabut token saat ini dan mengembalikan token akses baru untuk menyambung kembali ke terowongan. Misalnya, perintah berikut memutar token akses untuk perangkat tujuan, RemoteThing1.

aws iotsecuretunneling rotate-tunnel-access-token \ --tunnel-id <tunnel-id> \ --client-mode DESTINATION \ --destination-config thingName=<RemoteThing1>,services=SSH \ --region <region>

Menjalankan perintah ini menghasilkan token akses baru seperti yang ditunjukkan pada contoh berikut. Token kemudian dikirim ke perangkat menggunakan MQTT untuk terhubung ke terowongan, jika agen perangkat diatur dengan benar.

{ "destinationAccessToken": "destination-access-token", "tunnelArn": "arn:aws:iot:region:account-id:tunnel/tunnel-id" }

Untuk contoh yang menunjukkan bagaimana dan kapan harus memutar token akses, lihatMenyelesaikan masalah konektivitas tunneling yang AWS IoT aman dengan memutar token akses klien.

Konfigurasikan dan mulai proxy lokal

Untuk terhubung ke perangkat jarak jauh, buka terminal di laptop Anda dan konfigurasikan dan mulai proxy lokal. Proxy lokal mentransmisikan data yang dikirim oleh aplikasi yang berjalan pada perangkat sumber dengan menggunakan tunneling aman melalui koneksi aman. WebSocket Anda dapat mengunduh sumber proxy lokal dari GitHub.

Setelah Anda mengonfigurasi proxy lokal, salin token akses klien sumber, dan gunakan untuk memulai proxy lokal dalam mode sumber. Berikut ini menunjukkan contoh perintah untuk memulai proxy lokal. Dalam perintah berikut, proxy lokal dikonfigurasi untuk mendengarkan koneksi baru pada port 5555. Dalam perintah ini:

  • -rmenentukan Wilayah AWS, yang harus menjadi Wilayah yang sama di mana terowongan Anda dibuat.

  • -smenentukan port yang harus dihubungkan oleh proxy.

  • -tmenentukan teks token klien.

./localproxy -r us-east-1 -s 5555 -t source-client-access-token

Menjalankan perintah ini akan memulai proxy lokal dalam mode sumber. Jika Anda menerima kesalahan berikut setelah menjalankan perintah, atur jalur CA. Untuk selengkapnya, lihat Proksi lokal tunneling aman aktif. GitHub

Could not perform SSL handshake with proxy server: certificate verify failed

Berikut ini menunjukkan contoh output menjalankan proxy lokal dalam source mode.

... ... Starting proxy in source mode Attempting to establish web socket connection with endpoint wss://data.tunneling.iot.us-east-1.amazonaws.com:443 Resolved proxy server IP: 10.10.0.11 Connected successfully with proxy server Performing SSL handshake with proxy server Successfully completed SSL handshake with proxy server HTTP/1.1 101 Switching Protocols ... Connection: upgrade channel-id: 01234567890abc23-00001234-0005678a-b1234c5de677a001-2bc3d456 upgrade: websocket ... Web socket session ID: 01234567890abc23-00001234-0005678a-b1234c5de677a001-2bc3d456 Web socket subprotocol selected: aws.iot.securetunneling-2.0 Successfully established websocket connection with proxy server: wss://data.tunneling.iot.us-east-1.amazonaws.com:443 Setting up web socket pings for every 5000 milliseconds Scheduled next read: ... Starting web socket read loop continue reading... Resolved bind IP: 127.0.0.1 Listening for new connection on port 5555

Memulai sesi SSH

Buka terminal lain dan gunakan perintah berikut untuk memulai sesi SSH baru dengan menghubungkan ke proxy lokal pada port 5555.

ssh username@localhost -p 5555

Anda mungkin akan diminta untuk password untuk sesi SSH. Setelah selesai dengan sesi SSH, ketik exit untuk menutup sesi.

Membersihkan

  • Tutup terowongan

    Kami menyarankan Anda menutup terowongan setelah Anda selesai menggunakannya. Terowongan juga dapat ditutup jika tetap terbuka lebih lama dari durasi terowongan yang ditentukan. Terowongan tidak dapat dibuka kembali setelah ditutup. Anda masih dapat menduplikasi terowongan dengan membuka terowongan tertutup dan kemudian memilih terowongan Duplikat. Tentukan durasi terowongan yang ingin Anda gunakan dan kemudian buat terowongan baru.

    • Untuk menutup terowongan individu atau beberapa terowongan dari AWS IoT konsol, buka hub Tunnels, pilih terowongan yang ingin Anda tutup, lalu pilih Tutup terowongan.

    • Untuk menutup terowongan individual atau beberapa terowongan menggunakan AWS IoT API Referensi API, gunakan operasi CloseTunnelAPI.

      aws iotsecuretunneling close-tunnel \ --tunnel-id "01234567-89ab-0123-4c56-789a01234bcd"
  • Hapus terowongan

    Anda dapat menghapus terowongan secara permanen dari Anda Akun AWS.

    Awas

    Tindakan penghapusan bersifat permanen dan tidak dapat dibatalkan.

    • Untuk menghapus terowongan individual atau beberapa terowongan dari AWS IoT konsol, buka hub Tunnels, pilih terowongan yang ingin Anda hapus, lalu pilih Delete tunnel.

    • Untuk menghapus terowongan individual atau beberapa terowongan menggunakan AWS IoT API Referensi API, gunakan operasi CloseTunnelAPI. Saat menggunakan API, setel delete flag ketrue.

      aws iotsecuretunneling close-tunnel \ --tunnel-id "01234567-89ab-0123-4c56-789a01234bcd" --delete true