ความจำเป็นในการจัดการไฟร์วอลล์นั้นมีมากกว่าแค่โฮสต์เสมือน เพราะทั้ง VM และไฟร์วอลล์ของโฮสต์จริงต้องอนุญาตให้มีการรับส่งข้อมูลสำหรับพอร์ตที่คอมโพเนนต์ต้องการสื่อสารกันได้
แผนภาพพอร์ต
รูปภาพต่อไปนี้แสดงข้อกำหนดของพอร์ตสำหรับทั้งศูนย์ข้อมูลแห่งเดียวและการกำหนดค่าศูนย์ข้อมูลหลายแห่ง
ศูนย์ข้อมูลเดียว
รูปภาพต่อไปนี้แสดงข้อกำหนดของพอร์ตสำหรับคอมโพเนนต์ Edge แต่ละรายการในการกำหนดค่าศูนย์ข้อมูลเดียว
หมายเหตุเกี่ยวกับแผนภาพนี้
- พอร์ตที่ขึ้นต้นด้วย "M" คือพอร์ตที่ใช้จัดการคอมโพเนนต์ และต้องเปิดในคอมโพเนนต์เพื่อให้เซิร์ฟเวอร์การจัดการเข้าถึงได้
- Edge UI ต้องมีสิทธิ์เข้าถึงเราเตอร์บนพอร์ตที่พร็อกซี API แสดง เพื่อรองรับปุ่มส่งในเครื่องมือติดตาม
- คุณกำหนดค่าการเข้าถึงพอร์ต JMX ให้ต้องใช้ชื่อผู้ใช้/รหัสผ่านได้ ดูข้อมูลเพิ่มเติมในวิธีตรวจสอบ
- คุณเลือกกำหนดค่าการเข้าถึง TLS/SSL สำหรับการเชื่อมต่อบางอย่างได้ ซึ่งสามารถใช้พอร์ตที่แตกต่างกันได้ โปรดดู TLS/SSL สำหรับข้อมูลเพิ่มเติม
- คุณจะกำหนดค่า Management Server และ Edge UI เพื่อส่งอีเมลผ่านเซิร์ฟเวอร์ SMTP ภายนอกได้ หากทำเช่นนี้ คุณต้องตรวจสอบว่าเซิร์ฟเวอร์การจัดการและ UI เข้าถึงพอร์ตที่จำเป็นในเซิร์ฟเวอร์ SMTP ได้ (ไม่แสดง) สำหรับ SMTP ที่ไม่ใช่ TLS หมายเลขพอร์ตมักจะเป็น 25 สำหรับ SMTP ที่เปิดใช้ TLS มักจะเป็น 465 แต่โปรดตรวจสอบกับผู้ให้บริการ SMTP
ศูนย์ข้อมูลหลายแห่ง
หากคุณติดตั้งการกำหนดค่าคลัสเตอร์ 12 โหนดที่มีศูนย์ข้อมูล 2 แห่ง โปรดตรวจสอบว่าโหนดในศูนย์ข้อมูล 2 แห่งสื่อสารกันผ่านพอร์ตที่แสดงด้านล่าง
โปรดทราบว่า
- เซิร์ฟเวอร์การจัดการทั้งหมดต้องมีสิทธิ์เข้าถึงโหนด Cassandra ทั้งหมดในศูนย์ข้อมูลอื่นๆ ทั้งหมด
- ผู้ประมวลผลข้อความทั้งหมดในศูนย์ข้อมูลทั้งหมดต้องมีสิทธิ์เข้าถึงซึ่งกันและกันผ่านพอร์ต 4528
- เซิร์ฟเวอร์การจัดการต้องมีสิทธิ์เข้าถึง Message Processor ทั้งหมดผ่านพอร์ต 8082
- เซิร์ฟเวอร์การจัดการทั้งหมดและโหนด Qpid ทั้งหมดต้องเข้าถึง Postgres ในศูนย์ข้อมูลอื่นๆ ทั้งหมดได้
- เพื่อความปลอดภัย นอกเหนือจากพอร์ตที่แสดงข้างต้นและพอร์ตอื่นๆ ที่ข้อกำหนดของเครือข่ายของคุณเองกำหนดแล้ว ไม่ควรมีพอร์ตอื่นๆ ที่เปิดระหว่างศูนย์ข้อมูลอีก
โดยค่าเริ่มต้น การสื่อสารระหว่างคอมโพเนนต์จะไม่มีการเข้ารหัส คุณจะเพิ่มการเข้ารหัสได้โดยการติดตั้ง Apigee mTLS ดูข้อมูลเพิ่มเติมได้ที่ข้อมูลเบื้องต้นเกี่ยวกับ Apigee mTLS
รายละเอียดพอร์ต
ตารางด้านล่างอธิบายพอร์ตที่ต้องเปิดในไฟร์วอลล์โดยแบ่งตามคอมโพเนนต์ Edge
ส่วนประกอบ | พอร์ต | คำอธิบาย |
---|---|---|
พอร์ต HTTP มาตรฐาน | 80, 443 | HTTP และพอร์ตอื่นๆ ที่คุณใช้สำหรับโฮสต์เสมือน |
SSO ของ Apigee | 9099 | การเชื่อมต่อจาก IdP ภายนอก เซิร์ฟเวอร์การจัดการ และเบราว์เซอร์สำหรับการตรวจสอบสิทธิ์ |
Cassandra | 7000, 9042, 9160 | พอร์ต Apache Cassandra สำหรับการสื่อสารระหว่างโหนด Cassandra และสำหรับการเข้าถึงโดยคอมโพเนนต์ Edge อื่นๆ |
7199 | พอร์ต JMX ต้องเปิดเพื่อเข้าถึงโดยเซิร์ฟเวอร์การจัดการ | |
LDAP | 10389 | OpenLDAP |
เซิร์ฟเวอร์การจัดการ | 1,099 | พอร์ต JMX |
4526 | พอร์ตสำหรับแคชแบบกระจายและการเรียกใช้การจัดการ พอร์ตนี้กำหนดค่าได้ | |
5636 | พอร์ตสำหรับการแจ้งเตือนการคอมมิตการสร้างรายได้ | |
8080 | พอร์ตสำหรับการเรียก Edge Management API คอมโพเนนต์เหล่านี้ต้องมีสิทธิ์เข้าถึงพอร์ต 8080 ในเซิร์ฟเวอร์การจัดการ ได้แก่ Router, Message Processor, UI, Postgres, Apigee SSO (หากเปิดใช้) และ Qpid | |
UI การจัดการ | 9,000 | พอร์ตสำหรับการเข้าถึง UI การจัดการของเบราว์เซอร์ |
Message Processor | 1101 | พอร์ต JMX |
4528 | สำหรับแคชแบบกระจายและการเรียกใช้การจัดการระหว่างตัวประมวลผลข้อความ และสำหรับการสื่อสารจากเราเตอร์และเซิร์ฟเวอร์การจัดการ
ผู้ประมวลผลข้อความต้องเปิดพอร์ต 4528 เป็นพอร์ตการจัดการ หากคุณมี Message Processor หลายตัว โปรแกรมทั้งหมดจะต้องเข้าถึงได้ผ่านพอร์ต 4528 (ซึ่งระบุด้วยลูกศรวนซ้ำในแผนภาพด้านบนสำหรับพอร์ต 4528 ในตัวประมวลผลข้อความ) หากคุณมีศูนย์ข้อมูลหลายแห่ง พอร์ตต้องเข้าถึงได้จากผู้ประมวลผลข้อความทุกรายในศูนย์ข้อมูลทุกแห่ง |
|
8082 |
พอร์ตการจัดการเริ่มต้นสำหรับเครื่องมือประมวลผลข้อความ และต้องเปิดในคอมโพเนนต์เพื่อให้เซิร์ฟเวอร์การจัดการเข้าถึงได้ หากคุณกำหนดค่า TLS/SSL ระหว่างเราเตอร์และผู้ประมวลผลข้อความที่เราเตอร์จะใช้เพื่อตรวจสอบประสิทธิภาพการทำงานของผู้ประมวลผลข้อความ พอร์ต 8082 บนตัวประมวลผลข้อความจะต้องเปิดเพื่อการเข้าถึงโดยเราเตอร์เท่านั้นเมื่อคุณกำหนดค่า TLS/SSL ระหว่างเราเตอร์และผู้ประมวลผลข้อความ หากคุณไม่กำหนดค่า TLS/SSL ระหว่างเราเตอร์และผู้ประมวลผลข้อความ พอร์ต 8082 จะยังคงต้องเปิดการกำหนดค่าเริ่มต้นบนตัวประมวลผลข้อความเพื่อจัดการคอมโพเนนต์ แต่เราเตอร์ไม่จำเป็นต้องเข้าถึงการกำหนดค่าดังกล่าว |
|
8443 | เมื่อเปิดใช้ TLS ระหว่างเราเตอร์และผู้ประมวลผลข้อความ คุณต้องเปิดพอร์ต 8443 บนตัวประมวลผลข้อความเพื่อเข้าถึงโดยเราเตอร์ | |
8,998 | พอร์ตตัวประมวลผลข้อความสำหรับการสื่อสารจากเราเตอร์ | |
Postgres | 22 | หากกำหนดค่าโหนด Postgres 2 รายการเพื่อใช้การจำลองต้นฉบับสแตนด์บาย คุณต้องเปิดพอร์ต 22 ในแต่ละโหนดเพื่อเข้าถึง SSH |
1,103 | พอร์ต JMX | |
4530 | สำหรับแคชที่กระจายและการเรียกใช้การจัดการ | |
5432 | ใช้สำหรับการสื่อสารจาก Qpid/เซิร์ฟเวอร์การจัดการไปยัง Postgres | |
8084 | พอร์ตการจัดการเริ่มต้นในเซิร์ฟเวอร์ Postgres ต้องเปิดในคอมโพเนนต์เพื่อให้เซิร์ฟเวอร์การจัดการเข้าถึงได้ | |
Qpid | 1,102 | พอร์ต JMX |
4529 | สำหรับแคชที่กระจายและการเรียกใช้การจัดการ | |
5672 |
และใช้สำหรับการสื่อสารระหว่างเซิร์ฟเวอร์ Qpid และคอมโพเนนต์โบรกเกอร์ในโหนดเดียวกันด้วย ในโทโพโลยีที่มีโหนด Qpid หลายโหนด เซิร์ฟเวอร์ต้องเชื่อมต่อกับโบรกเกอร์ทั้งหมดในพอร์ต 5672 |
|
8083 | พอร์ตการจัดการเริ่มต้นบนเซิร์ฟเวอร์ Qpid และต้องเปิดในคอมโพเนนต์เพื่อให้เซิร์ฟเวอร์การจัดการเข้าถึงได้ | |
8090 | พอร์ตเริ่มต้นสำหรับโบรกเกอร์ของ Qpid ต้องเปิดเพื่อเข้าถึงคอนโซลการจัดการหรือ API การจัดการของโบรกเกอร์เพื่อวัตถุประสงค์ในการตรวจสอบ | |
เราเตอร์ | 4527 | สำหรับแคชแบบกระจายและการเรียกใช้การจัดการ
เราเตอร์ต้องเปิดพอร์ต 4527 เป็นพอร์ตการจัดการ หากคุณมีเราเตอร์หลายตัว เราเตอร์ทั้งหมดต้องเข้าถึงได้ซึ่งกันและกันผ่านพอร์ต 4527 (ระบุด้วยลูกศรลูปในแผนภาพด้านบนสำหรับพอร์ต 4527 บนเราเตอร์) แม้จะไม่จำเป็น คุณสามารถเปิดพอร์ต 4527 บนเราเตอร์เพื่อเข้าถึงโดยผู้ประมวลผลข้อความใดก็ได้ มิฉะนั้นคุณอาจเห็นข้อความแสดงข้อผิดพลาดในไฟล์บันทึกของผู้ประมวลผลข้อความ |
8081 | พอร์ตการจัดการเริ่มต้นสำหรับเราเตอร์ และต้องเปิดในคอมโพเนนต์เพื่อให้เซิร์ฟเวอร์การจัดการเข้าถึงได้ | |
15,999 |
พอร์ตการตรวจสอบประสิทธิภาพการทำงาน ตัวจัดสรรภาระงานใช้พอร์ตนี้เพื่อระบุว่าเราเตอร์พร้อมใช้งานหรือไม่ หากต้องการทราบสถานะของเราเตอร์ ตัวจัดสรรภาระงานจะส่งคำขอไปยังพอร์ต 15999 บนเราเตอร์ โดยทำดังนี้ curl -v http://routerIP:15999/v1/servers/self/reachable หากเราเตอร์เข้าถึงได้ คำขอจะแสดงผล HTTP 200 |
|
59001 | พอร์ตที่ใช้สำหรับการทดสอบการติดตั้ง Edge โดยยูทิลิตี apigee-validate
ยูทิลิตีนี้ต้องมีสิทธิ์เข้าถึงพอร์ต 59001 บนเราเตอร์ โปรดดูที่ทดสอบการติดตั้งสำหรับข้อมูลเพิ่มเติมเกี่ยวกับพอร์ต 59001 |
|
SmartDocs | 59002 | พอร์ตบนเราเตอร์ Edge ที่ส่งคำขอหน้า SmartDocuments |
ZooKeeper | 2181 | ใช้โดยองค์ประกอบอื่นๆ เช่น เซิร์ฟเวอร์การจัดการ เราเตอร์ ผู้ประมวลผลข้อความ และอื่นๆ |
2888, 3888 | ใช้ภายในโดยคลัสเตอร์ ZooKeeper for ZooKeeper (หรือที่เรียกว่าชุด ZooKeeper) |
ตารางถัดไปแสดงพอร์ตเดียวกันเป็นตัวเลข พร้อมคอมโพเนนต์ต้นทางและปลายทางดังนี้
หมายเลขพอร์ต | วัตถุประสงค์ | คอมโพเนนต์ต้นทาง | คอมโพเนนต์ปลายทาง |
---|---|---|---|
virtual_host_port | HTTP รวมพอร์ตอื่นๆ ที่คุณใช้สำหรับการรับส่งการเรียก API ของโฮสต์เสมือน พอร์ต 80 และ 443 มีการใช้โดยทั่วไปมากที่สุด เราเตอร์ข้อความอาจสิ้นสุดการเชื่อมต่อ TLS/SSL | ไคลเอ็นต์ภายนอก (หรือการจัดสรรภาระงาน) | Listener บนเราเตอร์ข้อความ |
1099 ถึง 1103 | การจัดการ JMX | ไคลเอ็นต์ JMX | Management Server (1099) ผู้ประมวลผลข้อความ (1101) Qpid Server (1102) Postgres Server (1103) |
2181 | การสื่อสารกับลูกค้าจาก Zookeeper | เซิร์ฟเวอร์การจัดการ เราเตอร์ ผู้ประมวลผลข้อความ เซิร์ฟเวอร์ Qpid เซิร์ฟเวอร์ Postgres |
ผู้ดูแลสวนสัตว์ |
2888 และ 3888 | การจัดการอินเตอร์โนดสำหรับผู้ดูแลสวนสัตว์ | ผู้ดูแลสวนสัตว์ | ผู้ดูแลสวนสัตว์ |
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 | ไคลเอ็นต์ API การจัดการ | เซิร์ฟเวอร์การจัดการ |
8081 ถึง 8084 |
พอร์ต API คอมโพเนนต์ที่ใช้สำหรับการส่งคำขอ API ไปยังแต่ละคอมโพเนนต์โดยตรง คอมโพเนนต์แต่ละรายการจะเปิดพอร์ตที่ต่างกัน พอร์ตที่ใช้จะขึ้นอยู่กับการกำหนดค่า แต่ต้องเปิดในคอมโพเนนต์เพื่อให้เซิร์ฟเวอร์การจัดการเข้าถึงได้ |
ไคลเอ็นต์ API การจัดการ | เราเตอร์ (8081) ตัวประมวลผลข้อความ (8082) เซิร์ฟเวอร์ Qpid (8083) เซิร์ฟเวอร์ Postgres (8084) |
8090 | พอร์ตการจัดการเริ่มต้นสำหรับโบรกเกอร์ของ Qpid เพื่อจัดการและตรวจสอบคิว | เบราว์เซอร์หรือไคลเอ็นต์ API | Qpid Broker (apigee-qpidd) |
8443 | การสื่อสารระหว่างเราเตอร์และเครื่องมือประมวลผลข้อความเมื่อเปิดใช้ TLS | เราเตอร์ | Message Processor |
8998 | การสื่อสารระหว่างเราเตอร์และผู้ประมวลผลข้อความ | เราเตอร์ | Message Processor |
9000 | พอร์ต UI การจัดการ Edge เริ่มต้น | เบราว์เซอร์ | เซิร์ฟเวอร์ UI การจัดการ |
9042 | การขนส่งต้นทาง CQL | เราเตอร์ ตัวประมวลผลข้อความ เซิร์ฟเวอร์การจัดการ |
Cassandra |
9099 | การตรวจสอบสิทธิ์ IdP ภายนอก | IdP, เบราว์เซอร์ และเซิร์ฟเวอร์การจัดการ | SSO ของ Apigee |
9160 | ไคลเอ็นต์ Cassandra Thrift | เราเตอร์ ตัวประมวลผลข้อความ เซิร์ฟเวอร์การจัดการ |
Cassandra |
10389 | พอร์ต LDAP | เซิร์ฟเวอร์การจัดการ | OpenLDAP |
15999 | พอร์ตการตรวจสอบประสิทธิภาพการทำงาน ตัวจัดสรรภาระงานใช้พอร์ตนี้เพื่อระบุว่าเราเตอร์พร้อมใช้งานหรือไม่ | ตัวจัดสรรภาระงาน | เราเตอร์ |
59001 | พอร์ตที่ยูทิลิตี apigee-validate ใช้เพื่อทดสอบการติดตั้ง Edge |
apigee-validate | เราเตอร์ |
59002 | พอร์ตเราเตอร์ที่ส่งคำขอหน้า SmartDocument | SmartDocs | เราเตอร์ |
ผู้ประมวลผลข้อความจะเปิดพูลการเชื่อมต่อเฉพาะให้กับ Cassandra ซึ่งกำหนดค่าให้ไม่มีระยะหมดเวลา เมื่อไฟร์วอลล์อยู่ระหว่างตัวประมวลผลข้อความกับเซิร์ฟเวอร์ Cassandra ไฟร์วอลล์อาจหมดเวลาการเชื่อมต่อ อย่างไรก็ตาม ตัวประมวลผลข้อความไม่ได้ออกแบบมาให้เชื่อมต่อไปยัง Cassandra อีกครั้ง
เพื่อป้องกันไม่ให้เกิดเหตุการณ์นี้ Apigee ขอแนะนําให้เซิร์ฟเวอร์ Cassandra, ผู้ประมวลผลข้อมูลข้อความ และเราเตอร์อยู่ในซับเน็ตเดียวกัน เพื่อให้ไฟร์วอลล์ไม่เกี่ยวข้องกับการติดตั้งใช้งานคอมโพเนนต์เหล่านี้
หากไฟร์วอลล์อยู่ระหว่างเราเตอร์กับตัวประมวลผลข้อความและได้ตั้งค่าระยะหมดเวลา 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