

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

# Multiplexing beberapa aliran data dalam terowongan aman
<a name="multiplexing-multiple-streams"></a>

Anda dapat menggunakan fitur multiplexing untuk perangkat yang menggunakan beberapa koneksi atau port. Multiplexing juga dapat digunakan ketika Anda memerlukan beberapa koneksi ke perangkat jarak jauh untuk memecahkan masalah apa pun. Misalnya, dapat digunakan dalam kasus browser web yang memerlukan pengiriman beberapa aliran data HTTP dan SSH. Data aplikasi dari kedua aliran dikirim ke perangkat secara bersamaan melalui terowongan multipleks.

## Contoh kasus penggunaan
<a name="multiplexing-use-case"></a>

Katakanlah Anda perlu terhubung ke aplikasi web di perangkat untuk mengubah beberapa parameter jaringan, sekaligus mengeluarkan perintah shell melalui terminal untuk memverifikasi bahwa perangkat berfungsi dengan baik dengan parameter jaringan baru. Dalam skenario ini, Anda mungkin perlu terhubung ke perangkat melalui HTTP dan SSH dan mentransfer dua aliran data paralel untuk mengakses aplikasi web dan terminal secara bersamaan. Dengan fitur multiplexing, kedua aliran independen ini dapat ditransfer melalui terowongan yang sama pada saat yang bersamaan.

![\[Diagram yang menunjukkan arsitektur cloud IoT dengan perangkat sumber, server proxy, dan perangkat tujuan untuk streaming data melalui protokol yang berbeda.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/tunnel-multiplexing.png)


## Cara mengatur terowongan multipleks
<a name="multiplexing-tutorial"></a>

Prosedur berikut memandu Anda melalui cara mengatur terowongan multipleks untuk perangkat pemecahan masalah menggunakan aplikasi yang memerlukan koneksi ke beberapa port. Anda akan mengatur satu terowongan dengan dua aliran multipleks: satu aliran HTTP dan satu aliran SSH.

1. 

**(Opsional) Buat file konfigurasi**

   Anda dapat secara opsional mengonfigurasi perangkat sumber dan tujuan dengan file konfigurasi. Gunakan file konfigurasi jika pemetaan port Anda cenderung sering berubah. Anda dapat melewati langkah ini jika Anda lebih suka menentukan pemetaan port secara eksplisit menggunakan CLI, atau jika Anda tidak perlu memulai proxy lokal pada port mendengarkan yang ditunjuk. Untuk informasi selengkapnya tentang cara menggunakan file konfigurasi, lihat [Opsi yang disetel melalui --config](https://github.com/aws-samples/aws-iot-securetunneling-localproxy#options-set-via---config) di. GitHub

   1. Di perangkat sumber Anda, di folder tempat proxy lokal Anda akan berjalan, buat folder konfigurasi bernama`Config`. Di dalam folder ini, buat file yang disebut `SSHSource.ini` dengan konten berikut:

      ```
      HTTP1 = 5555
      SSH1 = 3333
      ```

   1. Di perangkat tujuan Anda, di folder tempat proxy lokal Anda akan berjalan, buat folder konfigurasi bernama`Config`. Di dalam folder ini, buat file yang disebut `SSHDestination.ini` dengan konten berikut:

      ```
      HTTP1 = 80
      SSH1 = 22
      ```

1. 

**Buka terowongan**

   Buka terowongan menggunakan operasi `OpenTunnel` API atau perintah `open-tunnel` CLI. Konfigurasikan tujuan dengan menentukan `SSH1` dan `HTTP1` sebagai layanan dan nama AWS IoT benda yang sesuai dengan perangkat jarak jauh Anda. Aplikasi SSH dan HTTP Anda berjalan di perangkat jarak jauh ini. Anda pasti sudah membuat IoT di registri. AWS IoT Untuk informasi selengkapnya, lihat [Mengelola hal-hal dengan registri](thing-registry.md).

   ```
   aws iotsecuretunneling open-tunnel \
   	--destination-config thingName=RemoteDevice1,services=HTTP1,SSH1
   ```

   Menjalankan perintah ini menghasilkan token akses sumber dan tujuan yang akan Anda gunakan untuk menjalankan proxy lokal.

   ```
   {
   	"tunnelId": "b2de92a3-b8ff-46c0-b0f2-afa28b00cecd",
   	"tunnelArn": "arn:aws:iot:us-west-2:431600097591:tunnel/b2de92a3-b8ff-46c0-b0f2-afa28b00cecd",
   	"sourceAccessToken": source_client_access_token,
   	"destinationAccessToken": destination_client_access_token
   }
   ```

1. 

**Konfigurasikan dan mulai proxy lokal**

   Sebelum Anda dapat menjalankan proxy lokal, siapkan AWS IoT Device Client, atau unduh kode sumber proxy lokal dari [GitHub](https://github.com/aws-samples/aws-iot-securetunneling-localproxy)dan buat untuk platform pilihan Anda. Anda kemudian dapat memulai tujuan dan proxy lokal sumber untuk terhubung ke terowongan aman. Untuk informasi selengkapnya tentang mengonfigurasi dan menggunakan proxy lokal, lihat[Cara menggunakan proxy lokal](how-use-local-proxy.md).
**catatan**  
Di perangkat sumber Anda, jika Anda tidak menggunakan file konfigurasi apa pun atau menentukan pemetaan port menggunakan CLI, Anda masih dapat menggunakan perintah yang sama untuk menjalankan proxy lokal. Proxy lokal dalam mode sumber akan secara otomatis mengambil port yang tersedia untuk digunakan dan pemetaan untuk Anda.

------
#### [ Start local proxy using configuration files ]

   Jalankan perintah berikut untuk menjalankan proxy lokal dalam mode sumber dan tujuan menggunakan file konfigurasi.

   ```
   // ----------------- Start the destination local proxy -----------------------
   ./localproxy -r us-east-1 -m dst -t destination_client_access_token
   
   // ----------------- Start the source local proxy ----------------------------
   // You also run the same command below if you want the local proxy to
   // choose the mappings for you instead of using configuration files.
   ./localproxy -r us-east-1 -m src -t source_client_access_token
   ```

------
#### [ Start local proxy using CLI port mapping ]

   Jalankan perintah berikut untuk menjalankan proxy lokal dalam mode sumber dan tujuan dengan menentukan pemetaan port secara eksplisit menggunakan CLI.

   ```
   // ----------------- Start the destination local proxy -----------------------------------
   ./localproxy -r us-east-1 -d HTTP1=80,SSH1=22 -t destination_client_access_token
   
   // ----------------- Start the source local proxy ----------------------------------------
   ./localproxy -r us-east-1 -s HTTP1=5555,SSH1=33 -t source_client_access_token
   ```

------

Data aplikasi dari koneksi SSH dan HTTP sekarang dapat ditransfer secara bersamaan melalui terowongan multipleks. Seperti yang terlihat pada peta di bawah ini, pengenal layanan bertindak sebagai format yang dapat dibaca untuk menerjemahkan pemetaan port antara perangkat sumber dan tujuan. Dengan konfigurasi ini, tunneling aman meneruskan lalu lintas HTTP yang masuk dari port *5555* pada perangkat sumber ke port *80* pada perangkat tujuan, dan lalu lintas SSH yang masuk dari port *3333* ke port pada perangkat tujuan. *22*

![\[Proses penerjemahan untuk memetakan pengenal layanan dari proxy lokal sumber dan tujuan ke pemetaan port yang diterjemahkan setelah diproses.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/multiplexing-post-mapping-translation.png)
