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

Edge for Private Cloud phiên bản 4.17.09

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

Bạn phải đáp ứng những yêu cầu tối thiểu về phần cứng sau đây đối với một cơ sở hạ tầng có khả năng sử dụ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 Cấu trúc liên kết cài đặt, các bảng sau đây liệt kê những 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, các yêu cầu về ổ đĩa cứng ngoài 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, việc cài đặt 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 nhân

Bộ nhớ cục bộ 250 GB với SSD hoặc HDD nhanh hỗ trợ 2000 IOPS

Bộ xử lý tin nhắn/Bộ định tuyến trên cùng một máy

16 GB

8 nhân

100 GB

Analytics – Postgres/Qpid trên cùng một máy chủ (không nên dùng cho quá trình sản xuất)

16GB*

8 nhân*

Bộ nhớ mạng từ 500 GB – 1 TB**, tốt nhất có phần phụ trợ SSD, hỗ trợ 1000 IOPS trở lên*.

Analytics - Postgres độc lập

16GB*

8 nhân*

Bộ nhớ mạng từ 500 GB – 1 TB**, tốt nhất là có phần phụ trợ SSD, hỗ trợ 1.000 IOPS trở lên*.

Analytics – Qpid độc lập

8GB

4 nhân

Bộ nhớ cục bộ 30 GB – 50 GB với SSD hoặc HDD nhanh

Đối với các chế độ cài đặt lớn hơn 250 TPS, bạn nên dùng ổ đĩa 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 tăng thêm dung lượng, hãy thêm các nút Qpid bổ sung.

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

4GB

2 nhân

60GB

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

  • Dưới 250 TPS: 8 GB, 4 nhân có thể được xem xét với bộ nhớ mạng được quản lý*** hỗ trợ 1000 IOPS trở lên
  • Trên 250 TPS: 16 GB, 8 lõi, bộ nhớ mạng được quản lý*** hỗ trợ 1000 IOPS trở lên
  • Trên 1000 TPS: 16 GB, 8 lõi, bộ nhớ mạng được quản lý*** hỗ trợ 2000 IOPS trở lên
  • Trên 2000 TPS: 32 GB, 16 lõi, bộ nhớ mạng được quản lý*** hỗ trợ 2000 IOPS trở lên
  • Trê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 ngay từ đầu mà Edge thu thập được. Nếu bạn thêm 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:

