สารบัญ:

Unifi Controller บน Google Cloud Platform (GCP): 6 ขั้นตอน
Unifi Controller บน Google Cloud Platform (GCP): 6 ขั้นตอน

วีดีโอ: Unifi Controller บน Google Cloud Platform (GCP): 6 ขั้นตอน

วีดีโอ: Unifi Controller บน Google Cloud Platform (GCP): 6 ขั้นตอน
วีดีโอ: คู่มือการตั้งค่า UniFi Controller Cloud ดูออนไลน์ฟรี เชื่อมระบบCloud #UniFi Cloud 2024, กรกฎาคม
Anonim
Unifi Controller บน Google Cloud Platform (GCP)
Unifi Controller บน Google Cloud Platform (GCP)

Unifi Controller ของ Ubiquity ช่วยให้สามารถจัดการเว็บของผลิตภัณฑ์ Unifi ได้ รวมถึงจุดเชื่อมต่อไร้สาย เราเตอร์ และสวิตช์ พวกเขามีคำแนะนำที่ยอดเยี่ยมสำหรับการตั้งค่าคอนโทรลเลอร์บน Amazon AWS โดยใช้ Free Tier ที่ให้ VM ฟรีเป็นเวลา 12 เดือน เมื่อครบปี คุณต้องชำระเงินเพื่อใช้ VM ต่อไป

ติดตั้ง UniFi Cloud Controller บน Amazon Web Services

Google Cloud Platform (GCP) ยังเสนอระดับฟรีพร้อม micro VM ฟรีตลอดไปด้วยข้อกำหนดที่คล้ายกับข้อเสนอของ Amazon จุดประสงค์ของคู่มือนี้คือเพื่อจัดทำเอกสารขั้นตอนในการตั้งค่า Unifi Controller ใน GCP

หมายเหตุ: ผู้ใช้รายอื่น Petri ได้เขียนคำแนะนำที่ยอดเยี่ยมพร้อมสคริปต์ที่ตั้งค่าคุณสมบัติเพิ่มเติม เช่น ให้เข้ารหัสใบรับรอง ขีดจำกัด Fail2Ban และการบำรุงรักษาทั่วไป ลองดูเพื่อเสริมคำแนะนำนี้:

ขั้นตอนที่ 1: ลงทะเบียน/สร้างบัญชี Google Cloud Platform

ลงทะเบียน/สร้างบัญชี Google Cloud Platform
ลงทะเบียน/สร้างบัญชี Google Cloud Platform
ลงทะเบียน/สร้างบัญชี Google Cloud Platform
ลงทะเบียน/สร้างบัญชี Google Cloud Platform
  1. ไปที่: https://cloud.google.com/free/ และคลิกปุ่ม "ทดลองใช้ฟรี" เพื่อเริ่มลงทะเบียนสำหรับบัญชี
  2. เข้าสู่ระบบด้วยบัญชีของคุณที่:
  3. เลือกโปรเจ็กต์ที่คุณต้องการใช้สำหรับ Unifi Controller หากตั้งค่าบัญชีฟรี คุณจะเลือก "โครงการแรกของฉัน"

    สามารถเปลี่ยนชื่อได้โดยไปที่ Menu>IAM & admin>Settings และเปลี่ยนชื่อ Project

ขั้นตอนที่ 2: การสร้างอินสแตนซ์สคริปต์

การสร้างอินสแตนซ์สคริปต์
การสร้างอินสแตนซ์สคริปต์

แทนที่จะคลิกผ่าน GUI ทีละขั้นตอนเพื่อสร้างอินสแตนซ์ Google ได้จัดเตรียม Google Cloud Shell เพื่อสร้างจากบรรทัดคำสั่ง ซึ่งจะช่วยขจัดข้อผิดพลาดในการกำหนดค่าผิดพลาดอันเนื่องมาจากขั้นตอนที่พลาดไปหรือการพิมพ์ผิด

หมายเหตุ: Free Tier ใช้ได้เฉพาะในภูมิภาคต่อไปนี้: us-east1, us-west1 และ us-central1

หากใช้วิธีนี้กับสคริปต์จาก Petri คุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม เนื่องจากทุกอย่างทำงานอัตโนมัติบน Debian สำหรับผู้ที่ต้องการสร้างด้วยตนเองหรือทำความเข้าใจเบื้องหลังของน็อตและสลักเกลียว ขั้นตอนหลังจากนี้จะอธิบายเกี่ยวกับการกำหนดค่า

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

หมายเหตุสุดท้าย: ณ วันที่ 9/5/2018 ซอฟต์แวร์ Unifi ยังคงต้องการ MongoDB เวอร์ชันก่อนหน้ามากกว่าที่มาพร้อมกับ Ubuntu 18.04 ซึ่งต้องใช้ระบบปฏิบัติการอื่นหรือวิธีแก้ไขปัญหาด้วยตนเองตามที่อธิบายไว้ที่นี่ เป็นผลให้คำสั่งด้านล่างจะใช้ Debian 9

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

การสร้างที่เก็บข้อมูล

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

gsutil mb -c ภูมิภาค -l us-central1 gs://some-unique-name

การสร้าง IP ภายนอกแบบคงที่

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

ที่อยู่การคำนวณ gcloud สร้าง unifi-external

--region เรา-central1

สร้างกฎไฟร์วอลล์

ชุดบรรทัดนี้จะสร้างกฎไฟร์วอลล์หลายกฎที่จำเป็นสำหรับคอนโทรลเลอร์ Unifi และเพิ่มลงในแท็กชื่อ unifi-server ซึ่งจะกำหนดให้กับอินสแตนซ์ของเซิร์ฟเวอร์ด้วย

gcloud คำนวณกฎไฟร์วอลล์สร้าง "unifi-http"

--allow tcp:80, tcp:8443, tcp:8880, tcp:8843 / --description="พอร์ตที่ใช้สำหรับ HTTP และ HTTPS บนพอร์ตที่ไม่ได้มาตรฐาน" --target-tags=unifi-server

gcloud คำนวณกฎไฟร์วอลล์สร้าง "unifi-inform"

--allow tcp:8080 / --description="พอร์ตสำหรับการสื่อสารของอุปกรณ์และคอนโทรลเลอร์" / --target-tags=unifi-server

gcloud คำนวณกฎไฟร์วอลล์สร้าง "unifi-stun"

--allow udp:3478 / --description="พอร์ตที่ใช้สำหรับ STUN" / --target-tags=unifi-server

gcloud คำนวณกฎไฟร์วอลล์สร้าง "unifi-throughput"

--allow tcp:6789 / --description="พอร์ตที่ใช้สำหรับการทดสอบความเร็วมือถือ UniFi" / --target-tags=unifi-server

การสร้างอินสแตนซ์ VM

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

อินสแตนซ์การคำนวณ gcloud สร้าง unifi-controller

--machine-type f1-micro / --image-family debian-9 / --image-project debian-cloud / --boot-disk-type pd-standard / --boot-disk-size 25GB / --zone us-central1-c / --description "Unifi Controller" / --scopes=default, storage-rw / --tags unifi-server / --address unifi-external / --metadata=startup-script-url=gs: //petri-unifi/startup.sh, timezone=US/Central, dns-name=your.domain.com, bucket=some-unique-name

หากคุณต้องการใช้อิมเมจ OS อื่น คุณสามารถรับรายการทั้งหมดจาก Cloud Shell ได้โดยใช้คำสั่งต่อไปนี้

รายการรูปภาพคำนวณ gcloud

จด Family and the Project ในกรณีนี้คือ "debian-9" และ "debian-cloud"

ขั้นตอนที่ 3: การสร้างอินสแตนซ์ VM

การสร้างอินสแตนซ์ VM
การสร้างอินสแตนซ์ VM
การสร้างอินสแตนซ์ VM
การสร้างอินสแตนซ์ VM
การสร้างอินสแตนซ์ VM
การสร้างอินสแตนซ์ VM
  1. จากปุ่มเมนูที่มุมบนซ้าย ให้เลือก "Compute Engine" จากนั้นเลือก "VM Instances"
  2. รอให้ Compute Engine เสร็จสิ้นการเริ่มต้นหากได้รับแจ้ง
  3. ภายใต้ "อินสแตนซ์ VM" ในบานหน้าต่างด้านซ้าย ให้คลิก "สร้าง" ในบานหน้าต่างด้านขวา

    1. ป้อนชื่อสำหรับ VM ของคุณ ในกรณีนี้ "unifi-controller"
    2. เลือกโซนหรือปล่อยให้เป็นค่าเริ่มต้น
    3. เปลี่ยนประเภทเครื่องเป็น "ไมโคร" หากใช้ข้อเสนอฟรี
    4. คลิก "เปลี่ยน" บนดิสก์สำหรับบูต เลือกอิมเมจ Ubuntu เช่น "Ubuntu 16.04 LTS"

      อิมเมจที่ใหม่กว่าของ Ubuntu มี MongoDB เวอร์ชันที่เข้ากันไม่ได้ เดเบียนเป็นอีกทางเลือกหนึ่ง

    5. เพิ่มประเภทดิสก์เป็น Standard Persistent Disk และขนาด 25 GB

      หมายเหตุ: อาจต้องใช้ 30 GB เพื่อการทำงานที่เหมาะสมของซอฟต์แวร์ตัวควบคุม Cloud Shell ใช้พื้นที่ 5 GB และอาจใช้เกินขีดจำกัดฟรี เว้นแต่อินสแตนซ์นี้จะมีขนาดถึง 25 GB

    6. ยกเลิกการเลือกตัวเลือกไฟร์วอลล์ สิ่งเหล่านี้จะได้รับการกำหนดค่าในภายหลัง
    7. หากกำหนดค่าการสำรองข้อมูลตามที่อธิบายไว้ในคู่มือนี้ ในส่วนขอบเขตการเข้าถึง ให้เลือก "ตั้งค่าการเข้าถึงสำหรับแต่ละ API" และเปลี่ยนที่เก็บข้อมูลเป็น "อ่านเขียน"
    8. คลิกลิงก์ "การจัดการ ดิสก์ ระบบเครือข่าย คีย์ SSH" จากนั้นคลิกแท็บเครือข่าย ภายใต้ "แท็กเครือข่าย" ให้ป้อน: unifi-server

      จะใช้เมื่อสร้างกฎไฟร์วอลล์

    9. คลิก "สร้าง" เพื่อเริ่มกระบวนการ
  4. ให้เวลาสักครู่เพื่อให้การสร้าง VM เสร็จสมบูรณ์ ช่องทำเครื่องหมายสีเขียวจะปรากฏทางด้านซ้ายของชื่อเมื่อเสร็จสิ้น
  5. คลิกเมนู Google Cloud Platform>เครือข่าย>เครือข่าย VPC>กฎไฟร์วอลล์

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

      1. ชื่อ: unifi-ports
      2. แท็กเป้าหมาย: unifi-เซิร์ฟเวอร์
      3. ช่วง IP ต้นทาง: 0.0.0.0/0
      4. โปรโตคอลและพอร์ตที่ระบุ: tcp:80; ทีซีพี:8880; tcp:8443; tcp:8843; ทีซีพี:8080; ทีซีพี:6789; udp:3478
      5. สร้าง
  6. คลิกเมนู Google Cloud Platform>เครือข่าย>เครือข่าย VPC>ที่อยู่ IP ภายนอก

    1. เปลี่ยนการมอบหมายที่มีอยู่จาก Ephemeral เป็น Static เพื่อป้องกันไม่ให้ IP เปลี่ยนเมื่อเวลาผ่านไป
    2. หมายเหตุ: หากอินสแตนซ์หยุดทำงาน จะมีการเรียกเก็บเงิน 0.01 เหรียญต่อชั่วโมงต่อ IP สำหรับ IP แบบคงที่

ขั้นตอนที่ 4: การกำหนดค่า Swap บน VM

หากใช้อินสแตนซ์ f1-micro มีความเป็นไปได้ค่อนข้างมากที่ VM จะหมด RAM 600 MB และหยุดทำงาน เพื่อช่วยในเรื่องนี้ ให้กำหนดค่าไฟล์สลับ หากใช้ VM ที่ใหญ่กว่า อาจไม่จำเป็น บทความนี้จะแนะนำคุณเกี่ยวกับขั้นตอนต่างๆ สำหรับ Ubuntu:

การกำหนดค่า Swap

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

sudo fallocate -l 1G /swapfilesudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfilesudo cp /etc/fstab /etc/fstab.bakecho '/swapfile ไม่มีการแลกเปลี่ยน sw 0 0' | sudo tee -a /etc/fstab

ในการตรวจสอบจำนวนหน่วยความจำที่ใช้ทั้ง RAM และ swap ให้ใช้คำสั่งต่อไปนี้

ฟรี -h

ขั้นตอนที่ 5: การติดตั้งซอฟต์แวร์คอนโทรลเลอร์

  1. คลิกเมนู>Compute Engine>อินสแตนซ์ VM ในแนวเดียวกันกับคอนโทรลเลอร์ VM ให้คลิกปุ่ม SSH หน้าต่างใหม่จะปรากฏขึ้นพร้อมกับเซสชัน SSH ไปยัง VM
  2. รันคำสั่งต่อไปนี้เพื่อเพิ่มที่เก็บ Ubiquity และเพิ่มคีย์ GPG สิ่งเหล่านี้สามารถคัดลอกและวางลงในหน้าต่าง SSH:echo "deb https://www.ubnt.com/downloads/unifi/debian stable ubiquiti" | sudo tee -a /etc/apt/sources.listsudo apt-key adv --keyserver keyserver.ubuntu.com --recv 06E85760C0A52C50

    1. หมายเหตุ: หลังจากอัปเกรดเป็นรุ่นใหม่ แหล่งที่มาอาจถูกปิดใช้งาน แก้ไขไฟล์ source.list เพื่อลบ # จากจุดเริ่มต้นของบรรทัด ubnt
    2. sudo nano /etc/apt/sources.list
  3. รันคำสั่งต่อไปนี้เพื่ออัพเดตที่เก็บเซิร์ฟเวอร์และเริ่มการติดตั้ง Unifi:sudo apt-get updatessudo apt-get install unifi
  4. หากได้รับแจ้ง ให้กด Y เพื่อดาวน์โหลดแพ็คเกจที่จำเป็นและติดตั้งต่อไป
  5. หากต้องการเร่งเวลาเริ่มต้นเริ่มต้นบน VM ให้ติดตั้ง hasged เพื่อให้สร้างเอนโทรปีเร็วขึ้น ด้วย hasged การเริ่มต้น Unifi ครั้งแรกเมื่อบูท VM จะใช้เวลา 6-10 นาที หากไม่มีอาจใช้เวลา 20-25 นาที ข้อมูลเพิ่มเติม: https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-havegedsudo apt-get install haveged
  6. เมื่อเสร็จแล้ว พิมพ์ exit เพื่อปิดเซสชัน SSH
  7. ในหน้าต่างอินสแตนซ์ VM ให้จดบันทึก IP ภายนอกของ VM
  8. เปิดเว็บเบราว์เซอร์ไปที่

    แทนที่ External-IP ด้วย External IP ของ VM. ของคุณ

  9. หากหน้าเว็บปรากฏขึ้น แสดงว่าการตั้งค่าคอนโทรลเลอร์เสร็จสมบูรณ์

    หมายเหตุ: ขั้นตอนที่ 2 จะไม่พบอุปกรณ์ใด ๆ เนื่องจากคอนโทรลเลอร์ไม่ได้อยู่บนเครือข่ายย่อยเดียวกันกับอุปกรณ์ ดูบทความ Ubiquity เกี่ยวกับ Layer 3 Adoption

ขั้นตอนที่ 6: การกำหนดค่าการสำรองข้อมูล

การกำหนดค่าการสำรองข้อมูล
การกำหนดค่าการสำรองข้อมูล

ส่วนหนึ่งของ Google Free Tier จะรวมพื้นที่เก็บข้อมูลระดับภูมิภาค 5 GB ไว้ด้วย การสร้างบัคเก็ตของพื้นที่เก็บข้อมูลและกำหนดค่า Unifi ให้คัดลอกข้อมูลสำรองไปยังบัคเก็ตนี้ ไฟล์จะไม่ถูกจัดเก็บในกลไกประมวลผลอีกต่อไปเท่านั้น ซึ่งช่วยให้สามารถกู้คืนได้หากอินสแตนซ์ทั้งหมดไม่พร้อมใช้งาน

สร้างที่เก็บข้อมูล Google Cloud Storage

  1. ในคอนโซล GCP ให้คลิกปุ่มเมนูที่มุมซ้ายบน เลือก "พื้นที่เก็บข้อมูล" ใต้หัวข้อพื้นที่เก็บข้อมูล จากนั้นคลิกสร้างที่เก็บข้อมูล
  2. ป้อนชื่อที่ไม่ซ้ำกันทั่วโลก สร้างเมื่อเสร็จสิ้น เลือกภูมิภาค

    1. ในสหรัฐอเมริกา พื้นที่เก็บข้อมูลฟรีมีให้บริการในภูมิภาคที่ลงท้ายด้วย 1 ตามที่ระบุไว้ที่นี่:
    2. เลือกภูมิภาคสำหรับระดับฟรี
    3. คลิกดำเนินการต่อเมื่อเสร็จสิ้น
  3. ในคอนโซล GCP ให้คลิกปุ่มเมนูที่มุมซ้ายบน เลือก "Compute Engine" จากนั้นคลิกอินสแตนซ์ VM
  4. หยุดอินสแตนซ์ Unifi
  5. คลิกที่ชื่ออินสแตนซ์ และเลือกแก้ไข ภายใต้ "ขอบเขตการเข้าถึง" เลือก "ตั้งค่าการเข้าถึงสำหรับแต่ละ API"
  6. เปลี่ยน "Storage" เป็น Read Write
  7. เริ่มอินสแตนซ์

สร้างสคริปต์เพื่อคัดลอกข้อมูลสำรองไปยังที่เก็บข้อมูลทุกวัน

  1. ใช้คำสั่งต่อไปนี้เพื่อสร้างสคริปต์สำรอง อย่าลืมแทนที่ [name_of_storage_bucket] ด้วยชื่อที่คุณสร้างไว้ด้านบน echo '#!/bin/sh' | sudo tee /etc/cron.daily/unifi-backup-to-bucket echo sudo gsutil rsync -r -d /var/lib/unifi/backup gs://[name_of_storage_bucket] | sudo tee -a /etc/cron.daily/unifi-backup-to-bucket
  2. ตั้งค่าไฟล์เป็นไฟล์เรียกทำงาน sudo chmod +x /etc/cron.daily/unifi-backup-to-bucket
  3. ตอนนี้ควรคัดลอกไฟล์สำรองไปยังที่เก็บข้อมูลรายวัน คุณสามารถดูไฟล์ได้โดยไปที่ Storage>Browser และคลิกที่บัคเก็ต

หมายเหตุ: ฉันมีปัญหาในการคัดลอกข้อความจาก Instructables และวางลงในคอนโซลที่ทำงานได้ไม่เต็มที่ ข้อความจะคัดลอก แต่คำสั่งจะไม่ทำงานอย่างถูกต้อง การพิมพ์ด้วยตนเองช่วยแก้ไขปัญหาได้

แนะนำ: