

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
<a name="tunneling-tutorial-manual-setup"></a>

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, lihat[Metode pengaturan terowongan](secure-tunneling-tutorial-open-tunnel.md#tunneling-tutorial-setup-methods).

## Prasyarat untuk metode pengaturan manual
<a name="tunneling-tutorial-manual-prerequisites"></a>
+ 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 (lihat[Cuplikan agen IoT](configure-remote-device.md#agent-snippet)) 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](https://docs.aws.amazon.com/iot/latest/developerguide/sdk-tutorials.html).
+ Anda harus memiliki daemon SSH yang berjalan di perangkat jarak jauh.
+ Anda telah mengunduh kode sumber proxy lokal dari [GitHub](https://github.com/aws-samples/aws-iot-securetunneling-localproxy)dan membangunnya untuk platform pilihan Anda. Kita akan merujuk ke file executable proxy lokal yang dibangun seperti `localproxy` dalam tutorial ini.

## Buka terowongan
<a name="open-tunnel"></a>

Anda dapat membuka terowongan aman menggunakan Konsol Manajemen AWS, 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](secure-tunneling-tutorial-open-tunnel.md#tunneling-tutorial-flows).

**Untuk membuka terowongan di konsol**

1. Pergi ke [hub Tunnels AWS IoT konsol](https://console.aws.amazon.com/iot/home#/tunnelhub) dan pilih **Buat terowongan**.  
![\[AWS IoT konsol yang menampilkan daftar terowongan kosong dengan opsi untuk membuat, menutup, atau menghapus terowongan.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/tunnels-page.png)

1. Untuk tutorial ini, pilih **Pengaturan manual** sebagai metode pembuatan terowongan dan kemudian pilih **Berikutnya**. Untuk informasi tentang menggunakan metode **penyiapan cepat** untuk membuat terowongan, lihat[Buka terowongan dan gunakan SSH berbasis browser untuk mengakses perangkat jarak jauh](tunneling-tutorial-quick-setup.md).
**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](tunneling-tutorial-existing-tunnel.md).  
![\[Dua opsi untuk menyiapkan koneksi terowongan: Penyiapan cepat (SSH) atau Pengaturan manual, yang memerlukan konfigurasi proxy lokal dan mengelola token akses.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/tunnels-choose-manual.PNG)

1. (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.](https://aws.amazon.com/iot-device-management/pricing/)

1. 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.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/tunnel-success.png)

**Untuk membuka terowongan menggunakan API**  
Untuk membuka terowongan baru, Anda dapat menggunakan operasi [OpenTunnel](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-secure-tunneling_OpenTunnel.html)API. 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
<a name="resend-access-tokens"></a>

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](https://console.aws.amazon.com/iot/home#/tunnels) dan pilih terowongan yang Anda buat.

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

1. 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.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/tunnel-token-rotated.PNG)

**Untuk memutar token akses menggunakan API**  
Untuk memutar token akses terowongan, Anda dapat menggunakan operasi [RotateTunnelAccessToken](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-secure-tunneling_RotateTunnelAccessToken.html)API 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, lihat[Menyelesaikan masalah konektivitas tunneling yang AWS IoT aman dengan memutar token akses klien](iot-secure-tunneling-troubleshooting.md).

## Konfigurasikan dan mulai proxy lokal
<a name="start-local-proxy"></a>

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](https://github.com/aws-samples/aws-iot-securetunneling-localproxy).

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:
+ `-r`menentukan Wilayah AWS, yang harus menjadi Wilayah yang sama di mana terowongan Anda dibuat.
+ `-s`menentukan port yang harus dihubungkan oleh proxy.
+ `-t`menentukan 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](https://github.com/aws-samples/aws-iot-securetunneling-localproxy) 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
<a name="start-ssh-session"></a>

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
<a name="tunnel-cleanup-manual"></a>
+ 

**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](https://console.aws.amazon.com/iot/home#/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 [CloseTunnel](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-secure-tunneling_CloseTunnel.html)API.

    ```
    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](https://console.aws.amazon.com/iot/home#/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 [CloseTunnel](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-secure-tunneling_CloseTunnel.html)API. Saat menggunakan API, setel `delete` flag ke`true`.

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