(# byte/yêu cầu) * (số yêu cầu mỗi giây) * (giây mỗi giờ) * (giờ sử dụng cao nhất mỗi ngày) * (ngày mỗi tháng) * (số tháng lưu giữ dữ liệu) = số byte cần dùng để lưu trữ

Ví dụ:

(2K byte dữ liệu phân tích mỗi yêu cầu) * 100 req/giây/giờ 360 ngày

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

  • Thư viện này cho phép tự động mở rộng dung lượng bộ nhớ nếu cần.
  • Bạn có thể nhanh chóng điều chỉnh IOPS mạng trong hầu hết các môi trường/hệ thống con Bộ nhớ/Mạng hiện nay.
  • Bạn có thể bật tính năng thông tin tổng quan nhanh về mức bộ nhớ như một phần của giải pháp sao lưu và khôi phục.

Ngoài ra, phần sau đây liệt kê 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ó hoạt độ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 nhân

60GB

Analytics – Postgres/Qpid trên cùng một máy chủ

16 GB

8 nhân

Bộ nhớ mạng từ 500 GB – 1 TB, tốt nhất là có phần phụ trợ SSD, hỗ trợ 1000 IOPS trở lên hoặc sử dụng quy tắc từ bảng trên.

Analytics - Postgres độc lập

16 GB

8 nhân

Bộ nhớ mạng từ 500 GB – 1 TB, tốt nhất là có phần phụ trợ SSD, hỗ trợ 1000 IOPS trở lên hoặc sử dụng quy tắc từ bảng trên.

Analytics – Qpid độc lập

8GB

4 nhân

Bộ nhớ cục bộ 40 GB – 500 GB với SSD hoặc HDD nhanh

Đối với các chế độ cài đặt lớn hơn 250 TPS, bạn nên dùng ổ đĩa HDD có bộ nhớ cục bộ hỗ trợ 1000 IOPS.

Phần sau đây liệt kê 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 API BaaS

RAM

CPU

Ổ đĩa cứng

Tìm kiếm đàn hồi*

8GB

4 nhân

60 – 80 GB

Ngăn xếp API BaaS *

8GB

4 nhân

60 – 80 GB

Cổng thông tin API BaaS

1 GB

2 nhân

20GB

Cassandra (Không bắt buộc – thường thì bạn sử dụng cùng một cụm Cassandra cho cả Dịch vụ Edge và API BaaS)

16 GB

8 nhân

Bộ nhớ cục bộ 250 GB với SSD hoặc HDD nhanh hỗ trợ 2000 IOPS

* Bạn có thể cài đặt ElasticSearch và API BaaS Stack trên cùng một nút. Nếu bạn làm như vậy, 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 để sử dụng 6 GB bộ nhớ.

Lưu ý:

  • Nếu hệ thống tệp gốc không đủ lớn để cài đặt, bạn nên đặt dữ liệu vào một ổ đĩa lớn hơn.
  • Nếu bạn đã cài đặt phiên bản cũ của Apigee Edge for Private Cloud trên máy, hãy nhớ xoá thư mục /tmp/java trước khi cài đặt mới.
  • Thư mục tạm thời trên toàn hệ thống /tmp cần thực thi các quyền để khởi động Cassandra.
  • Nếu người dùng “apigee” được tạo trước khi cài đặt, hãy đảm bảo rằng “/home/apigee” tồn tại dưới dạng thư mục gốc và thuộc sở hữu của “apigee:apigee”.

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

Các hướng dẫn cài đặt này và tệp cài đặt 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ó trong danh sách tại đây: https://apigee.com/docs/api-services/reference/supported-software.

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 "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 của Edge. Điều đó nghĩa là các thành phần Edge chạy như một người dùng "apigee". Nếu cần, bạn có thể chạy các thành phần với tư cách một người dùng khác. Hãy xem phần "Liên kết Bộ định tuyến với một cổng được bảo vệ" trong phần Cài đặt các thành phần của Edge trên một nút để tham khảo ví dụ.

Thư mục cài đặt

Theo mặc định, trình cài đặt ghi tất cả cá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 đường liên kết tượng trưng để ánh xạ /opt/apigee đến một vị trí khác, như mô tả dưới đây.

Trong phần hướng dẫn trong tài liệu hướng dẫn này, thư mục cài đặt được ghi chú là /<inst_root>/apigee, trong đó /<inst_root>/opt theo mặc định.

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

Trước khi tạo đường 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 chính là 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, thực hiện các bước này trước khi tải xuống tệp bootstrap_4.17.01.sh. Bạn phải thực hiện tất cả các bước sau với tư cách 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 đường 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à đường 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 Java1.8 được hỗ trợ trên mỗi máy trước khi cài đặt. Dưới đây là danh sách các JDK được hỗ trợ:

https://apigee.com/docs/api-services/reference/supported-software

Đảm bảo rằng JAVA_HOME trỏ đến thư mục gốc của JDK để người dùng thực hiện 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 ở chế độ cho phép trong quá trình cài đặt, rồi bật lại SELinux sau khi cài đặt. Hãy xem bài viết Cài đặt tiện ích thiết lập apigee 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ả các máy đều có địa chỉ IP cố định. Hãy dùng các lệnh sau để xác thực chế độ cài đặt:

  • hostname trả về tên của máy
  • tên máy chủ -i trả về địa chỉ IP cho tên máy chủ có thể được xác định địa chỉ 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/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 dành cho hệ điều hành cụ thể của bạn để biết thêm thông tin.

Nếu máy chủ có nhiều thẻ giao diện, thì lệnh "hostname -i" sẽ trả về một danh sách đị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. Thay vào đó, 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 thuộc tính đó được đặt thành "y", trình cài đặt sẽ nhắc bạn chọn địa chỉ IP để dùng trong quá trình cài đặt. Giá trị mặc định là "n". Xem Tài liệu tham khảo về tệp cấu hình cạnh để biết thêm thông tin.

Bộ 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 việc cài đặt OpenLDAP, Postgres và Cassandra. Trên các nút đó, hãy kiểm tra /etc/hosts.allow/etc/hosts.deny để đảm bảo rằng không có hạn chế về cổng trên các cổng OpenLDAP, Postgres và Cassandra bắt buộc.

iptable

Xác thực rằng không có chính sách nào về iptables 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 cạnh có thể truy cập /etc/rc.d/init.d/functions

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

Nếu quy trình bảo mật yêu cầu bạn thiết lập quyền trên /etc/rc.d/init.d/functions, thì đừng đặt ở mức 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 đọc /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ống lỗi. Chiến lược nhân bản cho mỗi không gian khoá Edge xác định các nút Cassandra nơi đặt các bản sao. Để biết thêm,hãy xem phần Giới thiệu về hệ số nhân bản 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 của mình 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 giảm hoặc mức sử dụng 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 rằng Cassandra được định cấu hình chính xác bằng cách kiểm tra tệp /<inst_root>/apigee/apigee-cassandra/conf/cassandra.yaml. Ví dụ: đảm bảo rằng tập lệnh cài đặt Edge for Private Cloud đặt các thuộc tính sau:

  • cluster_name
  • initial_token
  • phân vùng
  • hạt giống
  • listen_address
  • rpc_address
  • mách nước

Cảnh báo: Không chỉnh sửa tệp này.

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 postgresql.properties:
    > vi /<inst_root>/apigee/customer/application/postgresql.properties

    Nếu tệp không tồn tại, hãy tạo tệp.
  2. Thiết lập các thuộc tính nêu trên.
  3. Lưu nội dung bạn chỉnh sửa.
  4. Khởi động lại cơ sở dữ liệu PostgreSQL:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql khởi động lại

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 cho các nút Cassandra và Nút xử lý thư:

  • Trên các nút Cassandra, hãy đặt giới hạn memlock mềm và cứng, 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ư được hiển thị dưới đây:
    apigee Soft memlock 6 apigee apigee soft memlock không giới hạn
    apigeesoft apigee6 tốc độ không giới hạn không giới hạn




  • 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 mở tối đa thành 64K trong /etc/security/limits.d/90-apigee-edge-limits.conf như minh họa dưới đây:
    apigee Soft nofile 32768
    apigee cứng nofile 65536


    Nếu cần, bạn có thể tăng giới hạn đó. Ví dụ: nếu bạn có một số lượng lớn các 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 sẽ đượ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 bật tính năng 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 (Trình nền bộ nhớ đệm dịch vụ tên)

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ần tra cứu DNS: một cho IPv4 và một cho IPv6. Bạn nên tắt tính năng tra cứu DNS trên IPv6 khi dùng NSCD.

Để tắt tính năng tra cứu DNS trên IPv6:

  1. Trên mọi nút Bộ xử lý thư, hãy chỉnh sửa /etc/nscd.conf
  2. Đặt thuộc tính sau:
    enable-cache host 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 một trình chỉnh sửa.
  2. Chèn ký tự "#" vào cột một trong các dòng sau để nhận xét nội dung đó:
    #::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. Lưu tệp.

AMI AWS

Nếu đang cài đặt Edge trên AWS Amazon Machine Image (AMI) dành 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 chuẩn do EL5 hoặc EL6 cung cấp.

awk

expr

ổ cắm lua

vòng/phút

unzip

basename

grep

ls

rpm2cpio

thêm người dùng

khốn nạn

hostname

net-tools

sed

wc

bc

id

perl (từ Prop)

sudo

wget

curl

cung thiên bình

pgrep (từ Prop)

hắc ín

xerces-c

đá cyrus-sasl
libdb-cxx
ps tr ngon

date

động từ tự do

pwd

uuid

chkconfig

dirname
thư viện librdmacm
python uname
echo
libgtmt

Lưu ý:

  • Tệp thực thi cho công cụ "useradd" nằm ở /usr/sbin và đối với chkconfig trong /sbin.
  • Với quyền truy cập sudo, bạn có thể có quyền truy cập qua môi trường của người dùng đang gọi. Ví dụ: thông thường, bạn sẽ gọi "sudo <command>" hoặc "sudo PATH=$PATH:/usr/sbin:/sbin <command>".
  • Đảm bảo rằng bạn đã cài đặt công cụ "bản vá" trước khi cài đặt gói dịch vụ (bản vá).

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

openldap 2.4 – Việc cài đặt tại cơ sở yêu cầu Open LDAP 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 đã cài đặt OpenLDAP trước khi chạy tập lệnh cài đặt Edge. Trên RHEL/CentOS, bạn có thể chạy "yum cài đặt openldap-clients openldap-servers" để cài đặt OpenLDAP.

Đối với các lượt cài đặt qua máy chủ 13 và các lượt cài đặt qua máy chủ lưu trữ với 2 Trung tâm dữ liệu, bạn cần yêu cầu 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ữ “ảo” thường bị quá tải trong lĩnh vực CNTT, do đó, có thể áp dụng qua Apigee Edge để triển khai đám mây riêng tư và máy chủ ảo. Để làm rõ, có hai cách sử dụng chính của thuật ngữ "ảo":

  • Máy ảo (VM): Không bắt buộc, nhưng một số trường hợp 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ủ ảo (cũng như máy chủ thực tế) có thể có giao diện mạng và tường lửa.
  • Máy chủ ảo: Điểm cuối trên web, tương tự như máy chủ ảo Apache.

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

Tương tự như ví dụ đặt tên, một máy chủ vật lý "A" có thể chạy hai máy ảo tên là "VM1" và "VM12". Giả sử VM1 hiển thị một giao diện Ethernet ảo (có tên là eth0) bên trong máy ảo và được gán địa chỉ IP 111.111.111.111 bởi máy ảo Ethernet hoặc mạng hiển thị một máy chủ DHCP; và sau đó giả định một giao diện VM2 được gán cho một giao diện ảo

Có thể chúng ta đang chạy một bộ định tuyến Apigee trong mỗi 2 máy ảo. Các bộ định tuyến sẽ 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ị 3 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:443test.mycompany.com:80.

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

Hệ điều hành của máy chủ thực tế có thể có tường lửa mạng; nếu có, tường lửa đó phải được định cấu hình để vượt qua giới hạn lưu lượng truy cập TCP cho các cổng hiển thị trên giao diện được ảo hoá (111.111.111.111:{80, 443}111.111.111.222:80). Ngoài ra, mỗi 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, đồng thời các cổng này cũng phải cho phép lưu lượng truy cập cổng 80443 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 các lệnh gọi API đến nhiều proxy API 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ụ: một đường dẫn cơ sở có thể được xác định là http://api.mycompany.com:80/ và một đường dẫn khác được xác định là http://api.mycompany.com:80/salesdemo.

Trong trường hợp này, bạn cần có trình cân bằng tải hoặc giám đốc lưu lượng truy cập theo hình thức nào đó để 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 API. Từ ví dụ trên, bạn có thể triển khai hai API, mycompanytestmycompany cho tổ chức mycompany-org với máy chủ ảo có bí danh của máy chủ là api.mycompany.com và cổng được đặt là 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 phải 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ở là /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 bằng URL cơ sở là /, thì người dùng có thể truy cập vào API bằng URL http://api.mycompany.com:80/.

Yêu cầu về cổng ở cạnh

Nhu cầu quản lý tường lửa không chỉ dừng lại ở máy chủ ảo; cả tường lửa của máy chủ ảo và máy chủ thực tế đều phải cho phép lưu lượng truy cập qua các cổng mà các thành phần yêu cầu giao tiếp với nhau.

Hình ảnh sau đây cho thấy các yêu cầu về cổng của từng thành phần Edge:

Lưu ý trên sơ đồ này:

  • *Cổng 8082 trên Bộ xử lý thông báo chỉ phải được mở cho 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 thì cấu hình mặc định, cổng 8082 vẫn phải được 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 yêu cầu 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, đồng thời phải được mở trên thành phần để Máy chủ quản lý truy cập.
  • Các thành phần sau 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, Bộ xử lý thông báo, Giao diện người dùng, Postgres và Qpid.
  • Bộ xử lý thư 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, tất cả họ phải có khả năng 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 đối với 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, tất cả các Đơn vị xử lý thông báo trong mọi Trung tâm dữ liệu đều phải truy cập được 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 để mọi Bộ xử lý thông báo 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ư.
  • 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ó khả năng 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 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.
  • Máy chủ quản lý yêu cầu quyền truy cập vào cổng JMX trên các nút Cassandra.
  • Quyền truy cập vào cổng JMX có thể được định cấu hình để 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, những kết nối này 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 2 nút Postgres để sử dụng tính năng sao chép chính-chế độ chờ, bạn phải mở cổng 22 trên mỗi nút để truy cập ssh. Bạn có thể tuỳ ý mở 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 truy cập, 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 có hỗ trợ TLS, mã 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 hiển thị 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 cùng với bất kỳ cổng nào khác mà bạn sử dụng cho máy chủ ảo

Máy chủ quản lý

8080

Cổng cho 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, Bộ xử lý thông báo, Giao diện người dùng, Postgres và Qpid.

1099

Cổng JMX

4526

Dành cho bộ nhớ đệm được phân phối và các lệnh gọi quản lý

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ư

8998

Cổng bộ xử lý thư để giao tiếp từ Bộ định tuyến

8082

Cổng quản lý mặc định của 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 Bộ định tuyến và Bộ xử lý thư sẽ được Bộ định tuyến sử dụng để kiểm tra tình trạng trên Bộ xử lý thông báo.

1101

Cổng JMX

4528

Đối với bộ nhớ đệm phân phối và lệnh gọi quản lý giữa Bộ xử lý thông báo và để 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 được mở trên thành phần để Máy chủ quản lý truy cập.

4527

Dành cho bộ nhớ đệm được phân phối và các lệnh gọi quản lý

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.

Để biết 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ể truy cập được Bộ định tuyến, yêu cầu sẽ trả về HTTP 200.

59001

Cổng được dùng để kiểm thử việc 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. Xem phần Kiểm thử bản cài đặt để biết thêm thông tin về cổng 59001.

ZooKeeper

2181

Được sử dụng trong các thành phần khác như Máy chủ quản lý, Bộ định tuyến, Bộ xử lý thư, v.v.

2888, 3888

Được sử dụng nội bộ trong nội bộ để truyền cho cụm ZooKeeper (còn 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 khác ở Edge truy cập.

7199

Cổng JMX. Phải đang mở để Máy chủ quản lý truy cập.

Qpid

5672

Dùng để giao tiếp 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 được mở trên thành phần để Máy chủ quản lý truy cập.

1102

Cổng JMX

4529

Dành cho bộ nhớ đệm được phân phối và các lệnh gọi quản lý

Postgres

5432

Dùng để liên lạc từ Máy chủ Qpid/Management đến Postgres

8084

Cổng quản lý mặc định trên máy chủ Postgres và phải được mở trên thành phần để Máy chủ quản lý truy cập.

1103

Cổng JMX

4530

Dành cho bộ nhớ đệm được phân phối và các lệnh gọi quản lý

22

Nếu định cấu hình 2 nút Postgres để sử dụng tính năng sao chép chính-chế độ chờ, 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 mà các yêu cầu trang SmartDocs được gửi.

Bảng tiếp theo cho thấy các cổng tương tự, được liệt kê dưới dạng 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

<cổng máy chủ ảo#>

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 máy chủ ảo. Cổng 80 và 443 thường được sử dụng nhất; Bộ định tuyến thông báo có thể chấm dứt 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 Bộ định tuyến thư

1099 đến 1103

Quản lý JMX

Ứng dụng JMX

Máy chủ quản lý (1099)

Bộ xử lý thư (1101)

Máy chủ Qpid (1102)

Máy chủ Postgres (1103)

2181

Giao tiếp với khách hàng của người quản lý vườn thú

Máy chủ quản lý

Bộ định tuyến

Bộ xử lý thư

Máy chủ Qpid

Máy chủ Postgres

Người trông coi động vật

2888 và 3888

Quản lý nút phát hiện người nuôi thú

Người trông coi động vật

Người trông coi động vật

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 dành cho các lệnh gọi quản lý và bộ nhớ đệm được phân phối, cũng như để 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 được phân phối giữa 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

Bộ xử lý thư

Bộ xử lý thư

4529 Cổng quản lý RPC dành cho các lệnh gọi quản lý và bộ nhớ đệm được phân phối Máy chủ quản lý Máy chủ Qpid
4530 Cổng quản lý RPC dành cho các lệnh gọi quản lý và bộ nhớ đệm được phân phối 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 số 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ư

Máy chủ Qpid

7000

Giao tiếp liên nút Cassandra

Cassandra

Nút Cassandra khác

7199

Quản lý JMX. Phải được 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 để trực tiếp gửi yêu cầu API 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 phụ thuộc vào cấu hình nhưng phải được 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ư (8082)

Máy chủ Qpid (8083)

Máy chủ Postgres (8084)

8.998

Hoạt động giao tiếp giữa Bộ định tuyến và Trình xử lý thư

Bộ định tuyến

Bộ xử lý thư

9.000

Cổng giao diện người dùng quản lý Edge mặc định

Trình duyệt

Quản lý máy chủ giao diện người dùng

9042

Truyền tải gốc CQL

Bộ định tuyến

Bộ xử lý thư

Máy chủ quản lý

Cassandra

9160

Khách hàng tiết kiệm Cassandra

Bộ định tuyến

Bộ xử lý thư

Máy chủ quản lý

Cassandra

10389

Cổng LDAP

Máy chủ quản lý

OpenLDAP

15.999

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
59.001 Cổng được tiện ích apigee-validate sử dụng để kiểm thử việc cài đặt Edge apigee-validate Bộ định tuyến

59.002

Cổng bộ định tuyến nơi gửi yêu cầu trang SmartDocs

SmartDocs

Bộ định tuyến

Trình xử lý thông báo sẽ luôn mở một nhóm kết nối chuyên dụng để Cassandra được định cấu hình là 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 các kết nối với Cassandra.

Để ngăn chặn tình huống này, Apigee khuyên máy chủ Cassandra, trình xử lý thông báo và bộ định tuyến không nên đặt trong cùng một mạng con để không có tường lửa 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à trình xử lý thông báo, đồng thời đặt thời gian chờ tcp ở trạng thái rảnh, thì 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. Giá trị này phải thấp hơn thời gian chờ tcp của tường lửa ở trạng thái rảnh. Chế độ cài đặt này sẽ giữ 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 mọi Trình xử lý tin nhắn, hãy chỉnh sửa /<inst_root>/apigee/customer/application/message-processor.properties để thêm thuộc tính sau. Hãy tạo tệp nếu chưa có.
    conf_system_cassandra.maxconnecttimeinmillis=-1
  3. Khởi động lại Bộ xử lý thư:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-message-processor khởi động lại
  4. Trên mọi Bộ định tuyến, hãy chỉnh sửa /<inst_root>/apigee/customer/application/router.properties để thêm thuộc tính sau. Hãy tạo tệp nếu chưa có.
    conf_system_cassandra.maxconnecttimeinmillis=-1
  5. Khởi động lại Bộ định tuyến:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-router khởi động lại

Nếu bạn cài đặt cấu hình 12 máy chủ lưu trữ được phân cụm với 2 Trung tâm dữ liệu, hãy đảm bảo rằng các nút trong 2 Trung tâm dữ liệu đó có thể giao tiếp qua các cổng như sau:

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 Cổng. Các thành phần này sử dụng các cổng như trong hình dưới đây:

Lưu ý trên sơ đồ này:

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

Bảng dưới đây hiển thị 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ả

Cổng API BaaS

9000

Cổng cho giao diện người dùng API BaaS

Ngăn xếp API BaaS

8080

Cổng nơi nhận yêu cầu API

2551

Cổng giao tiếp giữa tất cả các nút Ngăn xếp. Tất cả các nút Ngăn xếp khác trong bộ lọc dữ liệu phải truy cập được.

Nếu bạn có nhiều trung tâm dữ liệu, cổng này phải truy cập được từ tất cả các nút Ngăn xếp trong mọi Trung tâm dữ liệu.

ElasticSearch

9.200 đến 9.400

Để giao tiếp với ngăn xếp API BaaS và giao tiếp giữa các nút ElasticSearch

Cấp phép

Mỗi lần cài đặt Edge, bạn cần có một tệp giấy phép riêng 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ý, chẳng hạn như /tmp/License.txt.

Trình cài đặt sẽ sao chép tệp giấy phép vào /<inst_root>/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 Trình xử lý tin nhắn (MP) được cho 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: /<inst_root>/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ợ API để biết thông tin chi tiết về quá trình 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 tại đây.