Bạn cài đặt nhiều phiên bản Apigee SSO để có tính sẵn sàng cao trong 2 trường hợp:
- Trong môi trường một trung tâm dữ liệu, hãy cài đặt hai phiên bản SSO của Apigee để tạo môi trường có độ sẵn sàng cao, tức là hệ thống sẽ tiếp tục hoạt động nếu một trong các mô-đun SSO ngừng hoạt động.
- Trong môi trường có hai trung tâm dữ liệu, hãy cài đặt SSO Apigee trong cả hai trung tâm dữ liệu để hệ thống tiếp tục hoạt động nếu SSO Apigee trong một trung tâm dữ liệu ngừng hoạt động.
Cài đặt 2 mô-đun Apigee SSO trong cùng một trung tâm dữ liệu
Bạn triển khai hai phiên bản của SSO Apigee, trên các nút apigee-openldap khác nhau, trong một trung tâm dữ liệu duy nhất để hỗ trợ
tính sẵn sàng cao. Trong tình huống này:
- Cả hai phiên bản của Apigee SSO đều phải được kết nối với cùng một máy chủ Postgres. Apigee đề xuất sử dụng một máy chủ Postgres chuyên dụng cho Apigee SSO chứ không phải cùng một máy chủ Postgres mà bạn đã cài đặt bằng Edge. Cả hai phiên bản đều phải dùng chung cơ sở dữ liệu
apigee_dexđể duy trì trạng thái. - Không cần phân phối khoá JWT theo cách thủ công: Không giống như thành phần UAA cũ, SSO hiện đại của Apigee lưu trữ và đồng bộ hoá Bộ khoá web JSON (JWKS) và trạng thái OAuth2 theo cách gốc trong cơ sở dữ liệu PostgreSQL dùng chung. Bạn không cần sao chép khoá ký theo cách thủ công trên các nút.
- Đồng bộ hoá thông tin xác thực cho OpenLDAP nội bộ: Nếu bạn đang sử dụng OpenLDAP nội bộ mặc định, thì SSO của Apigee sẽ sử dụng một tài khoản dịch vụ chỉ có thể đọc chuyên dụng (
cn=sso-reader). Đối với HA (Nút 2), quản trị viên phải đặt cùng mộtSSO_READER_PWtrong/opt/silent.conftrên cả hai nút hoặc sao chép/opt/apigee/data/apigee-openldap/sso-reader.keytừ Nút 1 sang Nút 2 trước khi chạysetup-ssotrên Nút 2.Để sao chép tệp khoá theo cách thủ công, hãy thực thi các lệnh sau trên Nút 2:
scp node1_ip:/opt/apigee/data/apigee-openldap/sso-reader.key /opt/apigee/data/apigee-openldap/sso-reader.key chown apigee:apigee /opt/apigee/data/apigee-openldap/sso-reader.key chmod 600 /opt/apigee/data/apigee-openldap/sso-reader.key
- Bạn cần có một bộ cân bằng tải trước hai phiên bản của Apigee SSO:
- Định cấu hình trình cân bằng tải để thực hiện quy trình kiểm tra tình trạng TCP hoặc HTTP trên SSO. Đối với HTTP, hãy thêm
/healthz:http_or_https://edge_sso_IP_DNS:9099/healthz
Chỉ định cổng do Apigee SSO đặt. Cổng 9099 là cổng mặc định.
- Một số chế độ cài đặt trình cân bằng tải phụ thuộc vào việc bạn có bật HTTPS trên Apigee SSO hay không. Hãy xem các phần sau để biết thêm thông tin.
- Định cấu hình trình cân bằng tải để thực hiện quy trình kiểm tra tình trạng TCP hoặc HTTP trên SSO. Đối với HTTP, hãy thêm
Quyền truy cập HTTP vào Apigee SSO
Nếu bạn đang sử dụng quyền truy cập HTTP vào dịch vụ 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ụ SSO của Apigee.
- Nghe trên cùng một cổng với Apigee SSO.
Theo mặc định, Apigee SSO sẽ nhận các yêu cầu HTTP trên cổng 9099. Bạn có thể sử dụng SSO_PUBLIC_URL_PORT trong tệp /opt/silent.conf để đặt cổng (không bắt buộc). Nếu bạn đã sử dụng SSO_PUBLIC_URL_PORT để thay đổi cổng mặc định, hãy đảm bảo rằng trình cân bằng tải đang theo dõi cổng đó.
Ví dụ: trên mỗi phiên bản SSO, bạn đặt cổng thành 9033 bằng cách thêm nội dung sau vào tệp cấu hình:
SSO_PUBLIC_URL_PORT=9033
Sau đó, bạn định cấu hình trình cân bằng tải để nghe trên cổng 9033 và chuyển tiếp các yêu cầu đến các thực thể SSO trên cổng 9033. URL công khai của Tổ chức phát hành Apigee SSO trong trường hợp này là:
http://LB_DNS_NAME:9033
Quyền truy cập HTTPS vào Apigee SSO
Bạn có thể định cấu hình HA bằng HTTPS bằng một trong hai chế độ sau. Trong cả hai trường hợp, hãy làm theo các bước thiết lập chi tiết trong phần Định cấu hình SSO của Apigee để truy cập HTTPS.
Chế độ 1: Trình cân bằng tải chấm dứt TLS (SSL_PROXY)
Nếu trình cân bằng tải chấm dứt kết nối TLS, thì trình cân bằng tải đó phải chuyển tiếp lưu lượng HTTP thuần tuý đến các phiên bản SSO của Apigee.
- Đặt
SSO_PUBLIC_URL_SCHEME=httpsvàSSO_PUBLIC_URL_PORT=443(hoặc cổng HTTPS công khai của trình cân bằng tải) trong tệp/opt/silent.conf. - Định cấu hình trình cân bằng tải để sử dụng chế độ HTTP nhằm kết nối với các phiên bản SSO của Apigee phụ trợ.
- Định cấu hình trình cân bằng tải để chuyển tiếp các yêu cầu đến các phiên bản SSO của Apigee trên cổng liên kết HTTP cục bộ (mặc định:
9099).
Chế độ 2: SSO Apigee kết thúc TLS (SSL_TERMINATION)
Nếu bạn muốn các phiên bản SSO của Apigee chấm dứt trực tiếp các kết nối TLS, thì trình cân bằng tải phải chuyển lưu lượng truy cập đã mã hoá đến các phiên bản đó.
- Đặt
SSO_PUBLIC_URL_SCHEME=httpsvàSSO_PUBLIC_URL_PORT=9443(hoặc cổng bảo mật bạn chọn) trong tệp/opt/silent.conf. - Đị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 phần phụ trợ, cho phép SSO của Apigee chấm dứt TLS.
- Định cấu hình bộ cân bằng tải để xử lý trên cùng một cổng như Apigee SSO và chuyển tiếp các yêu cầu đến các phiên bản Apigee SSO trên cổng bảo mật của chúng (ví dụ:
9443).
Cài đặt dịch vụ đăng nhập một lần (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 Apigee SSO (thông qua apigee-openldap) trong mỗi trung tâm dữ liệu.
Một phiên bản SSO xử lý tất cả lưu lượng truy cập. Nếu phiên bản đó ngừng hoạt động, bạn có thể
chuyển lưu lượng truy cập sang phiên bản SSO thứ hai.
Trước khi cài đặt Apigee SSO trong hai trung tâm dữ liệu, bạn cần có những thông tin sau:
- Địa chỉ IP hoặc tên miền của máy chủ Postgres chính.
Trong môi trường 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 và định cấu hình các máy chủ đó ở chế độ sao chép Master-Standby. Trong ví dụ này, trung tâm dữ liệu 1 chứa máy chủ Postgres Chính và trung tâm dữ liệu 2 chứa máy chủ Dự phòng. Để biết thêm thông tin, hãy xem bài viết Thiết lập tính năng sao chép chính-dự phòng cho Postgres.
- Một mục DNS duy nhất trỏ đến một phiên bản SSO. Ví dụ: bạn tạo một mục DNS
theo biểu mẫu sau, trỏ đến phiên bản SSO trong trung tâm dữ liệu 1:
my-sso.domain.com => apigee-sso-dc1-ip-or-lb
- Thông tin đăng nhập của người đọc OpenLDAP đã đồng bộ hoá. Nếu đang sử dụng OpenLDAP nội bộ, bạn phải đảm bảo cả hai trung tâm dữ liệu đều sử dụng cùng một
SSO_READER_PWhoặc dùng chung một tệpsso-reader.keyđể ngăn chặn tình trạng mất đồng bộ hoá cụm trong quá trình thiết lập.
Khi định cấu hình SSO của Apigee trong mỗi trung tâm dữ liệu, bạn sẽ trỏ cả hai cấu hình đến Postgres Master trong trung tâm dữ liệu 1:
## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432Bạn cũng phải định cấu hình cả hai trung tâm dữ liệu để sử dụng mục nhập DNS dùng chung làm URL của tổ chức phát hành có thể truy cập công khai. Vì tập lệnh setup-sso tự động tạo URL của nhà phát hành và thêm cổng, nên bạn phải đặt URL chính xác ngay trong /opt/apigee/customer/application/openldap.properties thay vì /opt/silent.conf để ngăn việc thêm cổng nếu không cần thiết:
# Externally accessible URL of the Apigee SSO
etc_sso_config_issuer_url=https://my-sso.domain.comXử lý trường hợp dự phòng SSO
Nếu phiên bản SSO của Apigee (hoặc Postgres Master) trong trung tâm dữ liệu 1 ngừng hoạt động, bạn có thể chuyển sang phiên bản SSO trong trung tâm dữ liệu 2 mà không làm mất các phiên OAuth đang hoạt động:
- Chuyển đổi máy chủ dự phòng Postgres trong trung tâm dữ liệu 2 thành máy chủ chính như mô tả trong phần Xử lý quy trình chuyển đổi dự phòng cơ sở dữ liệu PostgreSQL.
- Cập nhật bản ghi DNS để trỏ
my-sso.domain.comđến phiên bản SSO trong trung tâm dữ liệu 2:my-sso.domain.com => apigee-sso-dc2-ip-or-lb
- Cập nhật tệp
/opt/silent.confcho 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 - Định cấu hình lại và khởi động lại SSO của Apigee trong trung tâm dữ liệu 2 để cập nhật kết nối của SSO theo cách gốc:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf