Yêu cầu về cổng

Nhu cầu quản lý tường lửa không chỉ giới hạn ở máy chủ ảo; cả tường lửa máy ảo và máy chủ vật lý đều phải cho phép lưu lượng truy cập đối với các cổng mà các thành phần yêu cầu để 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 đối với cả cấu hình một trung tâm dữ liệu và nhiều 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:

Yêu cầu về cổng cho từng thành phần Edge trong cấu hình một 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ý có thể truy cập.
  • Giao diện người dùng New Edge cần có 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 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ể định cấu hình quyền truy cập TLS/SSL cho một số kết nối nhất định, có thể sử dụng các cổng khác nhau. Xem 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 mới để gửi email thông qua một SMTP bên ngoài máy chủ. 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 Edge mới 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 này 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 theo 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 dưới đây:

Yêu cầu về cổng cho từng nút trong cấu hình cụm gồm 12 nút

Xin lưu ý rằng:

  • Tất cả Máy chủ quản lý phải có thể truy cập vào tất cả cá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 vào nhau qua cổng 4528.
  • Máy chủ quản lý phải có thể truy cập vào tất cả Bộ 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 nêu trên và mọi cổng khác mà yêu cầu mạng của bạn cần, không có cổng nào khác được mở giữa các trung tâm dữ liệu.

Theo mặc định, hoạt động giao tiếp 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ề mTLS của Apigee.

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 và mọi cổng khác mà bạn sử dụng cho máy chủ ảo
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ý có thể truy cập.
Giao diện người dùng mới của Edge 3001 Cổng mặc định để trình duyệt truy cập vào Giao diện người dùng Edge mới (edge-management-ui)
LDAP 10389 SymasLDAP
Máy chủ quản lý 1099 Cổng JMX
4526 Cổng cho các lệnh gọi quản lý và bộ nhớ đệm phân tán. Bạn có thể định cấu hình cổng này.
5636 Cổng cho thông báo cam kết 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 cần có quyền truy cập vào cổng 8080 trên Máy chủ quản lý: Bộ định tuyến, Bộ xử lý thông báo, Giao diện người dùng Edge mới, Postgres, và Qpid.
Bộ xử lý thông báo 1101 Cổng JMX
4528 Đối với các lệnh gọi quản lý và bộ nhớ đệm phân tán giữa các Trình xử lý thông báo, cũng như đối với thông tin liên lạc từ Bộ định tuyến và Máy chủ quản lý.

Bộ 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ý đó đều phải có thể truy cập vào 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ả Message Processor 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 Bộ xử lý thông báo và phải 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 Bộ định tuyến và Bộ xử lý thông báo, thì Bộ định tuyến sẽ sử dụng TLS/SSL để kiểm tra tình trạng trên Bộ xử lý thông báo.

Cổng 8082 trên Bộ xử lý thông báo chỉ phải 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à Bộ xử lý thông báo. Nếu bạn không định cấu hình TLS/SSL giữa Bộ đị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 Bộ đị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 để liên lạc từ Bộ định tuyến
Postgres 22 Nếu định cấu hình 2 nút Postgres để sử dụng tính năng sao chép chính-dự phòng, 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 các lệnh gọi quản lý và bộ nhớ đệm phân tán
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 các lệnh gọi quản lý và bộ nhớ đệm phân tán
5672
  • Trung tâm dữ liệu đơn: Dùng để gửi số liệu phân tích từ Bộ định tuyến và Bộ xử lý thông báo đến Qpid.
  • Nhiều trung tâm dữ liệu: Dùng để giao tiếp giữa các nút Qpid trong nhiều trung tâm dữ liệu.

Cũng được dùng để giao tiếp giữa máy chủ Qpid và các thành phần của trình trung gian trên cùng một nút. Trong các cấu trúc liên kết có nhiều nút Qpid, máy chủ phải có thể kết nối với tất cả các broker 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ý của Broker hoặc API quản lý 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 Bộ định tuyến, tất cả các bộ định tuyến đó phải có thể truy cập vào 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 Bộ đị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ỳ Bộ xử lý thông báo nào cũng có thể truy cập. Nếu không, bạn có thể thấy thông báo lỗi trong 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ý có thể 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 Bộ định tuyến có khả dụng hay không.

Để lấy trạng thái của một Bộ định tuyến, trình 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ể truy cập vào Bộ định tuyến, yêu cầu sẽ trả về HTTP 200.

59001 Cổng được tiện ích apigee-validate dùng để kiểm thử quá trình cài đặt Edge. Tiện ích này cần có 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 các yêu cầu trang SmartDocs được gửi.
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, Bộ xử lý thông báo, v.v.
2888, 3888 Được ZooKeeper sử dụng nội bộ để giao tiếp trong cụm ZooKeeper (gọi là nhóm ZooKeeper)

Bảng tiếp theo cho thấy các cổng tương tự, được liệt kê theo số, cùng 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 đến
virtual_host_port HTTP và 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ủ lưu trữ ảo. Các cổng 80 và 443 thường được dùng nhất; Message Router có thể chấm dứt các kết nối TLS/SSL. Máy khách bên ngoài (hoặc trình cân bằng tải) Trình nghe trên Bộ định tuyến thông báo
1099 đến 1103 Quản lý JMX Ứng dụng JMX Máy chủ quản lý (1099)
Bộ xử lý thông báo (1101)
Máy chủ Qpid (1102)
Máy chủ Postgres (1103)
2181 Giao tiếp với ứng dụng Zookeeper Máy chủ quản lý
Bộ định tuyến
Bộ xử lý thông báo
Máy chủ Qpid
Máy chủ Postgres
Người trông coi vườn thú
2888 và 3888 Quản lý nút nội bộ của Zookeeper Nhân viên sở thú Người trông coi vườn thú
3001 Cổng giao diện người dùng New Edge mặc định Trình duyệt Giao diện người dùng mới của Edge (edge-management-ui)
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ư cho hoạt động giao tiếp giữa các Bộ định tuyến Máy chủ quản lý
Bộ đị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 các Trình xử lý thông báo và để giao tiếp từ Bộ định tuyến Máy chủ quản lý
Bộ định tuyến
Trình 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 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ủ 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
  • Trung tâm dữ liệu đơn: Dùng để gửi số liệu phân tích từ Bộ định tuyến và Bộ xử lý thông báo đến Qpid.
  • Nhiều trung tâm dữ liệu: Dùng để giao tiếp giữa các nút Qpid trong nhiều trung tâm dữ liệu.

Cũng được dùng để giao tiếp giữa máy chủ Qpid và các thành phần của trình trung gian trên cùng một nút. Trong các cấu trúc liên kết có nhiều nút Qpid, máy chủ phải có thể kết nối với tất cả nhà môi giới 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áy chủ quản lý mở để truy cập vào nút Cassandra. Ứ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ác cổng API thành phần, được dùng để gửi trực tiếp các yêu cầu API đến 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 phụ 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ý Bộ định tuyến (8081)
Bộ 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 Qpid Broker (apigee-qpidd)
8443 Giao tiếp giữa Bộ định tuyến và Bộ xử lý thông báo khi TLS được bật Bộ định tuyến Bộ xử lý thông báo
8998 Giao tiếp giữa Bộ định tuyến và Trình xử lý thông báo Bộ định tuyến Bộ xử lý thông báo
9042 Phương thức truyền tải gốc CQL Bộ định tuyến
Bộ xử lý thông báo
Máy chủ quản lý
Cassandra
10389 Cổng LDAP Máy chủ quản lý SymasLDAP
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 Bộ định tuyến có hoạt động hay không. Trình cân bằng tải Bộ định tuyến
59001 Cổng mà tiện ích apigee-validate 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 yêu cầu trang SmartDocs SmartDocs Bộ định tuyến

Bộ xử lý thông báo duy trì một nhóm kết nối chuyên dụng mở cho Cassandra, đượ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 Bộ xử lý thông báo và máy chủ Cassandra, tường lửa có thể làm hết thời gian chờ của 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 tình huống này, Apigee đề xuất rằng máy chủ Cassandra, Bộ 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 quá trình 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, đồng thời có đặt thời gian chờ TCP ở trạng thái rảnh, bạn nên làm như sau:

  1. Đặ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 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.
  2. Trên tất cả Trình xử lý tin nhắn, 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
  3. Khởi động lại Bộ xử lý thông báo:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  4. Trên tất cả các Bộ đị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
  5. Khởi động lại bộ định tuyến:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart