คุณติดตั้ง Apigee SSO หลายอินสแตนซ์เพื่อความพร้อมใช้งานสูงใน 2 สถานการณ์ต่อไปนี้
- ในสภาพแวดล้อมศูนย์ข้อมูลเดียว ให้ติดตั้งอินสแตนซ์ Apigee SSO 2 รายการเพื่อสร้างสภาพแวดล้อมที่มีความพร้อมใช้งานสูง ซึ่งหมายความว่าระบบจะยังคงทำงานต่อไปหากโมดูล Apigee SSO รายการใดรายการหนึ่งหยุดทำงาน
- ในสภาพแวดล้อมที่มีศูนย์ข้อมูล 2 แห่ง ให้ติดตั้ง Apigee SSO ในศูนย์ข้อมูลทั้ง 2 แห่งเพื่อให้ระบบทำงานต่อไปได้หากโมดูล Apigee SSO โมดูลใดโมดูลหนึ่งหยุดทำงาน
ติดตั้งโมดูล Apigee SSO 2 โมดูลในศูนย์ข้อมูลเดียวกัน
คุณติดตั้งใช้งาน Apigee SSO 2 อินสแตนซ์ในโหนดที่ต่างกันในศูนย์ข้อมูลเดียวเพื่อรองรับความพร้อมใช้งานสูง ในสถานการณ์นี้จะมีผลดังต่อไปนี้
- อินสแตนซ์ทั้ง 2 รายการของ Apigee SSO ต้องเชื่อมต่อกับเซิร์ฟเวอร์ Postgres เดียวกัน Apigee ขอแนะนำให้ใช้เซิร์ฟเวอร์ Postgres เฉพาะสำหรับ Apigee SSO และไม่ใช่เซิร์ฟเวอร์ Postgres เดียวกันกับที่คุณติดตั้งด้วย Edge
- Apigee SSO ทั้ง 2 อินสแตนซ์ต้องใช้คู่คีย์ JWT เดียวกันตามที่ระบุไว้ในพร็อพเพอร์ตี้
SSO_JWT_SIGNING_KEY_FILEPATHและSSO_JWT_VERIFICATION_KEY_FILEPATHในไฟล์การกำหนดค่า ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าพร็อพเพอร์ตี้เหล่านี้ได้ที่หัวข้อติดตั้งและกำหนดค่า Apigee SSO - คุณต้องมีตัวจัดสรรภาระงานที่ด้านหน้าของอินสแตนซ์ Apigee SSO 2 รายการ ดังนี้
- ตัวจัดสรรภาระงานต้องรองรับความต่อเนื่องของคุกกี้ที่สร้างโดยแอปพลิเคชัน และคุกกี้เซสชันต้องมีชื่อว่า
JSESSIONID - กำหนดค่าตัวจัดสรรภาระงานเพื่อตรวจสอบประสิทธิภาพการทำงานของ TCP หรือ HTTP ใน Apigee SSO สำหรับ TCP ให้ใช้ URL ของ Apigee SSO ดังนี้
http_or_https://edge_sso_IP_DNS:9099
ระบุพอร์ตตามที่ Apigee SSO กำหนด โดยค่าเริ่มต้นคือพอร์ต 9099
สำหรับ HTTP ให้ใส่
/healthz:http_or_https://edge_sso_IP_DNS:9099/healthz
- การตั้งค่าตัวจัดสรรภาระงานบางอย่างจะขึ้นอยู่กับว่าคุณเปิดใช้ HTTPS ใน Apigee SSO หรือไม่ ดูข้อมูลเพิ่มเติมได้ในส่วนต่อไปนี้
- ตัวจัดสรรภาระงานต้องรองรับความต่อเนื่องของคุกกี้ที่สร้างโดยแอปพลิเคชัน และคุกกี้เซสชันต้องมีชื่อว่า
การเข้าถึง HTTP ไปยัง Apigee SSO
หากคุณใช้การเข้าถึง HTTP ไปยัง Apigee SSO ให้กำหนดค่าตัวจัดสรรภาระงานดังนี้
- ใช้โหมด HTTP เพื่อเชื่อมต่อกับ Apigee SSO
ฟังบนพอร์ตเดียวกับ Apigee SSO
โดยค่าเริ่มต้น Apigee SSO จะคอยตรวจหาคำขอ HTTP ในพอร์ต 9099 นอกจากนี้ คุณยังใช้
SSO_TOMCAT_PORTเพื่อตั้งค่าพอร์ต SSO ของ Apigee ได้ด้วย หากคุณใช้SSO_TOMCAT_PORTเพื่อเปลี่ยนพอร์ต Apigee SSO จากค่าเริ่มต้น ให้ตรวจสอบว่าตัวจัดสรรภาระงานฟังพอร์ตนั้นอยู่
ตัวอย่างเช่น ในอินสแตนซ์ Apigee SSO แต่ละรายการ คุณตั้งค่าพอร์ตเป็น 9033 โดยเพิ่มข้อมูลต่อไปนี้ลงในไฟล์การกำหนดค่า
SSO_TOMCAT_PORT=9033
จากนั้นคุณจะกำหนดค่าตัวจัดสรรภาระงานให้คอยฟังพอร์ต 9033 และส่งต่อคำขอไปยังอินสแตนซ์ Edge SSO ในพอร์ต 9033 URL สาธารณะของ Apigee SSO ในสถานการณ์นี้คือ
http://LB_DNS_NAME:9033
การเข้าถึง HTTPS ไปยัง Apigee SSO
คุณสามารถกำหนดค่าอินสแตนซ์ Apigee SSO ให้ใช้ HTTPS ได้ ในสถานการณ์นี้ ให้ทำตามขั้นตอนในหัวข้อกำหนดค่า Apigee SSO สำหรับการเข้าถึง HTTPS ในขั้นตอนการเปิดใช้ HTTPS คุณได้ตั้งค่า SSO_TOMCAT_PROFILE ในไฟล์การกำหนดค่า Apigee SSO ดังที่แสดงด้านล่าง
SSO_TOMCAT_PROFILE=SSL_TERMINATION
นอกจากนี้ คุณยังเลือกตั้งค่าพอร์ตที่ Apigee SSO ใช้สำหรับการเข้าถึง HTTPS ได้ด้วย โดยทำดังนี้
SSO_TOMCAT_PORT=9443
จากนั้นกำหนดค่าตัวจัดสรรภาระงานให้ทำดังนี้
- ใช้โหมด TCP ไม่ใช่โหมด HTTP เพื่อเชื่อมต่อกับ Apigee SSO
- ฟังในพอร์ตเดียวกันกับ Apigee SSO ตามที่กำหนดโดย
SSO_TOMCAT_PORT
จากนั้นกำหนดค่าตัวจัดสรรภาระงานเพื่อส่งต่อคำขอไปยังอินสแตนซ์ Apigee SSO ในพอร์ต 9433 URL สาธารณะของ Apigee SSO ในสถานการณ์นี้คือ
https://LB_DNS_NAME:9443
ติดตั้ง Apigee SSO ในศูนย์ข้อมูลหลายแห่ง
ในสภาพแวดล้อมที่มีศูนย์ข้อมูลหลายแห่ง คุณจะต้องติดตั้งอินสแตนซ์ Apigee SSO ในศูนย์ข้อมูลแต่ละแห่ง จากนั้นอินสแตนซ์ Apigee SSO รายการเดียวจะจัดการการเข้าชมทั้งหมด หากอินสแตนซ์ Apigee SSO นั้นหยุดทำงาน คุณจะเปลี่ยนไปใช้อินสแตนซ์ Apigee SSO รายการที่ 2 ได้
ก่อนติดตั้ง Apigee SSO ในศูนย์ข้อมูล 2 แห่ง คุณต้องมีสิ่งต่อไปนี้
ที่อยู่ IP หรือชื่อโดเมนของเซิร์ฟเวอร์ Postgres หลัก
ในสภาพแวดล้อมศูนย์ข้อมูลหลายแห่ง โดยทั่วไปคุณจะติดตั้งเซิร์ฟเวอร์ Postgres 1 เซิร์ฟเวอร์ในศูนย์ข้อมูลแต่ละแห่ง และกำหนดค่าในโหมดการจำลองแบบ Master-Standby ในตัวอย่างนี้ ศูนย์ข้อมูล 1 มีเซิร์ฟเวอร์ Postgres หลัก และศูนย์ข้อมูล 2 มีเซิร์ฟเวอร์สแตนด์บาย ดูข้อมูลเพิ่มเติมได้ที่ตั้งค่าการจำลองแบบ Master-Standby สำหรับ Postgres
- รายการ DNS รายการเดียวที่ชี้ไปยังอินสแตนซ์ SSO ของ Apigee 1 รายการ ตัวอย่างเช่น คุณสร้างรายการ DNS ในแบบฟอร์มด้านล่างที่ชี้ไปยังอินสแตนซ์ Apigee SSO ในศูนย์ข้อมูล 1 ดังนี้
my-sso.domain.com => apigee-sso-dc1-ip-or-lb
- Apigee SSO ทั้ง 2 อินสแตนซ์ต้องใช้คู่คีย์ JWT เดียวกันตามที่ระบุไว้ในพร็อพเพอร์ตี้
SSO_JWT_SIGNING_KEY_FILEPATHและSSO_JWT_VERIFICATION_KEY_FILEPATHในไฟล์การกำหนดค่า ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าพร็อพเพอร์ตี้เหล่านี้ได้ที่หัวข้อติดตั้งและกำหนดค่า Apigee SSO
เมื่อติดตั้ง Apigee SSO ในศูนย์ข้อมูลแต่ละแห่ง คุณจะกำหนดค่าทั้ง 2 รายการให้ใช้ Postgres Master ในศูนย์ข้อมูล 1 ดังนี้
## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432นอกจากนี้ คุณยังกำหนดค่าศูนย์ข้อมูลทั้ง 2 แห่งให้ใช้รายการ DNS เป็น URL ที่เข้าถึงได้แบบสาธารณะ ดังนี้
# Externally accessible URL of Apigee SSO SSO_PUBLIC_URL_HOSTNAME=my-sso.domain.com # Default port is 9099. SSO_PUBLIC_URL_PORT=9099
หาก Apigee SSO ในศูนย์ข้อมูล 1 ไม่ทำงาน คุณสามารถเปลี่ยนไปใช้อินสแตนซ์ Apigee SSO ในศูนย์ข้อมูล 2 ได้โดยทำดังนี้
- แปลงเซิร์ฟเวอร์ Postgres Standby ในศูนย์ข้อมูล 2 เป็นเซิร์ฟเวอร์หลักตามที่อธิบายไว้ในหัวข้อการจัดการเฟลโอเวอร์ของฐานข้อมูล PostgreSQL
- อัปเดตระเบียน DNS เพื่อชี้
my-sso.domain.comไปยังอินสแตนซ์ Apigee SSO ในศูนย์ข้อมูล 2 ดังนี้my-sso.domain.com => apigee-sso-dc2-ip-or-lb
- อัปเดตไฟล์การกำหนดค่าสำหรับ Apigee SSO ในศูนย์ข้อมูล 2 เพื่อชี้ไปยังเซิร์ฟเวอร์ Postgres Master ใหม่ในศูนย์ข้อมูล 2 โดยทำดังนี้
## Postgres configuration PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
- รีสตาร์ท Apigee SSO ในศูนย์ข้อมูล 2 เพื่ออัปเดตการกำหนดค่า โดยทำดังนี้
/opt/apigee/apigee-service/bin/apigee-service apigee-sso restart