ติดตั้ง SSO ของ Apigee เพื่อให้มีความพร้อมใช้งานสูง

คุณจะติดตั้ง Apigee SSO หลายอินสแตนซ์สำหรับความพร้อมใช้งานสูงได้ใน 2 สถานการณ์ ดังนี้

  • ในสภาพแวดล้อมของศูนย์ข้อมูลเดียว ให้ติดตั้งอินสแตนซ์ Apigee SSO 2 อินสแตนซ์เพื่อสร้างสภาพแวดล้อมความพร้อมใช้งานสูง ซึ่งหมายความว่าระบบจะทำงานต่อไปหากโมดูลใดโมดูลหนึ่งของ Apigee SSO หยุดทำงาน
  • ในสภาพแวดล้อมที่มีศูนย์ข้อมูล 2 แห่ง ให้ติดตั้ง Apigee SSO ในศูนย์ข้อมูลทั้ง 2 แห่ง เพื่อให้ระบบทำงานต่อไปหากโมดูลใดโมดูลหนึ่งของ Apigee SSO ไม่ทำงาน

ติดตั้งโมดูล Apigee SSO 2 โมดูลในศูนย์ข้อมูลเดียวกัน

คุณทำให้ Apigee SSO ของ Apigee 2 อินสแตนซ์ใช้งานได้บนโหนดต่างๆ ในศูนย์ข้อมูลเดียวเพื่อรองรับความพร้อมใช้งานสูง ในสถานการณ์นี้จะมีผลดังต่อไปนี้

  • อินสแตนซ์ของ Apigee SSO ทั้ง 2 อินสแตนซ์ต้องเชื่อมต่อกับเซิร์ฟเวอร์ Postgres เดียวกัน Apigee แนะนำให้ใช้เซิร์ฟเวอร์ Postgres เฉพาะสำหรับ Apigee SSO ไม่ใช่เซิร์ฟเวอร์ Postgres เดียวกันกับที่คุณติดตั้งด้วย Edge
  • Apigee SSO ทั้ง 2 อินสแตนซ์ต้องใช้คู่คีย์ JWT เดียวกันกับที่ระบุโดยพร็อพเพอร์ตี้ SSO_JWT_SIGNING_KEY_FILEPATH และ SSO_JWT_VERIFICATION_KEY_FILEPATH ในไฟล์การกำหนดค่า โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าพร็อพเพอร์ตี้เหล่านี้ที่ติดตั้งและกำหนดค่า SSO ของ Apigee
  • คุณต้องมีตัวจัดสรรภาระงานด้านหน้า Apigee SSO ทั้ง 2 อินสแตนซ์ ได้แก่
    • ตัวจัดสรรภาระงานต้องรองรับความสามารถในการดึงดูดคุกกี้ที่สร้างโดยแอปพลิเคชัน และคุกกี้ของเซสชันต้องมีชื่อว่า JSESSIONID
    • กำหนดค่าตัวจัดสรรภาระงานเพื่อตรวจสอบประสิทธิภาพการทำงานของ TCP หรือ HTTP กับ SSO ของ Apigee สำหรับ 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 หรือไม่ ดูข้อมูลเพิ่มเติมได้ในส่วนต่อไปนี้

การเข้าถึง Apigee SSO ของ HTTP

หากคุณใช้การเข้าถึง HTTP กับ SSO ของ Apigee ให้กําหนดค่าตัวจัดสรรภาระงานดังนี้

  • ใช้โหมด HTTP เพื่อเชื่อมต่อกับ SSO ของ Apigee
  • ฟังผ่านพอร์ตเดียวกับ SSO ของ Apigee

    โดยค่าเริ่มต้น Apigee SSO จะตรวจจับคำขอ HTTP บนพอร์ต 9099 หรือคุณจะใช้ SSO_TOMCAT_PORT เพื่อตั้งค่าพอร์ต SSO ของ Apigee ก็ได้ หากคุณใช้ SSO_TOMCAT_PORT เพื่อเปลี่ยนพอร์ต SSO ของ Apigee จากค่าเริ่มต้น โปรดตรวจสอบว่าตัวจัดสรรภาระงานจะรับการฟังบนพอร์ตนั้น

ตัวอย่างเช่น ในอินสแตนซ์ Apigee SSO แต่ละรายการ คุณตั้งค่าพอร์ตเป็น 9033 ได้โดยเพิ่มข้อมูลต่อไปนี้ในไฟล์การกำหนดค่า

SSO_TOMCAT_PORT=9033

จากนั้นให้คุณกำหนดค่าตัวจัดสรรภาระงานให้รับคำสั่งบนพอร์ต 9033 และส่งต่อคำขอไปยังอินสแตนซ์ Edge SSO บนพอร์ต 9033 URL สาธารณะของ Apigee SSO ในสถานการณ์นี้คือ

http://LB_DNS_NAME:9033

การเข้าถึง HTTPS ไปยัง SSO ของ Apigee

คุณกำหนดค่าอินสแตนซ์ SSO ของ Apigee ได้เพื่อใช้ HTTPS ในสถานการณ์นี้ ให้ทำตามขั้นตอนในกำหนดค่า Apigee SSO สำหรับการเข้าถึง HTTPS ในขั้นตอนการเปิดใช้ HTTPS คุณสามารถตั้งค่า SSO_TOMCAT_PROFILE ในไฟล์การกำหนดค่า Apigee SSO ตามที่แสดงด้านล่าง

SSO_TOMCAT_PROFILE=SSL_TERMINATION

นอกจากนี้คุณยังตั้งค่าพอร์ตที่ Apigee SSO จะใช้สำหรับการเข้าถึง HTTPS ได้อีกด้วย โดยทำดังนี้

SSO_TOMCAT_PORT=9443

จากนั้นกำหนดค่าตัวจัดสรรภาระงานเป็น

  • ใช้โหมด TCP เพื่อเชื่อมต่อกับ SSO ของ Apigee ไม่ใช่โหมด HTTP
  • ฟังบนพอร์ตเดียวกับ SSO ของ Apigee ตามที่กำหนดโดย SSO_TOMCAT_PORT

จากนั้นให้คุณกำหนดค่าตัวจัดสรรภาระงานให้ส่งต่อคำขอไปยังอินสแตนซ์ SSO ของ Apigee ในพอร์ต 9433 URL สาธารณะของ Apigee SSO ในสถานการณ์นี้คือ

https://LB_DNS_NAME:9443

ติดตั้ง SSO ของ Apigee ในศูนย์ข้อมูลหลายแห่ง

ในสภาพแวดล้อมของศูนย์ข้อมูลหลายแห่ง คุณติดตั้งอินสแตนซ์ Apigee SSO ในศูนย์ข้อมูลแต่ละแห่งได้ จากนั้นอินสแตนซ์ Apigee SSO 1 รายการจะจัดการการรับส่งข้อมูลทั้งหมด หากอินสแตนซ์ SSO ของ Apigee ไม่ทำงาน คุณเปลี่ยนไปใช้อินสแตนซ์ SSO ของ Apigee ที่สองได้

ก่อนที่จะติดตั้ง SSO ของ Apigee ในศูนย์ข้อมูล 2 แห่ง คุณต้องมีสิ่งต่อไปนี้

  • ที่อยู่ IP หรือชื่อโดเมนของเซิร์ฟเวอร์ Master Postgres

    ในสภาพแวดล้อมของศูนย์ข้อมูลหลายแห่ง คุณมักจะติดตั้งเซิร์ฟเวอร์ Postgres 1 เครื่องในศูนย์ข้อมูลแต่ละแห่ง และกำหนดค่าเซิร์ฟเวอร์ในโหมดการจำลองในโหมด Master-Standby สำหรับตัวอย่างนี้ ศูนย์ข้อมูล 1 มีเซิร์ฟเวอร์ Master Postgres และศูนย์ข้อมูล 2 ประกอบด้วย Standby ดูข้อมูลเพิ่มเติมได้ที่ตั้งค่าการจำลองในโหมด Master-Standby สำหรับ Postgres

  • รายการ DNS รายการเดียวที่ชี้ไปยังอินสแตนซ์ Apigee SSO 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 ในไฟล์การกำหนดค่า โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าพร็อพเพอร์ตี้เหล่านี้ที่ติดตั้งและกำหนดค่า SSO ของ Apigee

เมื่อติดตั้ง SSO ของ Apigee ในศูนย์ข้อมูลแต่ละแห่ง คุณกำหนดค่าทั้ง 2 แพลตฟอร์มให้ใช้ Postgres Master ในศูนย์ข้อมูล 1 ได้ดังนี้

## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432

นอกจากนี้คุณยังกำหนดค่าศูนย์ข้อมูลทั้งสองให้ใช้รายการ 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 ได้โดยทำดังนี้

  1. แปลงเซิร์ฟเวอร์ Postgres Standby ในศูนย์ข้อมูล 2 เป็นเซิร์ฟเวอร์หลักตามที่อธิบายไว้ในการจัดการเฟลโอเวอร์ของฐานข้อมูล PostgreSQL
  2. อัปเดตระเบียน DNS ให้ชี้ my-sso.domain.com ไปยังอินสแตนซ์ SSO ของ Apigee ในศูนย์ข้อมูล 2:
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. อัปเดตไฟล์การกำหนดค่าสำหรับ Apigee SSO ในศูนย์ข้อมูล 2 ให้ชี้ไปที่เซิร์ฟเวอร์ Postgres Master ใหม่ในศูนย์ข้อมูล 2 ดังนี้
    ## Postgres configuration
    PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
  4. รีสตาร์ท SSO ของ Apigee ในศูนย์ข้อมูล 2 เพื่ออัปเดตการกำหนดค่าดังนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart