Cài đặt Apigee SSO để có khả năng truy cập cao

Bạn cài đặt nhiều thực thể của tính năng Đăng nhập một lần (SSO) của Apigee để có khả năng đáp ứng cao trong 2 tình huống:

  • Trong một môi trường trung tâm dữ liệu duy nhất, hãy cài đặt 2 thực thể SSO của Apigee để tạo một môi trường có khả năng đáp ứng cao, nghĩa là hệ thống sẽ tiếp tục hoạt động nếu một trong các mô-đun SSO của Apigee gặp sự cố.
  • Trong môi trường có hai trung tâm dữ liệu, hãy cài đặt tính năng SSO của Apigee trong cả hai trung tâm dữ liệu để hệ thống tiếp tục hoạt động nếu một trong các mô-đun SSO của Apigee bị trục trặc.

Cài đặt 2 mô-đun SSO của Apigee trong cùng một trung tâm dữ liệu

Bạn triển khai hai thực thể của tính năng Đăng nhập một lần (SSO) của Apigee trên nhiều nút, trong một trung tâm dữ liệu duy nhất để hỗ trợ khả năng đáp ứng cao. Trong tình huống này:

  • Cả hai phiên bản của quá trình đăng nhập một lần (SSO) của Apigee phải được kết nối với cùng một máy chủ Postgres. Bạn nên sử dụng một máy chủ Postgres chuyên dụng cho tính năng SSO của Apigee và không phải là máy chủ Postgres mà bạn đã cài đặt bằng Edge.
  • Cả hai thực thể của tính năng SSO của Apigee đều phải sử dụng cùng một cặp khoá JWT theo chỉ định của các thuộc tính SSO_JWT_SIGNING_KEY_FILEPATHSSO_JWT_VERIFICATION_KEY_FILEPATH trong tệp cấu hình. Vui lòng xem bài viết Cài đặt và định cấu hình tính năng Đăng nhập một lần (SSO) của Apigee để biết thêm thông tin về cách thiết lập các thuộc tính này.
  • Bạn cần có một trình cân bằng tải trước hai thực thể của tính năng Đăng nhập một lần (SSO) của Apigee:
    • Trình cân bằng tải phải hỗ trợ khả năng gắn bó với cookie do ứng dụng tạo và cookie của phiên phải được đặt tên là JSESSIONID.
    • Định cấu hình trình cân bằng tải để tiến hành kiểm tra tình trạng của TCP hoặc HTTP cho tính năng SSO của Apigee. Đối với TCP, hãy sử dụng URL của tính năng SSO của Apigee:
      http_or_https://edge_sso_IP_DNS:9099

      Chỉ định cổng do tính năng SSO của Apigee đã thiết lập. Cổng 9099 là mặc định.

      Đối với HTTP, hãy thêm /healthz:

      http_or_https://edge_sso_IP_DNS:9099/healthz
    • Một số chế độ cài đặt của trình cân bằng tải phụ thuộc vào việc bạn có bật HTTPS trên tính năng SSO của Apigee hay không. Hãy xem các phần sau để biết thêm thông tin.

Quyền truy cập qua HTTP vào quá trình đăng nhập một lần (SSO) của Apigee

Nếu bạn đang dùng quyền truy cập vào giao thức HTTP để đăng nhập một lần (SSO) của Apigee, hãy định cấu hình trình cân bằng tải để:

  • Sử dụng chế độ HTTP để kết nối với dịch vụ Đăng nhập một lần (SSO) của Apigee.
  • Nghe trên cùng một cổng với tính năng SSO của Apigee.

    Theo mặc định, tính năng SSO của Apigee sẽ theo dõi các yêu cầu HTTP trên cổng 9099. Bạn có thể tuỳ ý dùng SSO_TOMCAT_PORT để đặt cổng SSO của Apigee. Nếu bạn đã dùng SSO_TOMCAT_PORT để thay đổi cổng SSO của Apigee từ phiên bản mặc định, hãy đảm bảo rằng trình cân bằng tải lắng nghe trên cổng đó.

Ví dụ: trên mỗi phiên bản SSO của Apigee, bạn đặt cổng là 9033 bằng cách thêm đoạn mã sau vào tệp cấu hình:

SSO_TOMCAT_PORT=9033

Sau đó, bạn định cấu hình trình cân bằng tải để theo dõi trên cổng 9033 và chuyển tiếp các yêu cầu đến một thực thể SSO của Edge trên cổng 9033. URL công khai của tính năng Đăng nhập một lần (SSO) của Apigee trong trường hợp này là:

http://LB_DNS_NAME:9033

Quyền truy cập qua HTTPS vào quá trình đăng nhập một lần (SSO) của Apigee

Bạn có thể định cấu hình các phiên bản SSO của Apigee để dùng HTTPS. Trong trường hợp này, hãy làm theo các bước trong phần Định cấu hình tính năng SSO của Apigee để truy cập qua HTTPS. Trong quá trình bật HTTPS, bạn đặt SSO_TOMCAT_PROFILE trong tệp cấu hình SSO của Apigee như sau:

SSO_TOMCAT_PROFILE=SSL_TERMINATION

Bạn cũng có thể tuỳ ý đặt cổng mà Apigee SSO sử dụng để truy cập qua HTTPS:

SSO_TOMCAT_PORT=9443

Sau đó, hãy định cấu hình trình cân bằng tải để:

  • Sử dụng chế độ TCP, không phải chế độ HTTP, để kết nối với quá trình đăng nhập một lần (SSO) của Apigee.
  • Nghe trên cùng một cổng với tính năng SSO của Apigee do SSO_TOMCAT_PORT xác định.

Sau đó, bạn định cấu hình trình cân bằng tải để chuyển tiếp các yêu cầu đến một phiên bản SSO của Apigee trên cổng 9433. URL công khai của tính năng Đăng nhập một lần (SSO) của Apigee trong trường hợp này là:

https://LB_DNS_NAME:9443

Cài đặt tính năng SSO của Apigee trong nhiều trung tâm dữ liệu

Trong môi trường có nhiều trung tâm dữ liệu, bạn sẽ cài đặt một phiên bản SSO của Apigee trong mỗi trung tâm dữ liệu. Sau đó, một thực thể SSO của Apigee sẽ xử lý tất cả lưu lượng truy cập. Nếu phiên bản SSO của Apigee bị lỗi, bạn có thể chuyển sang phiên bản Apigee thứ hai của Apigee.

Trước khi cài đặt tính năng SSO của Apigee trong 2 trung tâm dữ liệu, bạn cần có:

  • Địa chỉ IP hoặc tên miền của máy chủ Postgres chính.

    Trong môi trường có nhiều trung tâm dữ liệu, bạn thường cài đặt một máy chủ Postgres trong mỗi trung tâm dữ liệu rồi định cấu hình các máy chủ này ở chế độ sao chép Chính-Dự phòng. Trong ví dụ này, trung tâm dữ liệu 1 chứa máy chủ Chính Postgres và trung tâm dữ liệu 2 chứa Chế độ chờ. Để biết thêm thông tin, hãy xem phần Thiết lập tính năng Sao chép dự phòng chính cho Postgres.

  • Một mục DNS duy nhất trỏ đến một phiên bản SSO của Apigee. Ví dụ: bạn tạo một mục DNS trong biểu mẫu bên dưới để trỏ đến phiên bản SSO của Apigee trong trung tâm dữ liệu 1:
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb
  • Cả hai thực thể của tính năng SSO của Apigee đều phải sử dụng cùng một cặp khoá JWT theo chỉ định của các thuộc tính SSO_JWT_SIGNING_KEY_FILEPATHSSO_JWT_VERIFICATION_KEY_FILEPATH trong tệp cấu hình. Vui lòng xem bài viết Cài đặt và định cấu hình tính năng Đăng nhập một lần (SSO) của Apigee để biết thêm thông tin về cách thiết lập các thuộc tính này.

Khi cài đặt tính năng SSO của Apigee trong mỗi trung tâm dữ liệu, bạn sẽ định cấu hình cả hai để sử dụng Postgres Master trong trung tâm dữ liệu 1:

## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432

Bạn cũng định cấu hình cả hai trung tâm dữ liệu để sử dụng mục DNS làm URL có thể truy cập công khai:

# Externally accessible URL of Apigee SSO
SSO_PUBLIC_URL_HOSTNAME=my-sso.domain.com
# Default port is 9099.
SSO_PUBLIC_URL_PORT=9099

Nếu quá trình đăng nhập một lần (SSO) của Apigee trong trung tâm dữ liệu 1 gặp sự cố, bạn có thể chuyển sang thực thể Apigee Apigee trong trung tâm dữ liệu 2:

  1. Chuyển đổi máy chủ chế độ chờ Postgres trong trung tâm dữ liệu 2 thành chính như mô tả trong phần Xử lý chuyển đổi dự phòng cơ sở dữ liệu PostgreSQL.
  2. Cập nhật bản ghi DNS để trỏ my-sso.domain.com đến phiên bản SSO của Apigee trong trung tâm dữ liệu 2:
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. Cập nhật tệp cấu hình cho tính năng SSO của Apigee trong trung tâm dữ liệu 2 để trỏ đến máy chủ Postgres Master mới trong trung tâm dữ liệu 2:
    ## Postgres configuration
    PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
  4. Khởi động lại quá trình đăng nhập một lần (SSO) của Apigee trong trung tâm dữ liệu 2 để cập nhật cấu hình của ứng dụng này:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart