Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Protokol komunikasi perangkat
AWS IoT Core mendukung perangkat dan klien yang menggunakan protokol MQTT dan MQTT over WebSocket Secure (WSS) untuk mempublikasikan dan berlangganan pesan, serta perangkat dan klien yang menggunakan protokol HTTPS untuk mempublikasikan pesan. Semua protokol mendukung IPv4 dan IPv6. Bagian ini menjelaskan opsi koneksi yang berbeda untuk perangkat dan klien.
TLS 1.2 dan TLS 1.3
AWS IoT Core menggunakan TLS
AWS IoT SDK perangkatDukungan MQTT dan MQTT melalui WSS dan mendukung persyaratan keamanan koneksi klien. Kami merekomendasikan menggunakan AWS IoT SDK perangkat untuk menghubungkan klien ke AWS IoT.
Protokol, pemetaan port, dan otentikasi
Bagaimana perangkat atau klien terhubung ke broker pesan dengan menggunakan titik akhir perangkat tergantung pada protokol yang digunakannya. Tabel berikut mencantumkan protokol yang didukung endpoint AWS IoT perangkat dan metode otentikasi serta port yang mereka gunakan.
Protokol, otentikasi, dan pemetaan port | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Protokol | Operasi yang didukung | Autentikasi | Port | Nama protokol ALPN | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT lebih WebSocket |
Publikasikan, Berlangganan | Tanda Tangan Versi 4 | 443 |
N/A |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT lebih WebSocket |
Publikasikan, Berlangganan | Otentikasi kustom | 443 |
N/A |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT |
Publikasikan, Berlangganan |
Sertifikat klien X.509 |
443 † |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT | Publikasikan, Berlangganan | Sertifikat klien X.509 | 8883 | N/A | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT |
Publikasikan, Berlangganan |
Otentikasi kustom |
443 † |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTTPS |
Publikasikan saja |
Tanda Tangan Versi 4 |
443 |
N/A |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTTPS |
Publikasikan saja |
Sertifikat klien X.509 |
443 † |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTTPS | Publikasikan saja | Sertifikat klien X.509 | 8443 | N/A | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTTPS | Publikasikan saja | Otentikasi kustom | 443 | N/A |
Negosiasi Protokol Lapisan Aplikasi (ALPN)
† Klien yang terhubung pada port 443 dengan otentikasi sertifikat klien X.509 harus menerapkan ekstensi TLS Application Layer Protocol Negotiation (ALPN)ClientHello
Klien terhubung ke titik akhir perangkat mereka Akun AWS. Lihat AWS IoT data perangkat dan titik akhir layanan untuk informasi tentang cara menemukan titik akhir perangkat akun Anda.
catatan
AWS SDK tidak memerlukan seluruh URL. Mereka hanya memerlukan nama host endpoint seperti pubsub.py
contoh untuk AWS IoT Device SDK for Python
Menghubungkan ke AWS IoT Core | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Protokol |
Titik akhir atau URL |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT melalui WSS |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTTPS |
|
Memilih protokol untuk komunikasi perangkat Anda
Untuk sebagian besar komunikasi perangkat IoT melalui titik akhir perangkat, Anda akan ingin menggunakan MQTT atau MQTT melalui protokol WSS; Namun, titik akhir perangkat juga mendukung HTTPS. Tabel berikut membandingkan bagaimana AWS IoT Core menggunakan dua protokol untuk komunikasi perangkat.
AWS IoT protokol perangkat side-by-side | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Fitur |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publikasi/Berlangganan dukungan |
Publikasikan dan berlangganan |
Publikasikan saja |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dukungan SDK |
AWS SDK perangkat mendukung protokol MQTT dan WSS |
Tidak ada dukungan SDK, tetapi Anda dapat menggunakan metode khusus bahasa untuk membuat permintaan HTTPS |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dukungan Kualitas Layanan |
QoS didukung dengan melewatkan parameter string kueri ?qos=qos di mana nilainya bisa 0 atau 1. Anda dapat menambahkan string kueri ini untuk mempublikasikan pesan dengan nilai QoS yang Anda inginkan. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dapat menerima pesan yang terlewatkan saat perangkat sedang offline | Ya | Tidak | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Ya |
Tidak |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Deteksi pemutusan perangkat |
Ya |
Tidak |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Komunikasi yang aman |
Ya. Lihat Protokol, pemetaan port, dan otentikasi |
Ya. Lihat Protokol, pemetaan port, dan otentikasi |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Definisi topik |
Aplikasi didefinisikan |
Aplikasi didefinisikan |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Format data pesan |
Aplikasi didefinisikan |
Aplikasi didefinisikan |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Protokol overhead | Lebih rendah | Lebih tinggi | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Konsumsi daya | Lebih rendah | Lebih tinggi |
Batas durasi koneksi
Koneksi HTTPS tidak dijamin bertahan lebih lama dari waktu yang diperlukan untuk menerima dan menanggapi permintaan.
Durasi koneksi MQTT tergantung pada fitur otentikasi yang Anda gunakan. Tabel berikut mencantumkan durasi koneksi maksimum dalam kondisi ideal untuk setiap fitur.
Durasi koneksi MQTT dengan fitur otentikasi | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Fitur |
Durasi maksimum* |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sertifikat klien X.509 |
1—2 minggu |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Otentikasi kustom |
1—2 minggu |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tanda Tangan Versi 4 |
Hingga 24 jam |
* Tidak dijamin
Dengan sertifikat X.509 dan otentikasi khusus, durasi koneksi tidak memiliki batas keras, tetapi bisa sesingkat beberapa menit. Gangguan koneksi dapat terjadi karena berbagai alasan. Daftar berikut berisi beberapa alasan paling umum.
-
Gangguan ketersediaan Wi-Fi
-
Gangguan koneksi penyedia layanan Internet (ISP)
-
Tambalan layanan
-
Penyebaran layanan
-
Penskalaan otomatis layanan
-
Host layanan tidak tersedia
-
Masalah dan pembaruan penyeimbang beban
-
Kesalahan sisi klien
Perangkat Anda harus menerapkan strategi untuk mendeteksi pemutusan dan penyambungan kembali. Untuk informasi tentang peristiwa pemutusan sambungan dan panduan tentang cara menanganinya, lihat Hubungkan/Putuskan acara diPeristiwa siklus hidup.