Việc quản lý tường lửa không chỉ dành cho máy chủ ảo; cả tường lửa máy ảo và máy chủ thực phải cho phép lưu lượng truy cập cho các cổng mà các thành phần cần để giao tiếp với nhau.
Sơ đồ cổng
Các hình ảnh sau đây cho thấy các yêu cầu về cổng cho cả một cấu hình trung tâm dữ liệu và nhiều cấu hình trung tâm dữ liệu:
Một trung tâm dữ liệu
Hình ảnh sau đây cho thấy các yêu cầu về cổng cho từng thành phần Edge trong một cấu hình trung tâm dữ liệu:
Lưu ý về sơ đồ này:
- Các cổng có tiền tố "M" là các cổng dùng để quản lý thành phần và phải được mở trên thành phần để Máy chủ quản lý truy cập.
- Giao diện người dùng Edge yêu cầu quyền truy cập vào Bộ định tuyến, trên các cổng do proxy API hiển thị, để hỗ trợ nút Send (Gửi) trong công cụ theo dõi.
- Bạn có thể định cấu hình quyền truy cập vào cổng JMX để yêu cầu tên người dùng/mật khẩu. Hãy xem phần Cách theo dõi để biết thêm thông tin.
- Bạn có thể tuỳ ý định cấu hình quyền truy cập TLS/SSL cho một số kết nối nhất định. Các kết nối này có thể sử dụng nhiều cổng. Hãy xem phần TLS/SSL để biết thêm thông tin.
- Bạn có thể định cấu hình Máy chủ quản lý và giao diện người dùng Edge để gửi email thông qua một máy chủ SMTP bên ngoài. Nếu có, bạn phải đảm bảo rằng Máy chủ quản lý và giao diện người dùng có thể truy cập vào cổng cần thiết trên máy chủ SMTP (không hiển thị). Đối với SMTP không phải TLS, số cổng thường là 25. Đối với SMTP hỗ trợ TLS, cổng thường là 465, nhưng hãy kiểm tra với nhà cung cấp SMTP của bạn.
Nhiều trung tâm dữ liệu
Nếu bạn cài đặt cấu hình cụm 12 nút với hai trung tâm dữ liệu, hãy đảm bảo rằng các nút trong hai trung tâm dữ liệu có thể giao tiếp qua các cổng hiển thị bên dưới:
Lưu ý:
- Tất cả Máy chủ quản lý phải có thể truy cập vào tất cả nút Cassandra trong tất cả các trung tâm dữ liệu khác.
- Tất cả Trình xử lý thông báo trong tất cả các trung tâm dữ liệu đều phải có thể truy cập lẫn nhau qua cổng 4528.
- Máy chủ quản lý phải có thể truy cập vào tất cả Trình xử lý thông báo qua cổng 8082.
- Tất cả Máy chủ quản lý và tất cả nút Qpid phải có thể truy cập vào Postgres trong tất cả các trung tâm dữ liệu khác.
- Vì lý do bảo mật, ngoài các cổng hiển thị ở trên và mọi cổng khác theo yêu cầu của mạng của riêng bạn, không được mở cổng nào khác giữa các trung tâm dữ liệu.
Theo mặc định, thông tin liên lạc giữa các thành phần không được mã hoá. Bạn có thể thêm lớp mã hoá bằng cách cài đặt Apigee mTLS. Để biết thêm thông tin, hãy xem phần Giới thiệu về Apigee mTLS.
Thông tin chi tiết về cổng
Bảng dưới đây mô tả các cổng cần mở trong tường lửa, theo thành phần Edge:
Thành phần | Cổng | Mô tả |
---|---|---|
Cổng HTTP tiêu chuẩn | 80, 443 | HTTP cùng với mọi cổng khác mà bạn sử dụng cho máy chủ ảo |
Apigee SSO | 9099 | Các kết nối từ IDP bên ngoài, Máy chủ quản lý và trình duyệt để xác thực. |
Cassandra | 7000, 9042 | Cổng Apache Cassandra để giao tiếp giữa các nút Cassandra và để các thành phần Edge khác truy cập. |
7199 | Cổng JMX. Phải mở để Máy chủ quản lý truy cập. | |
LDAP | 10389 | OpenLDAP |
Máy chủ quản lý | 1099 | Cổng JMX |
4526 | Cổng cho bộ nhớ đệm phân tán và các lệnh gọi quản lý. Bạn có thể định cấu hình cổng này. | |
5636 | Cổng cho thông báo về các thay đổi liên quan đến việc kiếm tiền. | |
8080 | Cổng cho các lệnh gọi API quản lý Edge. Các thành phần này yêu cầu quyền truy cập vào cổng 8080 trên Máy chủ quản lý: Bộ định tuyến, Trình xử lý thông báo, Giao diện người dùng, Postgres, Apigee SSO (nếu được bật) và Qpid. | |
Giao diện người dùng quản lý | 9000 | Cổng để trình duyệt truy cập vào giao diện người dùng quản lý |
Trình xử lý thông báo | 1101 | Cổng JMX |
4528 | Đối với bộ nhớ đệm phân tán và các lệnh gọi quản lý giữa Trình xử lý thông báo, cũng như để giao tiếp từ Bộ định tuyến và Máy chủ quản lý.
Trình xử lý thông báo phải mở cổng 4528 làm cổng quản lý. Nếu bạn có nhiều Bộ xử lý thông báo, thì tất cả các bộ xử lý đó phải có thể truy cập lẫn nhau qua cổng 4528 (được biểu thị bằng mũi tên vòng lặp trong sơ đồ ở trên cho cổng 4528 trên Bộ xử lý thông báo). Nếu bạn có nhiều trung tâm dữ liệu, thì tất cả Trình xử lý thông báo trong tất cả trung tâm dữ liệu đều phải truy cập được vào cổng này. |
|
8082 |
Cổng quản lý mặc định cho Trình xử lý thông báo và phải được mở trên thành phần để máy chủ quản lý truy cập. Nếu bạn định cấu hình TLS/SSL giữa Trình định tuyến và Trình xử lý thông báo, Trình định tuyến sẽ sử dụng giao thức này để kiểm tra tình trạng của Trình xử lý thông báo. Cổng 8082 trên Trình xử lý thông báo chỉ cần mở để Bộ định tuyến truy cập khi bạn định cấu hình TLS/SSL giữa Bộ định tuyến và Trình xử lý thông báo. Nếu bạn không định cấu hình TLS/SSL giữa Trình định tuyến và Trình xử lý thông báo, thì cấu hình mặc định, cổng 8082 vẫn phải mở trên Trình xử lý thông báo để quản lý thành phần, nhưng Trình định tuyến không yêu cầu quyền truy cập vào cổng này. |
|
8443 | Khi bật TLS giữa Bộ định tuyến và Trình xử lý thông báo, bạn phải mở cổng 8443 trên Trình xử lý thông báo để Bộ định tuyến truy cập. | |
8998 | Cổng Bộ xử lý thông báo để giao tiếp từ Bộ định tuyến | |
Postgres | 22 | Nếu định cấu hình hai nút Postgres để sử dụng tính năng sao chép chính-chờ, bạn phải mở cổng 22 trên mỗi nút để truy cập SSH. |
1103 | Cổng JMX | |
4530 | Đối với bộ nhớ đệm phân tán và các lệnh gọi quản lý | |
5432 | Dùng để giao tiếp từ Qpid/Máy chủ quản lý đến Postgres | |
8084 | Cổng quản lý mặc định trên máy chủ Postgres; phải mở trên thành phần để Máy chủ quản lý truy cập. | |
Qpid | 1102 | Cổng JMX |
4529 | Đối với bộ nhớ đệm phân tán và các lệnh gọi quản lý | |
5672 |
Cũng được dùng để giao tiếp giữa máy chủ Qpid và các thành phần dàn xếp trên cùng một nút. Trong các cấu trúc có nhiều nút Qpid, máy chủ phải có thể kết nối với tất cả các trình dàn xếp trên cổng 5672. |
|
8083 | Cổng quản lý mặc định trên máy chủ Qpid và phải mở trên thành phần để máy chủ quản lý truy cập. | |
8090 | Cổng mặc định cho Broker của Qpid; phải mở để truy cập vào bảng điều khiển quản lý hoặc API quản lý của Broker cho mục đích giám sát. | |
Bộ định tuyến | 4527 | Đối với các lệnh gọi quản lý và bộ nhớ đệm phân tán.
Bộ định tuyến phải mở cổng 4527 làm cổng quản lý. Nếu bạn có nhiều Trình định tuyến, thì tất cả các Trình định tuyến đó phải có thể truy cập lẫn nhau qua cổng 4527 (được biểu thị bằng mũi tên vòng lặp trong sơ đồ ở trên cho cổng 4527 trên Trình định tuyến). Mặc dù không bắt buộc, nhưng bạn có thể mở cổng 4527 trên Bộ định tuyến để bất kỳ Trình xử lý thông báo nào truy cập. Nếu không, bạn có thể thấy thông báo lỗi trong các tệp nhật ký của Trình xử lý thông báo. |
8081 | Cổng quản lý mặc định cho Bộ định tuyến và phải được mở trên thành phần để Máy chủ quản lý truy cập. | |
15999 |
Cổng kiểm tra tình trạng. Trình cân bằng tải sử dụng cổng này để xác định xem có thể sử dụng Bộ định tuyến hay không. Để biết trạng thái của Bộ định tuyến, bộ cân bằng tải sẽ gửi yêu cầu đến cổng 15999 trên Bộ định tuyến: curl -v http://routerIP:15999/v1/servers/self/reachable Nếu có thể kết nối với Bộ định tuyến, yêu cầu sẽ trả về HTTP 200. |
|
59001 | Cổng dùng để kiểm thử quá trình cài đặt Edge bằng tiện ích apigee-validate .
Tiện ích này yêu cầu quyền truy cập vào cổng 59001 trên Bộ định tuyến. Hãy xem phần Kiểm thử quá trình cài đặt để biết thêm thông tin về cổng 59001. |
|
SmartDocs | 59002 | Cổng trên bộ định tuyến Edge nơi gửi các yêu cầu trang SmartDocs. |
ZooKeeper | 2181 | Được các thành phần khác sử dụng như Máy chủ quản lý, Bộ định tuyến, Trình xử lý thông báo, v.v. |
2888, 3888 | Được ZooKeeper sử dụng nội bộ cho cụm ZooKeeper (còn gọi là nhóm ZooKeeper) để giao tiếp |
Bảng tiếp theo cho thấy cùng các cổng, được liệt kê theo thứ tự số, với các thành phần nguồn và đích:
Số cổng | Mục đích | Thành phần nguồn | Thành phần đích |
---|---|---|---|
virtual_host_port | HTTP cùng với mọi cổng khác mà bạn sử dụng cho lưu lượng truy cập lệnh gọi API của máy chủ ảo. Cổng 80 và 443 là cổng thường dùng nhất; Trình định tuyến thông báo có thể chấm dứt các kết nối TLS/SSL. | Ứng dụng bên ngoài (hoặc trình cân bằng tải) | Trình nghe trên Trình định tuyến thư |
1099 đến 1103 | Quản lý JMX | Ứng dụng JMX | Máy chủ quản lý (1099) Trình xử lý thông báo (1101) Máy chủ Qpid (1102) Máy chủ Postgres (1103) |
2181 | Giao tiếp ứng dụng Zookeeper | Máy chủ quản lý Trình định tuyến Trình xử lý thông báo Máy chủ Qpid Máy chủ Postgres |
Zookeeper |
2888 và 3888 | Quản lý liên nút Zookeeper | Zookeeper | Zookeeper |
4526 | Cổng Quản lý RPC | Máy chủ quản lý | Máy chủ quản lý |
4527 | Cổng Quản lý RPC cho bộ nhớ đệm phân tán và các lệnh gọi quản lý, cũng như để giao tiếp giữa các Trình định tuyến | Máy chủ quản lý Trình định tuyến |
Bộ định tuyến |
4528 | Đối với các lệnh gọi bộ nhớ đệm phân tán giữa Trình xử lý thông báo và để giao tiếp từ Trình định tuyến | Máy chủ quản lý Bộ định tuyến Bộ xử lý thông báo |
Trình xử lý thông báo |
4529 | Cổng Quản lý RPC cho các lệnh gọi quản lý và bộ nhớ đệm phân tán | Máy chủ quản lý | Máy chủ Qpid |
4530 | Cổng Quản lý RPC cho bộ nhớ đệm phân tán và các lệnh gọi quản lý | Máy chủ quản lý | Máy chủ Postgres |
5432 | Ứng dụng Postgres | Máy chủ Qpid | Postgres |
5636 | Kiếm tiền | Thành phần JMS bên ngoài | Máy chủ quản lý |
5672 |
Cũng được dùng để giao tiếp giữa máy chủ Qpid và các thành phần dàn xếp trên cùng một nút. Trong các cấu trúc có nhiều nút Qpid, máy chủ phải có thể kết nối với tất cả các trình dàn xếp trên cổng 5672. |
Máy chủ Qpid | Máy chủ Qpid |
7000 | Giao tiếp giữa các nút Cassandra | Cassandra | Nút Cassandra khác |
7199 | Quản lý JMX. Phải được mở để truy cập trên nút Cassandra của Máy chủ quản lý. | Ứng dụng JMX | Cassandra |
8080 | Cổng API quản lý | Ứng dụng API quản lý | Máy chủ quản lý |
8081 đến 8084 |
Cổng API thành phần, dùng để đưa ra yêu cầu API trực tiếp cho từng thành phần. Mỗi thành phần mở một cổng khác nhau; cổng chính xác được sử dụng tuỳ thuộc vào cấu hình nhưng phải mở trên thành phần để Máy chủ quản lý truy cập |
Ứng dụng API quản lý | Trình định tuyến (8081) Trình xử lý thông báo (8082) Máy chủ Qpid (8083) Máy chủ Postgres (8084) |
8090 | Cổng quản lý mặc định cho Broker của Qpid để quản lý và giám sát hàng đợi. | Trình duyệt hoặc ứng dụng API | Trình môi giới Qpid (apigee-qpidd) |
8443 | Giao tiếp giữa Bộ định tuyến và Trình xử lý thông báo khi TLS được bật | Bộ định tuyến | Trình xử lý thông báo |
8998 | Giao tiếp giữa Trình định tuyến và Trình xử lý thông báo | Bộ định tuyến | Trình xử lý thông báo |
9000 | Cổng giao diện người dùng quản lý Edge mặc định | Trình duyệt | Máy chủ giao diện người dùng quản lý |
9042 | Chuyển tải gốc CQL | Bộ định tuyến Bộ xử lý thông báo Máy chủ quản lý |
Cassandra |
9099 | Xác thực IDP bên ngoài | IDP, trình duyệt và Máy chủ quản lý | Apigee SSO |
10389 | Cổng LDAP | Máy chủ quản lý | OpenLDAP |
15999 | Cổng kiểm tra tình trạng. Trình cân bằng tải sử dụng cổng này để xác định xem có thể sử dụng Bộ định tuyến hay không. | Trình cân bằng tải | Bộ định tuyến |
59001 | Cổng mà tiện ích apigee-validate sử dụng để kiểm thử quá trình cài đặt Edge |
apigee-validate | Bộ định tuyến |
59002 | Cổng bộ định tuyến nơi gửi các yêu cầu trang SmartDocs | SmartDocs | Bộ định tuyến |
Trình xử lý thông báo sẽ giữ cho một nhóm kết nối chuyên dụng luôn mở với Cassandra. Nhóm kết nối này được định cấu hình để không bao giờ hết thời gian chờ. Khi tường lửa nằm giữa Trình xử lý thông báo và máy chủ Cassandra, tường lửa có thể hết thời gian chờ kết nối. Tuy nhiên, Trình xử lý thông báo không được thiết kế để thiết lập lại kết nối với Cassandra.
Để ngăn chặn trường hợp này, Apigee đề xuất rằng máy chủ Cassandra, Trình xử lý thông báo và Bộ định tuyến phải nằm trong cùng một mạng con để tường lửa không tham gia vào việc triển khai các thành phần này.
Nếu tường lửa nằm giữa Bộ định tuyến và Bộ xử lý thông báo và đã đặt thời gian chờ TCP ở trạng thái rảnh, bạn nên làm như sau:
- Đặt
net.ipv4.tcp_keepalive_time = 1800
trong phần cài đặt sysctl trên hệ điều hành Linux, trong đó 1800 phải thấp hơn thời gian chờ tcp ở trạng thái rảnh của tường lửa. Chế độ cài đặt này sẽ giữ cho kết nối ở trạng thái đã thiết lập để tường lửa không ngắt kết nối. - Trên tất cả Trình xử lý thông báo, hãy chỉnh sửa
/opt/apigee/customer/application/message-processor.properties
để thêm thuộc tính sau. Nếu tệp không tồn tại, hãy tạo tệp đó.conf_system_cassandra.maxconnecttimeinmillis=-1
- Khởi động lại Trình xử lý thông báo:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Trên tất cả các Trình định tuyến, hãy chỉnh sửa
/opt/apigee/customer/application/router.properties
để thêm thuộc tính sau. Nếu tệp không tồn tại, hãy tạo tệp đó.conf_system_cassandra.maxconnecttimeinmillis=-1
- Khởi động lại bộ định tuyến:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart