ความจำเป็นในการจัดการไฟร์วอลล์นั้นไม่ได้จำกัดอยู่แค่โฮสต์เสมือนเท่านั้น ไฟร์วอลล์ของทั้ง VM และโฮสต์จริงต้องอนุญาตให้มีการรับส่งข้อมูลสำหรับพอร์ตที่คอมโพเนนต์ต้องใช้เพื่อสื่อสารกัน
แผนภาพพอร์ต
รูปภาพต่อไปนี้แสดงข้อกำหนดของพอร์ตสำหรับทั้งการกำหนดค่าศูนย์ข้อมูลเดียวและการกำหนดค่าศูนย์ข้อมูลหลายแห่ง
ศูนย์ข้อมูลแห่งเดียว
รูปภาพต่อไปนี้แสดงข้อกำหนดของพอร์ตสำหรับคอมโพเนนต์ Edge แต่ละรายการในการกำหนดค่าศูนย์ข้อมูลเดียว
หมายเหตุเกี่ยวกับแผนภาพนี้
- พอร์ตที่มี "M" นำหน้าคือพอร์ตที่ใช้จัดการคอมโพเนนต์และต้องเปิดในคอมโพเนนต์เพื่อให้เซิร์ฟเวอร์การจัดการเข้าถึงได้
- UI ของ Edge ต้องใช้สิทธิ์เข้าถึงเราเตอร์ในพอร์ตที่พร็อกซี API แสดงเพื่อรองรับปุ่มส่งในเครื่องมือการติดตาม
- คุณสามารถกำหนดค่าการเข้าถึงพอร์ต JMX ให้ต้องใช้ชื่อผู้ใช้/รหัสผ่านได้ ดูข้อมูลเพิ่มเติมได้ในวิธีตรวจสอบ
- คุณเลือกกำหนดค่าการเข้าถึง TLS/SSL สำหรับการเชื่อมต่อบางรายการได้ ซึ่งจะใช้พอร์ตอื่นได้ ดูข้อมูลเพิ่มเติมได้ที่ TLS/SSL
- คุณสามารถกำหนดค่าเซิร์ฟเวอร์การจัดการและ UI ของ Edge เพื่อส่งอีเมลผ่านเซิร์ฟเวอร์ SMTP ภายนอกได้ หากใช้วิธีนี้ คุณต้องตรวจสอบว่าเซิร์ฟเวอร์การจัดการและ UI สามารถเข้าถึงพอร์ตที่จำเป็นในเซิร์ฟเวอร์ SMTP ได้ (ไม่ได้แสดง) สําหรับ SMTP ที่ไม่ใช่ TLS หมายเลขพอร์ตมักจะเป็น 25 สำหรับ SMTP ที่เปิดใช้ TLS มักจะเป็น 465 แต่โปรดตรวจสอบกับผู้ให้บริการ SMTP
ศูนย์ข้อมูลหลายแห่ง
หากคุณติดตั้งการกำหนดค่าคลัสเตอร์โหนด 12 ตัวที่มีศูนย์ข้อมูล 2 แห่ง ให้ตรวจสอบว่าโหนดในศูนย์ข้อมูล 2 แห่งสื่อสารผ่านพอร์ตที่แสดงด้านล่างได้
โปรดทราบว่า
- เซิร์ฟเวอร์การจัดการทั้งหมดต้องเข้าถึงโหนด Cassandra ทั้งหมดในศูนย์ข้อมูลอื่นๆ ทั้งหมดได้
- ผู้ประมวลผลข้อความทั้งหมดในศูนย์ข้อมูลทั้งหมดต้องเข้าถึงกันได้ผ่านพอร์ต 4528
- เซิร์ฟเวอร์การจัดการต้องเข้าถึงโปรแกรมประมวลผลข้อความทั้งหมดผ่านพอร์ต 8082 ได้
- เซิร์ฟเวอร์การจัดการและโหนด Qpid ทั้งหมดต้องเข้าถึง Postgres ในศูนย์ข้อมูลอื่นๆ ทั้งหมดได้
- เพื่อเหตุผลด้านความปลอดภัย คุณไม่ควรเปิดพอร์ตอื่นๆ ระหว่างศูนย์ข้อมูล นอกเหนือจากพอร์ตที่แสดงด้านบนและพอร์ตอื่นๆ ตามข้อกำหนดของเครือข่าย
การสื่อสารระหว่างคอมโพเนนต์จะไม่เข้ารหัสโดยค่าเริ่มต้น คุณสามารถเพิ่มการเข้ารหัสได้โดยการติดตั้ง mTLS ของ Apigee ดูข้อมูลเพิ่มเติมได้ที่ข้อมูลเบื้องต้นเกี่ยวกับ mTLS ของ Apigee
รายละเอียดพอร์ต
ตารางด้านล่างอธิบายพอร์ตที่ต้องเปิดในไฟร์วอลล์ตามองค์ประกอบ Edge
ส่วนประกอบ | พอร์ต | คำอธิบาย |
---|---|---|
พอร์ต HTTP มาตรฐาน | 80, 443 | HTTP และพอร์ตอื่นๆ ที่คุณใช้สำหรับโฮสต์เสมือน |
SSO ของ Apigee | 9099 | การเชื่อมต่อจาก IDP ภายนอก, เซิร์ฟเวอร์การจัดการ และเบราว์เซอร์สําหรับการตรวจสอบสิทธิ์ |
Cassandra | 7000, 9042 | พอร์ต Apache Cassandra สำหรับการสื่อสารระหว่างโหนด Cassandra และสำหรับการเข้าถึงโดยคอมโพเนนต์ Edge อื่นๆ |
7199 | พอร์ต JMX ต้องเปิดอยู่เพื่อให้เซิร์ฟเวอร์การจัดการเข้าถึงได้ | |
LDAP | 10389 | OpenLDAP |
เซิร์ฟเวอร์การจัดการ | 1099 | พอร์ต JMX |
4526 | พอร์ตสําหรับแคชแบบกระจายและการเรียกใช้การจัดการ พอร์ตนี้กําหนดค่าได้ | |
5636 | พอร์ตสําหรับการแจ้งเตือนการคอมมิตการสร้างรายได้ | |
8080 | พอร์ตสําหรับการเรียก API การจัดการ Edge คอมโพเนนต์เหล่านี้ต้องมีสิทธิ์เข้าถึงพอร์ต 8080 ในเซิร์ฟเวอร์การจัดการ ได้แก่ เราเตอร์, โปรแกรมประมวลผลข้อความ, UI, Postgres, Apigee SSO (หากเปิดใช้) และ Qpid | |
UI การจัดการ | 9000 | พอร์ตสําหรับการเข้าถึง UI การจัดการด้วยเบราว์เซอร์ |
Message Processor | 1101 | พอร์ต JMX |
4528 | สำหรับแคชแบบกระจายและการเรียกใช้การจัดการระหว่างโปรแกรมประมวลผลข้อความ และสำหรับการสื่อสารจากเราเตอร์และเซิร์ฟเวอร์การจัดการ
ตัวประมวลผลข้อความต้องเปิดพอร์ต 4528 เป็นพอร์ตการจัดการ หากคุณมี Message Processor หลายตัว อุปกรณ์ทั้งหมดต้องเข้าถึงกันได้ผ่านพอร์ต 4528 (ระบุโดยลูกศรวนในแผนภาพด้านบนสำหรับพอร์ต 4528 ใน Message Processor) หากคุณมีศูนย์ข้อมูลหลายแห่ง พอร์ตต้องเข้าถึงได้จากตัวประมวลผลข้อความทั้งหมดในศูนย์ข้อมูลทั้งหมด |
|
8082 |
พอร์ตการจัดการเริ่มต้นสำหรับโปรแกรมประมวลผลข้อความและต้องเปิดอยู่ในคอมโพเนนต์เพื่อให้เซิร์ฟเวอร์การจัดการเข้าถึงได้ หากคุณกำหนดค่า TLS/SSL ระหว่างเราเตอร์และโปรแกรมประมวลผลข้อความ โปรดใช้เราเตอร์เพื่อตรวจสอบสถานะโปรแกรมประมวลผลข้อความ พอร์ต 8082 ในโปรแกรมประมวลผลข้อความต้องเปิดอยู่เพื่อให้เราเตอร์เข้าถึงได้ก็ต่อเมื่อคุณกำหนดค่า TLS/SSL ระหว่างเราเตอร์กับโปรแกรมประมวลผลข้อความเท่านั้น หากคุณไม่ได้กำหนดค่า TLS/SSL ระหว่างเราเตอร์และโปรแกรมประมวลผลข้อความ พอร์ต 8082 ที่กำหนดค่าเริ่มต้นจะต้องเปิดอยู่ในโปรแกรมประมวลผลข้อความเพื่อจัดการคอมโพเนนต์ แต่เราเตอร์ไม่จำเป็นต้องเข้าถึงพอร์ตดังกล่าว |
|
8443 | เมื่อเปิดใช้ TLS ระหว่างเราเตอร์และโปรแกรมประมวลผลข้อความ คุณต้องเปิดพอร์ต 8443 ในโปรแกรมประมวลผลข้อความเพื่อให้เราเตอร์เข้าถึงได้ | |
8998 | พอร์ต Message Processor สำหรับการสื่อสารจากเราเตอร์ | |
Postgres | 22 | หากกำหนดค่าโหนด Postgres 2 โหนดให้ใช้การจำลองแบบมาสเตอร์สแตนด์บาย คุณต้องเปิดพอร์ต 22 ในโหนดแต่ละโหนดสำหรับการเข้าถึง SSH |
1103 | พอร์ต JMX | |
4530 | สําหรับแคชแบบกระจายและการเรียกใช้การจัดการ | |
5432 | ใช้สำหรับการสื่อสารจาก Qpid/เซิร์ฟเวอร์การจัดการไปยัง Postgres | |
8084 | พอร์ตการจัดการเริ่มต้นบนเซิร์ฟเวอร์ Postgres ต้องเปิดอยู่ในคอมโพเนนต์เพื่อให้เซิร์ฟเวอร์การจัดการเข้าถึงได้ | |
Qpid | 1102 | พอร์ต JMX |
4529 | สําหรับแคชแบบกระจายและการเรียกใช้การจัดการ | |
5672 |
ใช้สำหรับการสื่อสารระหว่างเซิร์ฟเวอร์ Qpid กับคอมโพเนนต์โบรกเกอร์บนโหนดเดียวกันด้วย ในโทโปโลยีที่มีโหนด Qpid หลายโหนด เซิร์ฟเวอร์ต้องเชื่อมต่อกับโบรกเกอร์ทั้งหมดในพอร์ต 5672 ได้ |
|
8083 | พอร์ตการจัดการเริ่มต้นในเซิร์ฟเวอร์ Qpid และต้องเปิดอยู่ในคอมโพเนนต์เพื่อให้เซิร์ฟเวอร์การจัดการเข้าถึงได้ | |
8090 | พอร์ตเริ่มต้นสำหรับโบรกเกอร์ของ Qpid ต้องเปิดอยู่เพื่อเข้าถึงคอนโซลการจัดการหรือ API การจัดการของโบรกเกอร์เพื่อวัตถุประสงค์ในการตรวจสอบ | |
เราเตอร์ | 4527 | สําหรับแคชแบบกระจายและการเรียกใช้การจัดการ
เราเตอร์ต้องเปิดพอร์ต 4527 เป็นพอร์ตการจัดการ หากมีเราเตอร์หลายตัว เราเตอร์ทั้งหมดต้องเข้าถึงกันได้ผ่านพอร์ต 4527 (ระบุด้วยลูกศรวนในแผนภาพด้านบนสำหรับพอร์ต 4527 ของเราเตอร์) แม้ว่าจะไม่จําเป็น แต่คุณสามารถเปิดพอร์ต 4527 บนเราเตอร์เพื่อให้โปรแกรมประมวลผลข้อความใดก็ได้เข้าถึง ไม่เช่นนั้นคุณอาจเห็นข้อความแสดงข้อผิดพลาดในไฟล์บันทึกของโปรแกรมประมวลผลข้อความ |
8081 | พอร์ตการจัดการเริ่มต้นสำหรับเราเตอร์และต้องเปิดอยู่ในคอมโพเนนต์เพื่อให้เซิร์ฟเวอร์การจัดการเข้าถึงได้ | |
15999 |
พอร์ตการตรวจสอบประสิทธิภาพการทำงาน ตัวจัดสรรภาระงานใช้พอร์ตนี้เพื่อระบุว่าเราเตอร์พร้อมใช้งานหรือไม่ หากต้องการดูสถานะของเราเตอร์ ตัวจัดสรรภาระงานจะส่งคำขอไปยังพอร์ต 15999 ของเราเตอร์ curl -v http://routerIP:15999/v1/servers/self/reachable หากเข้าถึงเราเตอร์ได้ คำขอจะแสดงผลเป็น HTTP 200 |
|
59001 | พอร์ตที่ใช้ทดสอบการติดตั้ง Edge โดยยูทิลิตี apigee-validate
ยูทิลิตีนี้ต้องใช้สิทธิ์เข้าถึงพอร์ต 59001 ในเราเตอร์ ดูข้อมูลเพิ่มเติมเกี่ยวกับพอร์ต 59001 ได้ที่หัวข้อทดสอบการติดตั้ง |
|
SmartDocs | 59002 | พอร์ตในเราเตอร์ Edge ที่ส่งคำขอหน้า SmartDocs |
ZooKeeper | 2181 | คอมโพเนนต์อื่นๆ เช่น เซิร์ฟเวอร์การจัดการ เราเตอร์ โปรแกรมประมวลผลข้อความ ฯลฯ จะใช้ |
2888, 3888 | ZooKeeper ใช้ภายในเพื่อการสื่อสารคลัสเตอร์ ZooKeeper (หรือที่เรียกว่า ZooKeeper Ensemble) |
ตารางถัดไปแสดงพอร์ตเดียวกันซึ่งแสดงเป็นตัวเลขพร้อมคอมโพเนนต์ต้นทางและปลายทาง
หมายเลขพอร์ต | วัตถุประสงค์ | คอมโพเนนต์ต้นทาง | คอมโพเนนต์ปลายทาง |
---|---|---|---|
virtual_host_port | HTTP และพอร์ตอื่นๆ ที่คุณใช้สำหรับการเข้าชมการเรียก API ของโฮสต์เสมือน พอร์ต 80 และ 443 ใช้กันมากที่สุด โดยเราเตอร์ข้อความจะสิ้นสุดการเชื่อมต่อ TLS/SSL ได้ | ไคลเอ็นต์ภายนอก (หรือตัวจัดสรรภาระงาน) | โปรแกรมฟังใน Message Router |
1099 ถึง 1103 | การจัดการ JMX | ไคลเอ็นต์ JMX | เซิร์ฟเวอร์การจัดการ (1099) โปรแกรมประมวลผลข้อความ (1101) เซิร์ฟเวอร์ Qpid (1102) เซิร์ฟเวอร์ Postgres (1103) |
2181 | การสื่อสารกับไคลเอ็นต์ Zookeeper | เซิร์ฟเวอร์การจัดการ เราเตอร์ โปรแกรมประมวลผลข้อความ เซิร์ฟเวอร์ Qpid เซิร์ฟเวอร์ Postgres |
Zookeeper |
2888 และ 3888 | การจัดการโหนดระยะไกลของ Zookeeper | Zookeeper | Zookeeper |
4526 | พอร์ตการจัดการ RPC | เซิร์ฟเวอร์การจัดการ | เซิร์ฟเวอร์การจัดการ |
4527 | พอร์ตการจัดการ RPC สำหรับแคชแบบกระจายและการเรียกใช้การจัดการ และสำหรับการสื่อสารระหว่างเราเตอร์ | เซิร์ฟเวอร์การจัดการ เราเตอร์ |
เราเตอร์ |
4528 | สําหรับการเรียกแคชแบบกระจายระหว่างโปรแกรมประมวลผลข้อความ และการสื่อสารจากเราเตอร์ | เซิร์ฟเวอร์การจัดการ เราเตอร์ โปรแกรมประมวลผลข้อความ |
Message Processor |
4529 | พอร์ตการจัดการ RPC สำหรับแคชแบบกระจายและการเรียกการจัดการ | เซิร์ฟเวอร์การจัดการ | เซิร์ฟเวอร์ Qpid |
4530 | พอร์ตการจัดการ RPC สำหรับแคชแบบกระจายและการเรียกการจัดการ | เซิร์ฟเวอร์การจัดการ | เซิร์ฟเวอร์ Postgres |
5432 | ไคลเอ็นต์ Postgres | เซิร์ฟเวอร์ Qpid | Postgres |
5636 | การสร้างรายได้ | คอมโพเนนต์ JMS ภายนอก | เซิร์ฟเวอร์การจัดการ |
5672 |
ใช้สำหรับการสื่อสารระหว่างเซิร์ฟเวอร์ Qpid กับคอมโพเนนต์โบรกเกอร์บนโหนดเดียวกันด้วย ในโทโปโลยีที่มีโหนด Qpid หลายโหนด เซิร์ฟเวอร์ต้องเชื่อมต่อกับโบรกเกอร์ทั้งหมดในพอร์ต 5672 ได้ |
เซิร์ฟเวอร์ Qpid | เซิร์ฟเวอร์ Qpid |
7000 | การสื่อสารระหว่างโหนดของ Cassandra | Cassandra | โหนด Cassandra อื่นๆ |
7199 | การจัดการ JMX ต้องเปิดการเข้าถึงในโหนด Cassandra โดยเซิร์ฟเวอร์การจัดการ | ไคลเอ็นต์ JMX | Cassandra |
8080 | พอร์ต Management API | ไคลเอ็นต์ Management API | เซิร์ฟเวอร์การจัดการ |
8081 ถึง 8084 |
พอร์ต API ของคอมโพเนนต์ ซึ่งใช้สำหรับส่งคําขอ API ไปยังคอมโพเนนต์แต่ละรายการโดยตรง คอมโพเนนต์แต่ละรายการจะเปิดพอร์ตอื่น พอร์ตที่แน่นอนที่ใช้จะขึ้นอยู่กับการกำหนดค่า แต่ต้องเปิดในคอมโพเนนต์เพื่อให้เซิร์ฟเวอร์การจัดการเข้าถึงได้ |
ไคลเอ็นต์ Management API | เราเตอร์ (8081) โปรแกรมประมวลผลข้อความ (8082) เซิร์ฟเวอร์ Qpid (8083) เซิร์ฟเวอร์ Postgres (8084) |
8090 | พอร์ตการจัดการเริ่มต้นสำหรับ Broker ของ Qpid เพื่อจัดการและตรวจสอบคิว | เบราว์เซอร์หรือไคลเอ็นต์ API | Qpid Broker (apigee-qpidd) |
8443 | การสื่อสารระหว่างเราเตอร์กับโปรแกรมประมวลผลข้อความเมื่อเปิดใช้ TLS | เราเตอร์ | Message Processor |
8998 | การสื่อสารระหว่างเราเตอร์กับ Message Processor | เราเตอร์ | Message Processor |
9000 | พอร์ต UI การจัดการ Edge เริ่มต้น | เบราว์เซอร์ | เซิร์ฟเวอร์ UI การจัดการ |
9042 | การรับส่งข้อมูล CQL โดยตรง | เราเตอร์ Message Processor เซิร์ฟเวอร์การจัดการ |
Cassandra |
9099 | การตรวจสอบสิทธิ์ IDP ภายนอก | IdP, เบราว์เซอร์ และเซิร์ฟเวอร์การจัดการ | SSO ของ Apigee |
10389 | พอร์ต LDAP | เซิร์ฟเวอร์การจัดการ | OpenLDAP |
15999 | พอร์ตการตรวจสอบประสิทธิภาพการทำงาน ตัวจัดสรรภาระงานใช้พอร์ตนี้เพื่อระบุว่าเราเตอร์พร้อมใช้งานหรือไม่ | ตัวจัดสรรภาระงาน | เราเตอร์ |
59001 | พอร์ตที่ยูทิลิตี apigee-validate ใช้เพื่อทดสอบการติดตั้ง Edge |
apigee-validate | เราเตอร์ |
59002 | พอร์ตเราเตอร์ที่ส่งคำขอหน้า SmartDocs | SmartDocs | เราเตอร์ |
ตัวประมวลผลข้อความจะเปิดพูลการเชื่อมต่อเฉพาะกับ Cassandra ไว้ ซึ่งได้รับการกําหนดค่าให้ไม่มีการหมดเวลา เมื่อไฟร์วอลล์อยู่ระหว่างโปรแกรมประมวลผลข้อความกับเซิร์ฟเวอร์ Cassandra ไฟร์วอลล์อาจทำให้การเชื่อมต่อหมดเวลา อย่างไรก็ตาม ตัวประมวลผลข้อความไม่ได้ออกแบบมาเพื่อสร้างการเชื่อมต่อกับ Cassandra อีกครั้ง
เพื่อหลีกเลี่ยงปัญหานี้ Apigee ขอแนะนำให้เซิร์ฟเวอร์ Cassandra, Message Processor และเราเตอร์อยู่ในซับเน็ตเดียวกันเพื่อไม่ให้ไฟร์วอลล์เข้ามาเกี่ยวข้องในการติดตั้งใช้งานคอมโพเนนต์เหล่านี้
หากมีไฟร์วอลล์อยู่ระหว่างเราเตอร์และโปรแกรมประมวลผลข้อความ และมีการตั้งค่าการหมดเวลา TCP ที่ไม่ได้ใช้งาน เราขอแนะนำให้ทำดังนี้
- ตั้งค่า
net.ipv4.tcp_keepalive_time = 1800
ในการตั้งค่า sysctl ในระบบปฏิบัติการ Linux โดยที่ 1800 ควรต่ำกว่าการหมดเวลา TCP ที่ไม่ได้ใช้งานของไฟร์วอลล์ การตั้งค่านี้ควรทำให้การเชื่อมต่ออยู่ในสถานะที่สร้างขึ้นเพื่อให้ไฟร์วอลล์ไม่ตัดการเชื่อมต่อ - ในโปรแกรมประมวลผลข้อความทั้งหมด ให้แก้ไข
/opt/apigee/customer/application/message-processor.properties
เพื่อเพิ่มพร็อพเพอร์ตี้ต่อไปนี้ หากไม่มีไฟล์ดังกล่าว ให้สร้างไฟล์conf_system_cassandra.maxconnecttimeinmillis=-1
- รีสตาร์ทโปรแกรมประมวลผลข้อความโดยทำดังนี้
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- ในเราเตอร์ทั้งหมด ให้แก้ไข
/opt/apigee/customer/application/router.properties
เพื่อเพิ่มพร็อพเพอร์ตี้ต่อไปนี้ หากไม่มีไฟล์ดังกล่าว ให้สร้างไฟล์conf_system_cassandra.maxconnecttimeinmillis=-1
- รีสตาร์ทเราเตอร์โดยทำดังนี้
/opt/apigee/apigee-service/bin/apigee-service edge-router restart