สารบัญ:

วิธีตั้งค่า Mosquitto MQTT บน AWS: 8 ขั้นตอน
วิธีตั้งค่า Mosquitto MQTT บน AWS: 8 ขั้นตอน

วีดีโอ: วิธีตั้งค่า Mosquitto MQTT บน AWS: 8 ขั้นตอน

วีดีโอ: วิธีตั้งค่า Mosquitto MQTT บน AWS: 8 ขั้นตอน
วีดีโอ: Setting up Mosquitto Mqtt Broker on Windows 2024, พฤศจิกายน
Anonim
วิธีตั้งค่า Mosquitto MQTT บน AWS
วิธีตั้งค่า Mosquitto MQTT บน AWS

สวัสดี! ฉันจะตั้งค่านายหน้า MQTT ส่วนตัวด้วยรหัสผ่านในบัญชี AWS (บริการเว็บ Amazon) ของฉันสำหรับโครงการ IOT ของฉัน ในการทำเช่นนี้ ฉันสร้างบัญชีฟรีบน AWS ซึ่งใช้งานได้ 1 ปีโดยไปที่นี่:

เสบียง

ซอฟต์แวร์ที่ใช้:

สีโป๊ว

เลนส์ MQTT

ขั้นตอนที่ 1: สร้างบัญชี AWS

สร้างบัญชี AWS
สร้างบัญชี AWS

ขั้นแรก คุณต้องมีบัญชี AWS.. ฉันได้สร้างบัญชีฟรีซึ่งมีอายุ 1 ปีแล้วและใช้ในการลงชื่อเข้าใช้ คุณสามารถสร้างบัญชีของคุณเองได้โดยไปที่ลิงก์นี้ คลิก "สร้างบัญชีฟรี" และระบุข้อมูลที่จำเป็น ข้อมูล:

aws.amazon.com/free/?all-free-tier.s

ขั้นตอนที่ 2: สร้างเครื่องเสมือน

สร้างเครื่องเสมือน
สร้างเครื่องเสมือน

แนวคิด:

อินเทอร์เน็ตประกอบด้วยเครื่องสองประเภท: เซิร์ฟเวอร์หรือไคลเอนต์ เซิร์ฟเวอร์ให้บริการแก่คุณในขณะที่ลูกค้าร้องขอบริการ เมื่อคุณเปิดหน้าเว็บนี้ เครื่องของคุณจะขอสำเนาของหน้าเว็บนี้ที่จัดเก็บไว้ในเซิร์ฟเวอร์ เมื่อได้รับคำขอของคุณ เซิร์ฟเวอร์จะส่งสำเนาให้คุณดูได้ เพื่อให้แน่ใจว่าโบรกเกอร์ MQTT ของเรา (บริการ) สามารถเข้าถึงได้โดยใช้คอมพิวเตอร์เครื่องอื่นหรืออุปกรณ์อิเล็กทรอนิกส์ทุกเวลา เราจำเป็นต้องติดตั้งโบรกเกอร์ดังกล่าวในเครื่องเซิร์ฟเวอร์ที่เปิดใช้งานและเชื่อมต่อกับอินเทอร์เน็ตอยู่เสมอ ในการทำเช่นนี้ เราเช่าเครื่องเสมือน ซึ่งเรียกอีกอย่างว่ารูปภาพบน AWS ซึ่งทำงานเหมือนกับคอมพิวเตอร์

คำแนะนำ:

ผ่านคอนโซลการจัดการ

  1. เมื่อลงชื่อเข้าใช้ คุณจะเข้าสู่ AWS Management Console
  2. ด้านล่างโซลูชันบิลด์ ให้คลิกที่ "เปิดใช้เครื่องเสมือน" ดังแสดงในรูปภาพ

ผ่านคอนโซล AMAZON EC2

  1. คุณสามารถเปิดอินสแตนซ์ได้โดยไปที่ลิงก์นี้
  2. ที่ด้านบนขวาของแถบนำทาง ให้เลือกภูมิภาคปัจจุบันของคุณ ในกรณีของฉันคือสิงคโปร์
  3. ด้านล่างอินสแตนซ์ Launch ให้คลิกที่ปุ่ม "Launch instance"

ขั้นตอนที่ 3: เลือก Amazon Machine Image (AMI)

เลือก Amazon Machine Image (AMI)
เลือก Amazon Machine Image (AMI)

ในขั้นตอนนี้ คุณจะต้องเลือกประเภทของระบบปฏิบัติการ (linux, windows, redhat และอื่นๆ อีกมากมาย) และหน่วยความจำ (64 บิต /86 หรือ arm) สำหรับเครื่องเสมือนของเรา

  • เลือกจากประเภท "Quick Start" ของ AMI ในบานหน้าต่างด้านซ้าย " Ubuntu Server 18.04 LTS (HVM), SSD Volume Type - ami-0f7719e8b7ba25c61 (64-bit x86) / ami-02b6622eae4966dfd (64-bit Arm) พร้อม Free Tier บนโลโก้ของมัน
  • ตรวจสอบให้แน่ใจว่าประเภทอุปกรณ์รูท: ebs และประเภทเวอร์ชวลไลเซชันเป็น HVm เนื่องจากเชื่อมต่อได้เร็วกว่าโดยอิงจากสิ่งนี้

ขั้นตอนที่ 4: เลือกและกำหนดค่าประเภทอินสแตนซ์

เลือกและกำหนดค่าประเภทอินสแตนซ์
เลือกและกำหนดค่าประเภทอินสแตนซ์
เลือกและกำหนดค่าประเภทอินสแตนซ์
เลือกและกำหนดค่าประเภทอินสแตนซ์

ในขั้นตอนสุดท้าย เรากำหนดค่าคอมพิวเตอร์ ที่นี่เราตั้งค่าเป็นเซิร์ฟเวอร์ที่มีหน่วยความจำต่อไปนี้และเชื่อมต่อกับอินเทอร์เน็ต (รองรับ IPV6 ควรตอบว่าใช่)

  1. คลิกที่ Free Tier ที่มีสิทธิ์ประเภท t2.micro
  2. คุณสามารถคลิก " ตรวจสอบและเปิดใช้ "ทันที หรือคลิก "ถัดไป: กำหนดค่ารายละเอียดอินสแตนซ์" ที่มุมล่างขวา
  3. คลิกที่ "ถัดไป: เพิ่มแท็ก"
  4. คลิก "ไปที่กำหนดค่าแท็บความปลอดภัย" ที่นี่ คลิกเพิ่มกฎ จนกว่าคุณจะเปิดพอร์ตต่อไปนี้:
  • 1883: MQTT, ไม่เข้ารหัส
  • 8883: MQTT, เข้ารหัส
  • 8080: MQTT ผ่าน WebSockets, ไม่เข้ารหัส
  • 8081: MQTT ผ่าน WebSockets, เข้ารหัส

5.คลิกที่ "ตรวจสอบและเปิด" ที่มุมล่างขวา

ขั้นตอนที่ 5: ตรวจสอบการเปิดอินสแตนซ์

ตรวจสอบอินสแตนซ์เปิดตัว
ตรวจสอบอินสแตนซ์เปิดตัว
เปิดใช้อินสแตนซ์รีวิว
เปิดใช้อินสแตนซ์รีวิว

ตรวจสอบรายละเอียดของเครื่องเสมือนของคุณ ใน AWS พวกเขาเรียกมันว่าอินสแตนซ์

คำเตือนด้านความปลอดภัยอาจปรากฏขึ้นที่ด้านล่างการเปิดตัวอินสแตนซ์การตรวจสอบ

หากต้องการลบออก ให้ไปที่ "กำหนดค่ากลุ่มความปลอดภัย" และเลือกที่อยู่ IP ที่รู้จักโดยใช้แบบกำหนดเอง หรือใช้ที่อยู่ IP ของคุณสำหรับประเภท "SSH" การเปลี่ยนค่า Source นี้จะจำกัดอุปกรณ์ที่สามารถเชื่อมต่อกับเครื่องเสมือนของคุณได้ ในกรณีนี้ เราจะใช้ที่ไหนก็ได้

  1. คลิก "เปิดตัว" บนแท็บรีวิว
  2. คุณจะถูกขอให้เลือกคู่คีย์ เลือก " สร้างคู่คีย์ใหม่ " ในรายการแบบหล่นลงและชื่อ บันทึกไฟล์นี้เนื่องจากคุณจะใช้เพื่อเข้าถึงเครื่องเสมือนในภายหลัง
  3. คลิก "เรียกใช้อินสแตนซ์"

ขั้นตอนที่ 6: รับที่อยู่ IP สาธารณะ

รับที่อยู่ IP สาธารณะ
รับที่อยู่ IP สาธารณะ
รับที่อยู่ IP สาธารณะ
รับที่อยู่ IP สาธารณะ
รับที่อยู่ IP สาธารณะ
รับที่อยู่ IP สาธารณะ

แนวคิด:

ดังที่ได้กล่าวไว้ก่อนหน้านี้มีเซิร์ฟเวอร์และไคลเอนต์ เราสามารถคิดเกี่ยวกับเซิร์ฟเวอร์ในฐานะสถานประกอบการด้านอาหาร อินเทอร์เน็ตในฐานะบริการส่งอาหาร และเราในฐานะลูกค้า อันดับแรก เรา "ขอ" อาหารจากสถานประกอบการอาหารเฉพาะโดยบอก "ที่อยู่" ของร้านนั้น บริการส่งอาหารไปที่ "ที่อยู่" นั้น สถานประกอบการด้านอาหาร "เสิร์ฟ" อาหารไปยังบริการจัดส่งอาหารซึ่งจะถูกส่งถึงคุณ ในทำนองเดียวกัน เซิร์ฟเวอร์ของเราต้องการที่อยู่ IP สาธารณะเพื่อให้สามารถเข้าถึงได้จากอินเทอร์เน็ต ในการทำเช่นนั้น

  1. ไปที่แท็บ เครือข่ายและความปลอดภัย ที่บานหน้าต่างด้านซ้าย
  2. คลิก Elastic IPs
  3. คลิกจัดสรรที่อยู่ IP แบบยืดหยุ่น
  4. กดปุ่ม "จัดสรร" และรอจนกว่าจะเปลี่ยนเส้นทางคุณไปยังหน้าที่มีแบนเนอร์ว่า "Elastic OP Address Allocated"

ขั้นตอนที่ 7: เชื่อมต่อกับอินสแตนซ์ของคุณ

เชื่อมต่อกับอินสแตนซ์ของคุณ
เชื่อมต่อกับอินสแตนซ์ของคุณ
เชื่อมต่อกับอินสแตนซ์ของคุณ
เชื่อมต่อกับอินสแตนซ์ของคุณ
เชื่อมต่อกับอินสแตนซ์ของคุณ
เชื่อมต่อกับอินสแตนซ์ของคุณ

ในแท็บอินสแตนซ์ทางด้านซ้าย ให้คลิกที่ "อินสแตนซ์" ฉันตัดสินใจตั้งชื่ออินสแตนซ์ของฉันเป็น "MQTT Broker" โดยคลิกที่ช่องชื่อที่ล้อมรอบชื่อ ในการเชื่อมต่อกับอินสแตนซ์นี้:

  1. คลิกขวาที่แถวอินสแตนซ์นั้นแล้วคลิกเชื่อมต่อ
  2. เลือกวิธีการเชื่อมต่อ สำหรับไคลเอ็นต์ SSH แบบสแตนด์อโลน ให้ทำตามคำแนะนำอย่างเป็นทางการของ AWS ในการเชื่อมต่อโดยใช้ PUTTY ดูภาพสำหรับรูปภาพที่แนบมาในการติดตั้งของฉัน
  3. หลังจากเชื่อมต่อกับอินสแตนซ์แล้ว ให้พิมพ์คำสั่งต่อไปนี้:

    sudo apt update อัปเดตเวอร์ชัน linux บนเครื่องของคุณ

    • sudo apt ติดตั้งยุง ยุง

      ติดตั้งโบรกเกอร์ยุง

    • sudo apt ติดตั้ง mosquitto mosquitto-clients

      ติดตั้งไคลเอนต์ยุง

    • ยุง -v

      ตรวจสอบเวอร์ชันของยุงเพื่อให้แน่ใจว่าติดตั้งอย่างถูกต้อง ควรมีข้อความว่า "กำลังเปิดซ็อกเก็ตฟัง ipv4 บนพอร์ต 1883" หากติดตั้งอย่างถูกต้อง "ข้อผิดพลาด: มีการใช้ที่อยู่อยู่แล้ว" หมายความว่านายหน้ากำลังทำงานอยู่

    • mosquitto_sub -h -t " ทดสอบ"

      ฟังชื่อหัวข้อ "ทดสอบ" บนนายหน้าตามที่อยู่สาธารณะนี้ (IPv4 Public IP)

  4. ส่ง Publish โดยใช้ไคลเอนต์ windows เช่น MQTT-LENS พร้อมอินพุตคล้ายกับรูปภาพที่แนบล่าสุดที่แนบมา คุณควรจะสามารถรับข้อความบนคอนโซล linux ของคุณได้

ขั้นตอนที่ 8: การรักษาความปลอดภัยด้วยรหัสผ่าน

การรักษาความปลอดภัยด้วยรหัสผ่าน
การรักษาความปลอดภัยด้วยรหัสผ่าน

บนคอนโซล linux ให้พิมพ์สิ่งต่อไปนี้เพื่อสร้างรหัสผ่าน แทนที่ด้วยชื่อผู้ใช้ที่คุณเลือก

sudo mosquitto_passwd -c /etc/mosquitto/passwd

จะถามรหัสผ่านสองครั้ง ระวังเพราะมันจะไม่แสดงตัวอักษรที่พิมพ์ออกมา หลังจากนี้ ให้สร้างไฟล์กำหนดค่าชื่อ " default.conf " ซึ่งอยู่บนเส้นทางของไฟล์ " etc/mosquitto/conf.d /" โดยใช้ตัวแก้ไขข้อความเซิร์ฟเวอร์ linux ชื่อ " nano " เป็นผู้ดูแลระบบ/ผู้ใช้ root โดยพิมพ์ "sudo"

sudo nano /etc/mosquitto/conf.d/default.conf

หลังจากเปิดไฟล์แล้ว ให้วางสิ่งต่อไปนี้ บันทึกและออกโดยกด Ctrl + X

allow_anonymous เท็จ

password_file /etc/mosquitto/passwd

หากต้องการใช้การเปลี่ยนแปลงนี้ให้รีสตาร์ทยุงโดยพิมพ์ "Ctrl+O", "Enter" และ "Ctrl+X"

sudo systemctl รีสตาร์ท mosquitto

ตอนนี้คุณสามารถลองอีกครั้งโดยใช้ไคลเอนต์ windows ที่คุณเลือกและป้อนชื่อผู้ใช้และรหัสผ่านที่เกี่ยวข้องเพื่อเชื่อมต่อ

แนะนำ: