Yêu cầu về cài đặt

Edge cho đám mây riêng tư phiên bản 4.18.01

Yêu cầu về phần cứng

Bạn phải đáp ứng các yêu cầu tối thiểu sau đây về phần cứng để có cơ sở hạ tầng có tính sẵn sàng cao trong môi trường cấp độ sản xuất. Đối với tất cả các trường hợp cài đặt được mô tả trong phần Cấu trúc cài đặt, các bảng sau đây liệt kê các yêu cầu tối thiểu về phần cứng cho các thành phần cài đặt.

Trong các bảng này, yêu cầu về ổ đĩa cứng là yêu cầu bổ sung cho dung lượng ổ đĩa cứng mà hệ điều hành yêu cầu. Tuỳ thuộc vào ứng dụng và lưu lượng truy cập mạng, quá trình cài đặt của bạn có thể cần nhiều hoặc ít tài nguyên hơn so với danh sách dưới đây.

Thành phần cài đặt RAM CPU Ổ đĩa cứng tối thiểu
Cassandra 16 GB 8 lõi Bộ nhớ cục bộ 250 GB có ổ SSD hoặc ổ HDD nhanh hỗ trợ 2.000 IOPS
Bộ xử lý/Bộ định tuyến thông báo trên cùng một máy 16 GB 8 lõi 100 GB
Analytics – Postgres/Qpid trên cùng một máy chủ (không nên dùng cho môi trường thực tế) 16 GB* 8 lõi* Bộ nhớ mạng 500 GB – 1 TB*****, tốt nhất là có phần phụ trợ SSD, hỗ trợ 1000 IOPS trở lên*
Analytics – Postgres độc lập 16 GB* * 8 lõi Bộ nhớ mạng 500 GB – 1 TB*****, tốt nhất là có phần phụ trợ SSD, hỗ trợ 1000 IOPS trở lên*
Analytics – Qpid độc lập 8GB 4 lõi Bộ nhớ cục bộ 30 GB – 50 GB có SSD hoặc HDD nhanh

Đối với các bản cài đặt có TPS lớn hơn 250, bạn nên sử dụng ổ cứng HDD có bộ nhớ cục bộ hỗ trợ 1000 IOPS.

Kích thước hàng đợi Qpid mặc định là 20 GB. Nếu bạn cần thêm dung lượng, hãy thêm các nút Qpid khác.

Khác (OpenLDAP, Giao diện người dùng, Máy chủ quản lý) 4 GB 2 lõi 60 GB

* Điều chỉnh các yêu cầu về hệ thống Postgres dựa trên công suất:

  • Dưới 250 TPS: Có thể cân nhắc sử dụng bộ nhớ mạng được quản lý 8 GB, 4 lõi*** hỗ trợ 1000 IOPS trở lên
  • Lớn hơn 250 TPS: 16 GB, 8 lõi, bộ nhớ mạng được quản lý*** hỗ trợ 1000 IOPS trở lên
  • Lớn hơn 1000 TPS: 16 GB, 8 lõi, bộ nhớ mạng được quản lý*** hỗ trợ 2000 IOPS trở lên
  • Lớn hơn 2000 TPS: 32 GB, 16 lõi, bộ nhớ mạng được quản lý*** hỗ trợ 2000 IOPS trở lên
  • Lớn hơn 4000 TPS: 64 GB, 32 lõi, bộ nhớ mạng được quản lý*** hỗ trợ 4000 IOPS trở lên

** Giá trị ổ đĩa cứng Postgres dựa trên số liệu phân tích có sẵn do Edge thu thập. Nếu bạn thêm các giá trị tuỳ chỉnh vào dữ liệu phân tích, thì các giá trị này sẽ tăng lên tương ứng. Sử dụng công thức sau để ước tính dung lượng lưu trữ cần thiết:

bytes of storage needed =

  (# bytes of analytics data/request) *

  (requests/second) *

  (seconds/hour) *

  (hours of peak usage/day) *

  (days/month) *

  (months of data retention)

Ví dụ:

(2K bytes) * (100 req/sec) * (3600 secs/hr) * (18 peak hours/day) * (30 days/month) * (3 months retention)

= 1,194,393,600,000 bytes or 1194.4 GB

*** Bạn nên sử dụng Bộ nhớ mạng cho cơ sở dữ liệu Postgresql vì:

  • Tính năng này cho phép tăng kích thước bộ nhớ một cách linh động nếu và khi cần.
  • Bạn có thể điều chỉnh IOPS mạng một cách nhanh chóng trong hầu hết các hệ thống con môi trường/Bộ nhớ/Mạng hiện nay.
  • Bạn có thể bật ảnh chụp nhanh ở cấp bộ nhớ trong các giải pháp sao lưu và khôi phục.

Ngoài ra, sau đây là danh sách các yêu cầu về phần cứng nếu bạn muốn cài đặt Dịch vụ kiếm tiền:

Thành phần có tính năng kiếm tiền RAM CPU Ổ đĩa cứng
Máy chủ quản lý (có Dịch vụ kiếm tiền) 8GB 4 lõi 60 GB
Analytics – Postgres/Qpid trên cùng một máy chủ 16 GB 8 lõi Bộ nhớ mạng 500 GB – 1 TB, tốt nhất là có phần phụ trợ SSD, hỗ trợ 1.000 IOPS trở lên hoặc sử dụng quy tắc trong bảng trên.
Analytics – Postgres độc lập 16 GB 8 lõi Bộ nhớ mạng 500 GB – 1 TB, tốt nhất là có phần phụ trợ SSD, hỗ trợ 1.000 IOPS trở lên hoặc sử dụng quy tắc trong bảng trên.
Analytics – Qpid độc lập 8GB 4 lõi Bộ nhớ cục bộ 40 GB – 500 GB có SSD hoặc HDD nhanh

Đối với các bản cài đặt có TPS lớn hơn 250, bạn nên sử dụng ổ cứng HDD có bộ nhớ cục bộ hỗ trợ 1000 IOPS.

Sau đây là các yêu cầu về phần cứng nếu bạn muốn cài đặt API BaaS:

Thành phần BaaS của API RAM CPU Ổ đĩa cứng
ElasticSearch* 8GB 4 lõi 60 – 80 GB
API BaaS Stack* 8GB 4 lõi 60 – 80 GB
API BaaS Portal 1 GB 2 lõi 20 GB
Cassandra** 16 GB 8 lõi Bộ nhớ cục bộ 250 GB có ổ SSD hoặc ổ HDD nhanh hỗ trợ 2.000 IOPS

* Bạn có thể cài đặt ElasticSearch và API BaaS Stack trên cùng một nút. Nếu có, hãy định cấu hình ElasticSearch để sử dụng 4 GB bộ nhớ (mặc định). Nếu ElasticSearch được cài đặt trên nút riêng, hãy định cấu hình để ElasticSearch sử dụng 6 GB bộ nhớ.

** Không bắt buộc; thông thường, bạn sử dụng cùng một cụm Cassandra cho cả Edge và API BaaS Dịch vụ.

Yêu cầu về hệ điều hành và phần mềm bên thứ ba

Những hướng dẫn cài đặt này và các tệp cài đặt được cung cấp đã được kiểm thử trên các hệ điều hành và phần mềm bên thứ ba được liệt kê trong Phần mềm được hỗ trợ và các phiên bản được hỗ trợ.

Tạo người dùng apigee

Quy trình cài đặt sẽ tạo một người dùng hệ thống Unix có tên là "apigee". Các thư mục và tệp Edge thuộc sở hữu của "apigee", cũng như các quy trình Edge. Điều đó có nghĩa là các thành phần Edge chạy dưới dạng người dùng "apigee". Nếu cần, bạn có thể chạy các thành phần dưới dạng một người dùng khác.

Thư mục cài đặt

Theo mặc định, trình cài đặt sẽ ghi tất cả tệp vào thư mục /opt/apigee. Bạn không thể thay đổi vị trí thư mục này. Mặc dù không thể thay đổi thư mục này, nhưng bạn có thể tạo một liên kết tượng trưng để liên kết /opt/apigee với một vị trí khác, như mô tả dưới đây.

Trong hướng dẫn này, thư mục cài đặt được ghi chú là /opt/apigee.

Tạo liên kết tượng trưng từ /opt/apigee

Trước khi tạo liên kết tượng trưng, trước tiên, bạn phải tạo một người dùng và nhóm có tên là "apigee". Đây là cùng một nhóm và người dùng do trình cài đặt Edge tạo.

Để tạo liên kết tượng trưng, hãy thực hiện các bước sau trước khi tải tệp bootstrap_4.18.01.sh xuống. Bạn phải thực hiện tất cả các bước này dưới dạng người dùng gốc:

  1. Tạo người dùng và nhóm "apigee":
    groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
  2. Tạo một liên kết tượng trưng từ /opt/apigee đến thư mục gốc cài đặt mà bạn muốn:
    ln -Ts /srv/myInstallDir /opt/apigee

    trong đó /srv/myInstallDir là vị trí mong muốn của các tệp Edge.

  3. Thay đổi quyền sở hữu thư mục gốc cài đặt và liên kết tượng trưng cho người dùng "apigee":
    chown -h apigee:apigee /srv/myInstallDir /opt/apigee

Java

Bạn cần cài đặt phiên bản Java 1.8 được hỗ trợ trên mỗi máy trước khi cài đặt. Các JDK được hỗ trợ được liệt kê trong phần Phần mềm được hỗ trợ và các phiên bản được hỗ trợ.

Đảm bảo rằng JAVA_HOME trỏ đến thư mục gốc của JDK cho người dùng thực hiện việc cài đặt.

SELinux

Tuỳ thuộc vào chế độ cài đặt của bạn cho SELinux, Edge có thể gặp vấn đề khi cài đặt và khởi động các thành phần của Edge. Nếu cần, bạn có thể tắt SELinux hoặc đặt thành chế độ cho phép trong quá trình cài đặt, sau đó bật lại sau khi cài đặt. Xem phần Cài đặt tiện ích apigee-setup của Edge để biết thêm thông tin.

Cài đặt mạng

Bạn nên kiểm tra chế độ cài đặt mạng trước khi cài đặt. Trình cài đặt yêu cầu tất cả máy đều có địa chỉ IP cố định. Sử dụng các lệnh sau để xác thực chế độ cài đặt:

  • hostname trả về tên của máy
  • hostname -i trả về địa chỉ IP cho tên máy chủ có thể được xử lý từ các máy khác.

Tuỳ thuộc vào loại và phiên bản hệ điều hành, bạn có thể phải chỉnh sửa /etc/hosts và /etc/sysconfig/network nếu tên máy chủ không được đặt chính xác. Hãy xem tài liệu về hệ điều hành cụ thể của bạn để biết thêm thông tin.

Nếu một máy chủ có nhiều thẻ giao diện, thì lệnh "hostname -i" sẽ trả về một danh sách các địa chỉ IP được phân tách bằng dấu cách. Theo mặc định, trình cài đặt Edge sử dụng địa chỉ IP đầu tiên được trả về, địa chỉ này có thể không chính xác trong mọi trường hợp. Ngoài ra, bạn có thể đặt thuộc tính sau trong tệp cấu hình cài đặt:

ENABLE_DYNAMIC_HOSTIP=y

Khi bạn đặt thuộc tính đó thành "y", trình cài đặt sẽ nhắc bạn chọn địa chỉ IP để sử dụng trong quá trình cài đặt. Giá trị mặc định là "n". Hãy xem phần Tài liệu tham khảo về tệp cấu hình Edge để biết thêm thông tin.

Trình bao bọc TCP

Trình bao bọc TCP có thể chặn hoạt động giao tiếp của một số cổng và có thể ảnh hưởng đến quá trình cài đặt OpenLDAP, Postgres và Cassandra. Trên các nút đó, hãy kiểm tra /etc/hosts.allow và /etc/hosts.deny để đảm bảo rằng không có quy định hạn chế nào về cổng đối với các cổng OpenLDAP, Postgres và Cassandra bắt buộc.

iptables

Xác thực rằng không có chính sách iptables nào ngăn chặn khả năng kết nối giữa các nút trên các cổng Edge bắt buộc. Nếu cần, bạn có thể dừng iptables trong quá trình cài đặt bằng lệnh:

sudo/etc/init.d/iptables stop

Trên CentOS 7.x:

systemctl stop firewalld

Đảm bảo Bộ định tuyến biên có thể truy cập vào /etc/rc.d/init.d/functions

Các nút Bộ định tuyến biên và Cổng BaaS sử dụng bộ định tuyến Nginx và yêu cầu quyền đọc đối với /etc/rc.d/init.d/functions.

Nếu quy trình bảo mật yêu cầu bạn đặt quyền trên /etc/rc.d/init.d/functions, đừng đặt quyền thành 700, nếu không, bộ định tuyến sẽ không khởi động được. Bạn có thể đặt quyền thành 744 để cho phép quyền đọc đối với /etc/rc.d/init.d/functions.

Cassandra

Tất cả các nút Cassandra phải được kết nối với một vòng. Cassandra lưu trữ các bản sao dữ liệu trên nhiều nút để đảm bảo độ tin cậy và khả năng chịu lỗi. Chiến lược sao chép cho mỗi không gian khoá Edge xác định các nút Cassandra nơi đặt bản sao. Để biết thêm thông tin,hãy xem bài viết Giới thiệu về hệ số sao chép và mức độ nhất quán của Cassandra.

Cassandra tự động điều chỉnh kích thước vùng nhớ khối xếp Java dựa trên bộ nhớ còn trống. Để biết thêm thông tin, hãy xem bài viết Điều chỉnh tài nguyên Java. Trong trường hợp hiệu suất bị giảm hoặc mức tiêu thụ bộ nhớ cao.

Sau khi cài đặt Edge cho đám mây riêng tư, bạn có thể kiểm tra để đảm bảo Cassandra được định cấu hình chính xác bằng cách kiểm tra tệp /opt/apigee/apigee-cassandra/conf/cassandra.yaml. Ví dụ: đảm bảo rằng tập lệnh cài đặt Edge cho đám mây riêng tư đặt các thuộc tính sau:

  • cluster_name
  • initial_token
  • partitioner
  • seeds
  • listen_address
  • rpc_address
  • snitch

Cơ sở dữ liệu PostgreSQL

Sau khi cài đặt Edge, bạn có thể điều chỉnh các chế độ cài đặt cơ sở dữ liệu PostgreSQL sau đây dựa trên dung lượng RAM có sẵn trên hệ thống:

conf_postgresql_shared_buffers = 35% of RAM      # min 128kB
conf_postgresql_effective_cache_size = 45% of RAM
conf_postgresql_work_mem = 512MB       # min 64kB

Cách đặt các giá trị này:

  1. Chỉnh sửa tệp postgresql.properties:
    vi /opt/apigee/customer/application/postgresql.properties

    Nếu tệp không tồn tại, hãy tạo tệp.

  2. Đặt các thuộc tính nêu trên.
  3. Lưu nội dung chỉnh sửa.
  4. Khởi động lại cơ sở dữ liệu PostgreSQL:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart

Giới hạn của hệ thống

Đảm bảo rằng bạn đã đặt các giới hạn hệ thống sau đây trên các nút Cassandra và Bộ xử lý thông báo:

  • Trên các nút Cassandra, hãy đặt giới hạn mềm và cứng cho memlock, nofile và không gian địa chỉ (as) cho người dùng cài đặt (mặc định là "apigee") trong /etc/security/limits.d/90-apigee-edge-limits.conf như minh hoạ dưới đây:
    apigee soft memlock unlimited
    apigee hard memlock unlimited
    apigee soft nofile 32768
    apigee hard nofile 65536
    apigee soft as unlimited
    apigee hard as unlimited
  • Trên các nút Bộ xử lý thông báo, hãy đặt số lượng chỉ số mô tả tệp đang mở tối đa thành 64K trong /etc/security/limits.d/90-apigee-edge-limits.conf như minh hoạ dưới đây:
    apigee soft nofile 32768
    apigee hard nofile 65536

    Nếu cần, bạn có thể tăng hạn mức đó. Ví dụ: nếu bạn có một số lượng lớn tệp tạm thời mở cùng một lúc.

jsvc

"jsvc" là điều kiện tiên quyết để sử dụng API BaaS. Phiên bản 1.0.15-dev được cài đặt khi bạn cài đặt API BaaS.

Dịch vụ bảo mật mạng (NSS)

Dịch vụ bảo mật mạng (NSS) là một tập hợp các thư viện hỗ trợ phát triển các ứng dụng máy khách và máy chủ có hỗ trợ bảo mật. Bạn nên đảm bảo rằng bạn đã cài đặt NSS phiên bản 3.19 trở lên.

Cách kiểm tra phiên bản hiện tại:

yum info nss

Cách cập nhật NSS:

yum update nss

Hãy xem bài viết này của RedHat để biết thêm thông tin.

Tắt tính năng tra cứu DNS trên IPv6 khi sử dụng NSCD (Name Service Cache Daemon)

Nếu bạn đã cài đặt và bật NSCD (Name Service Cache Daemon), thì Bộ xử lý thông báo sẽ thực hiện hai lượt tra cứu DNS: một lượt cho IPv4 và một lượt cho IPv6. Bạn nên tắt tính năng tra cứu DNS trên IPv6 khi sử dụng NSCD.

Cách tắt tính năng tra cứu DNS trên IPv6:

  1. Trên mỗi nút Bộ xử lý thông báo, hãy chỉnh sửa /etc/nscd.conf
  2. Đặt thuộc tính sau:
    enable-cache hosts no

Tắt IPv6 trên Google Cloud Platform cho RedHat/CentOS 7

Nếu đang cài đặt Edge trên RedHat 7 hoặc CentOS 7 trên Google Cloud Platform, thì bạn phải tắt IPv6 trên tất cả các nút Qpid.

Hãy xem tài liệu về RedHat hoặc CentOS cho phiên bản hệ điều hành cụ thể của bạn để biết hướng dẫn về cách tắt IPv6. Ví dụ như bạn có thể:

  1. Mở /etc/hosts trong trình chỉnh sửa.
  2. Chèn ký tự "#" vào cột một của dòng sau để chú thích:
    #::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. Lưu tệp.

AWS AMI

Nếu đang cài đặt Edge trên Amazon Machine Image (AMI) của AWS cho Red Hat Enterprise Linux 7.x, trước tiên, bạn phải chạy lệnh sau:

yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

Công cụ

Trình cài đặt sử dụng các công cụ UNIX sau đây trong phiên bản tiêu chuẩn do EL5 hoặc EL6 cung cấp.

awk

expr

libxslt

nhịp thở/phút

giải nén

basename

grep

lua-socket

rpm2cpio

useradd

bash

hostname

ls

sed

wc

bc

id

net-tools

sudo

wget

curl

libaio

perl (từ procps)

tar

xerces-c

cyrus-sasl libdb4 pgrep (từ procps) tr ngon

date

libdb-cxx

ps

uuid

chkconfig

dirname libibverbs pwd uname  
echo librdmacm python    

ntpdate

Bạn nên đồng bộ hoá thời gian của các máy chủ. Nếu chưa được định cấu hình, tiện ích ntpdate có thể phục vụ mục đích này, tức là xác minh xem các máy chủ có được đồng bộ hoá thời gian hay không. Bạn có thể sử dụng yum install ntp để cài đặt tiện ích. Điều này đặc biệt hữu ích khi sao chép các chế độ thiết lập OpenLDAP. Lưu ý rằng bạn thiết lập múi giờ của máy chủ theo giờ UTC.

openldap 2.4

Quá trình cài đặt tại chỗ yêu cầu OpenLDAP 2.4. Nếu máy chủ của bạn có kết nối Internet, thì tập lệnh cài đặt Edge sẽ tải xuống và cài đặt OpenLDAP. Nếu máy chủ của bạn không có kết nối Internet, bạn phải đảm bảo rằng OpenLDAP đã được cài đặt trước khi chạy tập lệnh cài đặt Edge. Trên RHEL/CentOS, bạn có thể chạy yum install openldap-clients openldap-servers để cài đặt OpenLDAP.

Đối với các bản cài đặt 13 máy chủ và 12 máy chủ có hai Trung tâm dữ liệu, bạn cần có Sao chép OpenLDAP vì có nhiều nút lưu trữ OpenLDAP.

Tường lửa và máy chủ ảo

Thuật ngữ virtual thường được sử dụng quá nhiều trong lĩnh vực CNTT, và điều này cũng đúng với việc triển khai Apigee Edge cho đám mây riêng tư và máy chủ ảo. Để làm rõ, có hai cách sử dụng chính cho thuật ngữ virtual:

  • Máy ảo (VM): Không bắt buộc, nhưng một số hoạt động triển khai sử dụng công nghệ máy ảo để tạo máy chủ tách biệt cho các thành phần Apigee. Máy chủ lưu trữ máy ảo, giống như máy chủ lưu trữ vật lý, có thể có giao diện mạng và tường lửa.
  • Máy chủ ảo: Điểm cuối web, tương tự như máy chủ ảo Apache.

Bộ định tuyến trong máy ảo có thể hiển thị nhiều máy chủ ảo (miễn là chúng khác nhau về bí danh máy chủ hoặc cổng giao diện).

Ví dụ về cách đặt tên, một máy chủ vật lý A có thể đang chạy hai máy ảo, được đặt tên là "VM1" và "VM2". Giả sử "VM1" hiển thị một giao diện Ethernet ảo, được đặt tên là "eth0" bên trong máy ảo và được gán địa chỉ IP 111.111.111.111 bằng máy ảo hoá hoặc máy chủ DHCP mạng; sau đó giả sử VM2 hiển thị một giao diện Ethernet ảo cũng có tên là "eth0" và được gán địa chỉ IP 111.111.111.222.

Chúng ta có thể có một bộ định tuyến Apigee chạy trong mỗi máy ảo. Bộ định tuyến hiển thị các điểm cuối của máy chủ ảo như trong ví dụ giả định sau:

Bộ định tuyến Apigee trong VM1 hiển thị ba máy chủ ảo trên giao diện eth0 (có một số địa chỉ IP cụ thể), api.mycompany.com:80, api.mycompany.com:443 và test.mycompany.com:80.

Bộ định tuyến trong VM2 hiển thị api.mycompany.com:80 (cùng tên và cổng như VM1 hiển thị).

Hệ điều hành của máy chủ vật lý có thể có tường lửa mạng; nếu có, tường lửa đó phải được định cấu hình để truyền lưu lượng truy cập TCP đến các cổng đang được hiển thị trên giao diện ảo hoá (111.111.111.111:{80, 443} và 111.111.111.222:80). Ngoài ra, hệ điều hành của mỗi máy ảo có thể cung cấp tường lửa riêng trên giao diện eth0 và các tường lửa này cũng phải cho phép lưu lượng truy cập cổng 80 và 443 kết nối.

Đường dẫn cơ sở là thành phần thứ ba liên quan đến việc định tuyến lệnh gọi API đến các proxy API khác nhau mà bạn có thể đã triển khai. Các gói proxy API có thể dùng chung một điểm cuối nếu có các đường dẫn cơ sở khác nhau. Ví dụ: bạn có thể xác định một đường dẫn cơ sở là http://api.mycompany.com:80/ và một đường dẫn cơ sở khác là http://api.mycompany.com:80/salesdemo.

Trong trường hợp này, bạn cần có một trình cân bằng tải hoặc trình điều hướng lưu lượng truy cập để phân chia lưu lượng truy cập http://api.mycompany.com:80/ giữa hai địa chỉ IP (111.111.111.111 trên VM1 và 111.111.111.222 trên VM2). Chức năng này dành riêng cho chế độ cài đặt cụ thể của bạn và do nhóm mạng cục bộ của bạn định cấu hình.

Đường dẫn cơ sở được đặt khi bạn triển khai một API. Từ ví dụ trên, bạn có thể triển khai hai API, mycompany và testmycompany, cho tổ chức mycompany-org với máy chủ ảo có bí danh máy chủ là api.mycompany.com và cổng được đặt thành 80. Nếu bạn không khai báo đường dẫn cơ sở trong quá trình triển khai, thì bộ định tuyến sẽ không biết nên gửi yêu cầu đến API nào.

Tuy nhiên, nếu bạn triển khai API testmycompany bằng URL cơ sở của /salesdemo, thì người dùng sẽ truy cập vào API đó bằng http://api.mycompany.com:80/salesdemo. Nếu bạn triển khai API mycompany với URL cơ sở là /, thì người dùng sẽ truy cập vào API bằng URL http://api.mycompany.com:80/.

Yêu cầu về cổng biên

Nhu cầu quản lý tường lửa không chỉ dừng lại ở các 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 cho các cổng mà các thành phần cần để giao tiếp với nhau.

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:

Lưu ý về sơ đồ này:

  • * 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à Bộ xử lý thông báo (cấu hình mặc định), thì cổng 8082 vẫn phải mở trên Bộ xử lý thông báo để quản lý thành phần, nhưng Bộ định tuyến không cần quyền truy cập vào thành phần đó.
  • 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.
  • Các thành phần sau đâ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, Postgres và Qpid.
  • 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ả Bộ 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.
  • 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 Bộ xử lý thông báo.
  • 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, thì 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).
  • Giao diện người dùng 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.
  • Máy chủ quản lý cần có quyền truy cập vào cổng JMX trên các nút Cassandra.
  • 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 giám sát để 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.
  • Nếu định cấu hình hai 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. Bạn có thể mở các cổng trên từng nút để cho phép truy cập ssh.
  • 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. Đố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.

Bảng dưới đây cho thấy các cổng cần được 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
Máy chủ quản lý 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, Postgres và Qpid.
1099 Cổng JMX
4526 Đối với các lệnh gọi quản lý và bộ nhớ đệm phân tán
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ý
Bộ xử lý thông báo 8998 Cổng Bộ xử lý thông báo để liên lạc từ Bộ định tuyến
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.

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 Bộ xử lý thông báo, cũng như để giao tiếp từ Bộ định tuyến và Máy chủ quản lý
Bộ định tuyến 8081 Cổng quản lý mặc định cho Bộ định tuyến và phải mở trên thành phần để Máy chủ quản lý truy cập.
4527 Đối với các lệnh gọi quản lý và bộ nhớ đệm phân tán
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 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ể kết nối với Bộ định tuyến, thì yêu cầu sẽ trả về HTTP 200.

59001 Cổng mà 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.
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)
Cassandra 7000, 9042, 9160 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.
Qpid 5672 Dùng để liên lạc từ Bộ định tuyến và Bộ xử lý thông báo đến máy chủ Qpid
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.
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
Postgres 5432 Dùng để giao tiếp giữa Qpid/Máy chủ quản lý và Postgres
8084 Cổng quản lý mặc định trên máy chủ Postgres và phải mở trên thành phần để Máy chủ quản lý truy cập.
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
22 Nếu định cấu hình hai 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.
LDAP 10389 OpenLDAP
SmartDocs 59002 Cổng trên bộ định tuyến Edge nơi các yêu cầu trang SmartDocs được gửi đến.

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ổng 80 và 443 được sử dụng phổ biến nhất; Bộ định tuyến thư có thể chấm dứt kết nối TLS/SSL. Ứng dụng 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 Management Server (1099)
Message Processor (1101)
Qpid Server (1102)
Postgres Server (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 Người trông coi vườn thú Người trông coi vườn thú
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 các lệnh gọi quản lý và bộ nhớ đệm phân tán, 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 Bộ 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
Bộ 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
5672

Dùng để gửi dữ liệu phân tích từ Bộ định tuyến và Bộ xử lý thông báo đến Qpid

Bộ định tuyến
Bộ xử lý thông báo
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 mở để Máy chủ quản lý 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ổng API thành phần, dùng để gửi yêu cầu API trực tiếp đế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)
8998 Giao tiếp giữa Bộ định tuyến và Bộ xử lý thông báo Bộ định tuyến Bộ 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 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
9160 Ứng dụng Cassandra Thrift 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ý 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 Bộ định tuyến có khả dụ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 tra 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:

  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ả Bộ 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
  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ả 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

Nếu bạn cài đặt cấu hình cụm 12 máy chủ lưu trữ có 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 API BaaS

Nếu chọn cài đặt API BaaS, bạn sẽ thêm các thành phần API BaaS Stack và API BaaS Portal. Các thành phần này sử dụng các cổng như trong hình dưới đây:

Lưu ý về sơ đồ này:

  • Cổng API BaaS không bao giờ gửi yêu cầu trực tiếp đến nút BaaS Stack. Khi nhà phát triển đăng nhập vào Cổng thông tin, ứng dụng Cổng thông tin sẽ được tải xuống trình duyệt. Sau đó, ứng dụng Cổng thông tin chạy trong trình duyệt sẽ gửi yêu cầu đến các nút BaaS Stack.
  • Bản cài đặt chính thức của API BaaS sử dụng trình cân bằng tải giữa nút Cổng API BaaS và các nút Ngăn xếp API BaaS. Khi định cấu hình Cổng thông tin và khi thực hiện lệnh gọi API BaaS, bạn chỉ định địa chỉ IP hoặc tên DNS của trình cân bằng tải, chứ không phải của các nút Ngăn xếp.
  • Tất cả các nút Stack phải mở cổng 2551 để cho phép truy cập từ tất cả các nút Stack khác (được biểu thị bằng mũi tên vòng lặp trong sơ đồ trên cho cổng 2551 trên các nút Stack). Nếu bạn có nhiều Trung tâm dữ liệu, thì cổng này phải truy cập được từ tất cả các nút Stack trong tất cả Trung tâm dữ liệu.
  • Bạn phải định cấu hình tất cả các nút Baas Stack để gửi email thông qua một máy chủ SMTP bên ngoài. Đố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.
  • Các nút Cassandra có thể được dành riêng cho API BaaS hoặc có thể được chia sẻ với Edge.

Bảng dưới đây cho thấy các cổng mặc định cần được mở trong tường lửa, theo thành phần:

Thành phần Cổng Mô tả
API BaaS Portal 9000 Cổng cho giao diện người dùng API BaaS
API BaaS Stack 8080 Cổng nhận yêu cầu API
2551

Cổng để giao tiếp giữa tất cả các nút Stack. Tất cả các nút Stack khác trong trung tâm dữ liệu đều phải truy cập được.

Nếu bạn có nhiều trung tâm dữ liệu, thì tất cả các nút Stack trong tất cả Trung tâm dữ liệu đều phải truy cập được vào cổng này.

ElasticSearch 9200 đến 9400 Để giao tiếp với API BaaS Stack và để giao tiếp giữa các nút ElasticSearch

Cấp phép

Mỗi lượt cài đặt Edge đều yêu cầu một tệp giấy phép riêng biệt mà bạn nhận được từ Apigee. Bạn sẽ cần cung cấp đường dẫn đến tệp giấy phép khi cài đặt máy chủ quản lý, ví dụ: /tmp/license.txt.

Trình cài đặt sao chép tệp giấy phép vào /opt/apigee/customer/conf/license.txt.

Nếu tệp giấy phép hợp lệ, máy chủ quản lý sẽ xác thực thời hạn và số lượng Bộ xử lý thông báo (MP) được phép. Nếu bất kỳ chế độ cài đặt giấy phép nào hết hạn, bạn có thể tìm thấy nhật ký ở vị trí sau: /opt/apigee/var/log/edge-management-server/logs. Trong trường hợp này, bạn có thể liên hệ với Nhóm hỗ trợ Apigee Edge để biết thông tin chi tiết về việc di chuyển.

Nếu bạn chưa có giấy phép, hãy liên hệ với bộ phận bán hàng của Apigee.